ちなみに

火曜日の空は僕を押しつぶした。

Heroku へのデプロイが完了したことを Hubot に通知する

前回の記事でデプロイが完了したときの通知をどうするかということを書いてたら、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

以下のような感じで通知される。遊び心を身につけたい。

f:id:Sixeight:20150225200718p:plain