Hubot x ChatOps #1 (2014-11-22)

9890843c055488de704d85ef1ae1b893?s=47 bouzuya
November 22, 2014
790

Hubot x ChatOps #1 (2014-11-22)

2014-11-22 の Hubot x ChatOps #1 ( http://connpass.com/event/9370/ ) での発表資料の PDF 版です。

HTML 版は次の URL (暫定)
https://nameless-crag-8923.herokuapp.com/

テーマは以下の 3 点。

1. 1 日 1 Hubot スクリプト
2. Hubot にできることできないこと
3. ローカル Hubot

9890843c055488de704d85ef1ae1b893?s=128

bouzuya

November 22, 2014
Tweet

Transcript

  1. HubotxChatOps#1 bouzuya 0

  2. ぼくのこと

  3. こんにちは

  4. ぼく、ぼうずや

  5. bouzuya twitter.com/bouzuya github.com/bouzuya

  6. Q. 名前おぼえられますか? むり 身体的特徴で覚えましょう

  7. おぼえかた→ぼうず (Hubot|神戸|FaithCreates Inc.)のぼうず ぼうずだから bouzuya

  8. はなすこと

  9. 1. スクリプト たくさん書いた その結果…… ―― 1 日 1 Hubot スクリプト

    2. だれだって できないことが あるんだよ ―― Hubot にできることできないこと 3. もういいよ あきらめたって いいんだよ ―― ローカル Hubot
  10. 1. スクリプト たくさん書いた その結果……

  11. ぼくが呼ばれた理由

  12. 「Hubot の Plugin をたくさん作られてい る @bouzuya さんが兵庫なので,兵庫, 大阪辺りで開催できないかな,と思って います」 (一部、省略)

    開催地、まさかの bouzuya 基準。
  13. 理由 → たくさんの Hubot スクリプトを書いたから (質は問わない)

  14. たくさん = 130 個 (2014-11-22 時点) すごい……のか……?

  15. 参考: 2014-11-17 時点 旧公式の github/hubot-scripts : 462 現公式の hubot-scripts/* :

    105
  16. たとえば、どんなのを書いたのか……

  17. hubot-sakagemc hubot-lgtm hubot-mstr hubot-pr hubot-backlog-report hubot-marimo hubot-taka hubot-twada

  18. 画像とか

  19. hubot-sakagemc @sakagemc (元同僚) が運営する peaklife.jp よ り画像を返す

  20. hubot-lgtm lgtm.in/g から画像を返す (余談: 弊社では「よいかと」もよく使われます)

  21. hubot-mstr mstr.in から画像を返す (hubot-lgtm の例が悪いせいで両方飯テロぽい)

  22. まじめなの

  23. hubot-pr プルリクエストをマージする (デプロイのトリ ガー)

  24. hubot-backlog-report (加工が面倒なので画像なし) その日、完了にしたチケットの一覧を返す

  25. 単純応答

  26. hubot-marimo b o u z u y a > h

    u b o t m a r i m o h u b o t > • b o u z u y a > h u b o t m a r i m o 5 h u b o t > • • • • • まりも。
  27. hubot-taka b o u z u y a > h

    u b o t 一体何者なの? h u b o t > 鷹に決まってんじゃねえか 自称、鷹。(CV:若本規夫)
  28. hubot-twada b o u z u y a > テスト書いてない

    h u b o t > テスト書いてないとかお前それ @ t _ w a d a の前でも同じこと言えんの? b o u z u y a > テスト書きたくない h u b o t > テスト書きたくないとかお前それ @ t _ w a d a の前でも同じこと言えんの? 励まし。
  29. ……正直、もう何をつくったか把握してな い。

  30. なぜ、つくったのか?

  31. 『 1 日 1 Hubot スクリプト』

  32. ルール 1 日 1 つ Hubot スクリプトをつくる

  33. きっかけ 『 1 日 1 創』jig.jp福野さん 量は質に転じる? ゴミの山でもラベルをつければ…… ぼくにもできる? 何をつくるのか?→手ごろなもの

    Hubot ス クリプト
  34. やってわかった 5 つのこと

  35. 1. 確実に増える実績。 「草生える」

  36. 2. はやくつくる工夫。 bouzuya/hubot-script-boilerplate 「テンプレート化」

  37. 3. 玉石混交。 「まりもって、なんだよ……」

  38. 4. アイデアが出ない。 「漫画連載とかつらいんだろうな(現実逃避)」

  39. 5. 忙殺。 「今日のことで手いっぱい」 「バージョンアップとかできるわけない」 →何を目的とするのか?続けて量で質 を……?偶然できた何かを発展させる?

  40. 1. のまとめ bouzuya は『 1 日 1 Hubot スクリプト』でた くさん

    Hubot スクリプトをつくったぼうず 『1 日 1 Hubot スクリプト』は一長一短、学 ぶことは多い。
  41. ここまでで 10 分 (予定) 。

  42. 2. だれだって できないことが あるんだよ

  43. Q. Hubot スクリプトどれくらいつくってます か?

  44. 「Hubot を知ってる前提で募集してま す」(一部、省略) 「知ってる」って何だ? つくってないやつが来るわけない みんな現実逃避するレベルでつくってる (確 信)

  45. つくるうちに思うこと。あらためて共有した い。

  46. Hubot にできること Hubot にできないこと

  47. Hubot にできること →だいたいできる。

  48. Node.js でできること npm パッケージの利用 API 呼び出し 画像・グラフ生成 任意のプロセスの実行

  49. もうちょっと、現実的に……

  50. チャットメッセージをコマンド化 チャットの機能を拡張 個人のコマンドを、チャットのコマンドに コマンド結果など、チームの情報共有 → たぶん ChatOps

  51. Hubot にできないこと → UI 改善 ( チャットに依存 )

  52. たとえば、select-box のような選択肢をだす → CLI にも劣る

  53. やめるべきだと思うこと

  54. 複雑な Hubot スクリプト できるからやる? やめといたほうが…… → API 呼び出しなど、トリガーに留めるべき

  55. 理由 1. その複雑さに対して何のサポートもない 2. 別アプリにして、それを呼ぶ方がシンプル あくまで私見

  56. ここまで来て、すこし考える Hubot がすることはチャットの部分的な機能 拡張

  57. ChatOps に Hubot (BOT) は必要か? → たぶん、必要ない → チャットがその機能を持てば? (特定チャットに依存)

  58. そもそもチャットの機能弱くね?メッセージ の流量への対応がいまいちだよね。通知と会 話との混在による混沌。そこに新たなコマン ドが!h u b o t p u

    g b o m b リアルタイムなやり とりを回避するためにチャットを入れたが、 実際にはリアルタイムでしか機能しなくなる レベルでログ流れていくよね。mention なし には追えないチャンネルとか笑える。機能と して、流れていく情報とストックしておく情 報とをうまく扱えないチャット多くね?スタ ー?あれで大丈夫なの?あと、チャンネル。 部屋。何あれ? IRC から進歩してないじゃ ん。もっと情報整理の手段ないの?部屋って
  59. 長くなるので割愛

  60. 2. のまとめ Hubot はだいたいのことはできる Hubot は UI 改善できない、チャットに依存 する Hubot

    はチャットを部分的に良くする できるからやる? BOT でやる必要がある? ChatOps に Hubot は要るのか? そもそもチャットってどうなの?
  61. 話が雑に。既に時間切れ (予想)

  62. 3. もういいよ あきらめたって いいんだよ

  63. Q. Hubot を導入したい(けどできてない)?

  64. 想像するよね…… みんなでチャットして、 そこに Hubot が居て、 デプロイとかもできて……

  65. 何その、 その幸せな家庭とゴールデンレトリーバーな 幻想

  66. もういいよ あきらめたって いいんだよ

  67. 現実みろよ

  68. 現実はどうせ ひとりで HipChat ひとりで Typetalk ひとりで Slack

  69. ひとりチャットで検証→大満足 そんな Qiita 記事もう要らないんで。

  70. 好きなことで、生きていく のは勝手だけど、 そのチャットにはお前と Hubot しかいないぜ

  71. やめよう

  72. もうチャット使うのやめよう

  73. そのためにぼくはつくった

  74. ローカル Hubot

  75. おひとり様 Hubot

  76. hubot-b アダプター bouzuya/hubot-b HTTP でメッセージを待ち受ける JSON API (≒簡易チャット内蔵)

  77. atom-hubot-b パッケージ bouzuya/atom-hubot-b Atom Editor から Hubot (with hubot-b) と通信

  78. ローカルで、 エディタから Hubot 。

  79. None
  80. None
  81. いいじゃん、これで

  82. Hubot = Your Company BOT それ誰が決めたんだよ (公式です) Hubot = Your

    BOT 個人のための Hubot 。 オレのための、私のための Hubot 。
  83. あきらめよう ChatOps

  84. あんなのどうせバズワード

  85. 野良 Hubot で何が悪い! 野良 Hubot で何が悪い!

  86. キミだけの Hubot を つくろう!!!!!

  87. おしまい

  88. 補足 1 日 1 Hubot スクリプトのせいで hubot-b / atom-hubot-b は機能がありません。

    PR 歓迎