TL;DR
Incoming Webhooksで発行されるWebhook URLから
"https://hooks.slack.com/services/" 以降をtokenとして与える。
notifications:
slack:
enabled: true
botName: Spinnaker-Bot
token: AAAAAAAAA/BBBBBBBBB/abcdefghijklmnopqrstuvwx
※ Spinnakerの管理にHalyardを使っている前提
※ Spinnakerのバージョンは1.9.3
今回解決したい問題
Spinnakerで実施されるパイプラインの状況をSlackへ通知したい。
また,その際にCustom bot userを作らず,Incoming Webhooksで簡単に開始したい。(これで十分!!)
解決方法
基本に忠実に公式ドキュメントを見るが,Incoming Webhooksについては言及なし。
本家のGithubを確認すると下記のPRで確かにIncoming Webhooksはサポートされている
feat(slack): Support slack incoming webhooks #199
結局コードを追ってみるとココでTokenがIncoming Webhooksの形かどうか確認している。よって,Incoming Webhooksで発行されるWebhook URLの "https://hooks.slack.com/services/" 以降をtokenとして与えるのが正解。
コード上で裏付けするとUnitTestでちゃんと試験している。
確認結果
期待通りに動作しているかはログにも出力される。
StackdriverからEchoコンポーネントのログを確認するとこんな感じ。
2018-09-20 16:34:54.000 PDT
2018-09-20 23:34:54.520 INFO 1 --- [ main] c.n.spinnaker.echo.config.SlackConfig : Using Slack incoming webhooks: true.