【要約】Slack WorkflowのWebhookで作るシンプルなSlack通知 [Qiita_Trend] | Summary by TechDistill
> Source: Qiita_Trend
Execute Primary Source
// Problem
開発者が外部サービスからSlackへ通知を行いたい際、Slack Appの作成・管理が大きな負担となっている。従来のIncoming WebhookがSlack Appベースへの移行を推奨していることが、運用の複雑化を招いている。
- ・Slack App作成に伴う権限設定や管理者承認の手間。
- ・単一の通知目的のためにAppを運用する管理コスト。
// Approach
開発者は、Slack Appを構築する代わりにWorkflow BuilderのWebhookトリガーを利用する手法を採用する。これにより、Appの管理を介さずに、URLへのPOSTのみで通知を実現できる。
- ・Workflow Builderで「Webhookから」トリガーを作成し、変数を定義する。
- ・「チャンネルへメッセージを送信」ステップで、受け取った変数をメッセージに割り当てる。
- ・発行されたWebhook URLに対し、
curl等を用いて{"text":"..."}形式のJSONをPOSTする。
// Result
開発者は、この手法を用いることで、小規模な通知機能を極めて迅速に実装できる。バッチ処理や運用スクリプトからの通知において、開発・運用のオーバーヘッドが最小化される。
- ・Slack Appの作成・承認プロセスを完全にスキップできる。
- ・チーム内や個人レベルでの簡易的な自動化が容易になる。
Senior Engineer Insight
> 開発コストと運用のバランスを考慮した、極めて現実的な選択肢である。ただし、セキュリティ面ではWebhook URLの漏洩が即、不正な投稿に繋がる。そのため、シークレット管理の徹底が不可欠だ。また、複雑なペイロードや動的な投稿先制御が必要な場合は、迷わずSlack Appを選択すべきである。