前回の記事でデプロイが完了したときの通知をどうするかということを書いてたら、id:hxmasaki くんからコメントをもらった。
> デプロイが始まるのはいいのだけれど、終わったことも報告して欲しい。
https://addons.heroku.com/deployhooks#http
を使うのはどうでしょうか。
この方法で実装してみた。
Deploy Hooks の登録
以下のようにしてフックを登録する。--url
が必要なので注意。
$ heroku addons:add deployhooks:http --url=https://example.com/hubot/deploy-done
see also: https://devcenter.heroku.com/articles/deploy-hooks
Hubot スクリプトで受け取る
ふつうに HTTP Listener で受け取る。
robot.router.post "/hubot/deploy-done", (req, res) -> robot.messageRoom "general", "[deploy] done - #{req.body.app}(#{req.body.release})" res.send "ok"
ヘルプによると以下の形で送られてくるみたいなので受け取る。
app=secure-woodland-9775&user=example%40example.com&url=http%3A%2F%2Fsecure-woodland-9775.herokuapp.com&head=4f20bdd&head_long=4f20bdd&prev_head=&git_log=%20%20*%20Michael%20Friis%3A%20add%20bar&release=v7
以下のような感じで通知される。遊び心を身につけたい。