事前準備
- slackのwebhook用URLを取得しておく。
リリース情報を流す
- git logを所定の方法で取得し、その結果をそのままslack通知として流している
- 当日の午前10時以降にマージされたPRのタイトルを出力している
- 前日にマージされたものは出ないので運用でカバー
- 現状、マージした日にリリースするので基本的に大丈夫
-
<!channel>
で@channel
のメンションになる
git checkout master
git pull origin master
LOG=`git log --merges --since=10am --pretty=format:"* %b"`
JSON="{\"text\": \"<!channel>\n【リリース情報】\n${LOG}\"}"
curl -X POST \
https://hooks.slack.com/services/pass/to/webhook \
-H 'content-type: application/json'
-d "${JSON}"
やってよかったこと
- マージ・リリース後の全体周知作業を今まで手作業で行っていた
- リリースが成功した瞬間にこのコマンドが実行されるようにしたため、リリース後の作業が一つ減った。
- 日に2〜3回リリースすることもあるため、そのたびに周知する手間がなくなった。
- 即周知ができるようになったので、リリースしたけど周知は明日、ということがなくなった。
- 自動化したことで、「(そのまま使われるので)PRのタイトルにはちゃんとしたものをつける」というフローに自然と寄せやすくなった