ことの始まり
取締役会長との 1on1 を Youtube みてたらすっぽかしてしまったため、再発防止策として Garoon の予定を Slack に通知してくれる bot を即席で作りました。
見てた Youtube は GrooveX の Lovot というロボットの発表ライブです。かわいい。
- ガルーン Rest API をいじる
- Slack に簡単な通知を送る
の勉強にもなるので遊びたい人はどうぞ。
注意事項
- 雑実装なので、1分に1回 Garoon の API を叩きます。(結果のキャッシュなどしていません)
- うまく動かず会議に遅刻しても責任はとりません!
リポジトリ
インストール
git clone git@github.com:halhorn/cybozu_slack_bot.git
cd cybozu_slack_bot
cp -fr secret.sample secret
# 編集内容は後で説明
emacs secret/cybozu.yml
emacs secret/slack.yml
cybozu.yml
sub_domain: hogehoge
id: harumitsu.nobuta
sub_domain は自社の Garoon の https://*****.cybozu.com/
の **** 部分です。
ID は書き換えてください。
パスワードは後ほど環境変数で指定します。
slack.yml
Webhook を作ってください。作ったら Webhook URL をコピーしましょう。
webhook: https://hooks.slack.com/services/***********
user_name: hal_nobuta
channel: hal_work
- webhook のところにコピーした URL を貼り付けます。
- user_name は slack の自分の名前から @ を除いたもの
- channel は通知したいチャンネル名から # を除いたもの
実行
# スペースから始まるコマンドは history に残さないようにする
setopt hist_ignore_space
export CYBOZU_PASS=my_cybozu_password
# とりあえず動かして様子を見る場合 python -m bot.run
nohup python -m bot.run &
export CYBOZU_PASS=''