Slide 1

Slide 1 text

Configurable Slack bot firestarterのつかいかた @juntaki

Slide 2

Slide 2 text

Slackでいろいろ実行したいがbotつくるのは面倒 Bot やりたいことは、だいたい 単なるPOSTだけ SlackのAPI / Bot frameworkを調査 Docker化して、デプロイまわりを・・・ POST “do something”

Slide 3

Slide 3 text

juntaki/firestarter POST /something firestarter Configurable slack bot with simple Web UI https://github.com/juntaki/firestarter “do something” Regexp URL template ^do (.*)$ http://jenkins/{{index .matched 1}} ^build (.*)$ http://gitlab/{{index .matched 1}}

Slide 4

Slide 4 text

システム構成 firestarter(bot) Real Time Messaging Interactive messages firestarter(UI) config.json 社内 API nginx POST 社外 社内

Slide 5

Slide 5 text

firestarterの仕組み 1. channel名 && regexpでマッチ 2. (選択肢があれば) メニューを出して選択 3. (確認が必要なら)確認メニューを出して選択 4. 設定されたURLへPOSTする POSTのURLとBodyはtext/template、入力は下記 ● regexpのマッチ結果(配列) ● メニューの選択(文字列)

Slide 6

Slide 6 text

設定方法 発火条件 応答 POSTリクエスト

Slide 7

Slide 7 text

firestarterでできること

Slide 8

Slide 8 text

ふつうのBot “deploy app” と書いたら、appブランチのDeployをはじめる

Slide 9

Slide 9 text

Interactive Message ブランチ名typoするので、”deploy” で選択肢を出してほしい ※ブランチ一覧は事前にAPIで登録する

Slide 10

Slide 10 text

Interactive Message + 確認 選択した後に、確認でワンクッション置きたい

Slide 11

Slide 11 text

つかってみて https://github.com/juntaki/firestarter