Hubot x ChatOps #2

9890843c055488de704d85ef1ae1b893?s=47 bouzuya
August 22, 2015

Hubot x ChatOps #2

2015-08-22 の Hubot x ChatOps #2 ( http://hubot-chatops.connpass.com/event/17902/ ) での発表資料の PDF 版です。

HTML 版は次の URL (暫定)
https://mighty-hollows-4452.herokuapp.com/

テーマは単機能 Hubot 。

9890843c055488de704d85ef1ae1b893?s=128

bouzuya

August 22, 2015
Tweet

Transcript

  1. H u b o t x C h a t

    O p s # 2 bouzuya 0
  2. ぼくのこと

  3. b o u z u y a twitter.com/bouzuya github.com/bouzuya

  4. おぼえかた ( 神戸|FaithCreates Inc.|RALLY|Hubot) の bouzuya 「 ぼうず」 だから bouzuya

  5. はなすこと

  6. 1. ふりかえる 2. シンプルに 3. いろいろ

  7. 1 . ふりかえる

  8. 前回の発表 『 』 Hubot x ChatOps #1 (2014-11-22) https://speakerdeck.com/bouzuya/hubot-x-chatops-number-1-2014-11-22

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

  10. そんなのもあったね ( 懐古)

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

  12. 結果 発表時点: 130 個 終了時点: 171 個

  13. がんばった

  14. 1 日 1 Hubot スクリプトのアー カイブ hspd-app.herokuapp.com

  15. Q. で、 いまは?

  16. A. つくってない

  17. 数じゃないんだよ! 数じゃ ( 言い訳)

  18. Hubot 自体も更新されなかったし ( 言い訳)

  19. 結論: 話題がない ( 絶望)

  20. 20 分もしゃべれないよ……

  21. 業務で普通に使っています チケットの操作 Pull Request のマー ジ 本番サー バー を含めたデプロイ 日報の生成

    → 質問は受け付けます
  22. 最近は ひとつの機能 (Hubot スクリプト) の Hubot をつくることが多い

  23. 『 単機能 Hubot』

  24. まとめると…… 1 日 1 Hubot スクリプト ( 懐古) この場で話すことがない (

    言い訳)
  25. ここまでで 5 分 ( 予定)

  26. 2 . シンプルに

  27. Q. こんな人みたことありませんか?

  28. 「 Hubot が育ってきた :+1: 」

  29. Q. こんな人みたことありませんか?

  30. 「 うちのはこんな機能もある ( ドヤァ)」

  31. 楽しそうですね

  32. ぼくの疑問

  33. Hubot 育てる = Hubot スクリプトを増やす ? 多機能な Hubot = すごい?

  34. そうとも言い切れない

  35. たちむかいたい 単機能 Hubot で

  36. 単機能 Hubot のメリットは?

  37. Q. こんな Hubot みたことありませんか?

  38. あなた「 あのコマンドなんだっけ?」

  39. @ h u b o t h e l p

  40. ヘルプの全件表示が地獄化

  41. Q. こんな Hubot みたことありませんか?

  42. あなた「 監視結果をグラフで見たいな」

  43. @ h u b o t d a t a

    d o g g r a p h c o n f i g a d d s u s h i s y s t e m . l o a d . 1 { * }
  44. コマンドが異常に長い

  45. Q. こんな Hubot みたことありませんか?

  46. Hubot「 マー ジされました」 Hubot「 チケットが登録されたでござる」 Hubot「 お昼の時間やで!」 Hubot「 画像を取ってきたよ」 Hubot「

    テスト書いてないとかお前それ @t_wada の前でも同じこと言えんの?」
  47. 口調が統一されていない

  48. 楽しそうですね ( 皮肉)

  49. 原因

  50. コマンド( 機能) が多い

  51. コマンドが多い ↓ コマンド名を忘れる & ヘルプが地獄 衝突回避のためコマンドが長い コマンド間の整合性が取れなくなる

  52. だから単機能

  53. 単機能 Hubot のメリット コマンド数を少なくできる コマンド名を短くできる コマンド間の応答を統一できる

  54. 例: FaithCreates Inc. の Meowbot

  55. 社内の音楽再生 (meowziq) を操作する機能 のみ = 単機能 Hubot

  56. Meowbot の場合

  57. @ m e o w b o t h e

    l p
  58. 現実的な量のヘルプ

  59. @ m e o w b o t s t

    a t u s
  60. コマンド名が短くても曖昧にならない

  61. マンメンミ! ( ナイス)

  62. 単機能 Hubot 向けのテクニック

  63. 衝突回避部分の省略オプションをつける 他のコマンドがなければ省略できる 例: @ h u b o t [

    m e o w z i q ] p l a y H U B O T _ M E O W Z I Q _ M E O W B O T 単機能 Hubot に限らず有効 p r e f i x = i f c o n f i g . m e o w b o t ' ' e l s e ' m e o w z i q ' p a t t e r n = n e w R e g E x p " # { p r e f i x } p l a y " r o b o t . r e s p o n d p a t t e r n , ( r e s ) - >
  64. 別パッケー ジにしなくていい…… かも BOT 固有でスクリプトの再利用が不要なら s r c / s

    c r i p t s や s c r i p t s に配置する hubot-meowziq はそこまではしていない
  65. 口調を統一 BOT になりきる ( 適当)

  66. 参考 bouzuya/hubot-meowziq https://github.com/bouzuya/hubot-meowziq

  67. まとめると Hubot は多機能にしなくてもいい Hubot を単機能にするのもいい 単機能 Hubot に最適化しよう

  68. ここまでで 12 分

  69. 3 . いろいろ

  70. 半分くらい尺があまったので雑多な話

  71. 挙がりそうな質問を先につぶす

  72. Q. @ h u b o t h e l

    p < q u e r y > でしぼれば? A. まあ、 そうですよね
  73. Q. BOT が増えすぎないですか? A. 実際には数個しかつくらないと思う 部屋 ( チャンネル) のヌシになると思う BOT

    管理 BOT をつくればいい ( 適当)
  74. ホストするの大変じゃないですか? 大変 気づかぬうちに落ちている 監視つければいいけど面倒

  75. Q. そもそも単機能のほうが多くないですか? A. ( この展開も) ありえる 皆さんどれくらい Hubot スクリプトを追加し てますかね?

  76. まだ 5 分くらい尺が余ってそうなので 「 あるある」 を挙げる

  77. Hubot の読みかたが分からない 公式の回答で「 ヒュー ボット」 だよ! よ そのへん考慮しているのかカタカナだよ! Qiita にも書いた

    http://qiita.com/bouzuya/items/cb1102a906ae5d47b5f8
  78. CoffeeScript がつらい JavaScript でも動くから好きな AltJS で bouzuya のはほとんど JavaScript だよ

    CoffeeScript で書いてコンパイル Hubot の CoffeeScript のバー ジョンが 1.6.3 なので Ruby なら Lita / Ruboty とか もう自作でいいんじゃないかな
  79. Yeoman (y o h u b o t ) が(

    要る| 動かない) よ Advent Clendar 時点で既に…… 別になくてもつくれるよ シェルスクリプトでもいけるよ よ Qiita にも書いた http://qiita.com/bouzuya/items/3346c2e8acba73bcfe64
  80. brain が消える 仕様 ありすぎて困る brain を信用すべきでない hubot-auth の権限が消し飛ぶのが最低 brain 代替

    package 待ち ( 他力本願)
  81. ひとりで Hubot スクリプトを書いている ぼくに教えてほしい

  82. プレゼンよりスプラトゥー ンが優先される ぼくだけですか? ( 帰ってフェスランク上げたい)

  83. おしまい