目的:Droneが自動テストしてくれていることを極力忘れつつも、バグを仕込んだときには肩を叩いてほしい
DroneのWebUIをいちいち見ているのではCLIでテストするのとそう変わりない
→ Slack通知プラグインを使おう
→ 結局は通知先のチャンネルを確認しないと意味がない
ということで、失敗時にSlack上でmentionしてもらえるように設定します。メッセージ中の author 表示部に @
が付くイメージです。
公式ドキュメント に custom message template についての説明があるので、これを参考に以下のように template:
を設定してみました。
pipeline:
test:
# ...
slack:
image: plugins/slack
channel: drone
secrets: [ slack_webhook ]
when:
status: [ success, failure ]
template: |
*{{build.status}}* <{{build.link}}|{{repo.owner}}/{{repo.name}}#{{build.number}}> ({{build.branch}} {{truncate build.commit 8}}) by {{#success build.status}}{{build.author}}{{else}}<@{{build.author}}>{{/success}}
<@{{build.author}}>
という箇所でmentionを飛ばしていますが、この設定では commit author がSlack上での自分のアカウント名になるようにする必要があります。それができない場合は、特定のアカウント名をハードコーディングするか <!everyone>
としてチャンネル全体に通知してしまいましょう。
とても快適になりました