概要
本記事では slack の incoming webhook を使用してメッセージを送信する方法を紹介します。
webhook の有効化
-
https://api.slack.com/apps/ から slack app を作成または選択して、Incoming Webhook を有効化します。
-
チャンネルごとまたは利用目的ごとに webhook URL を作成します。

webhook URL へ POST
Webhook 有効化における注意点

info
メッセージ送信に Bot Token と Incoming Webhook は併用できません
Bot Token を使用して API アクセスする際の権限スコープはBot Token Scopes
で管理でき、メッセージを POST するにはchat:write
の Oath Scope が必要ですが、スコープを追加しても Incoming Webhook を有効化している場合は Bot Token でのメッセージ送信ができません

$ curl -X POST 'https://slack.com/api/chat.postMessage' \
-d 'token=xoxb-**********-**********-**********' \
-d 'channel=#channel' \
-d 'text=bot notification'
$ {"ok":false,"error":"missing_scope","needed":"chat:write:bot","provided":"incoming-webhook"}
まとめ
本記事では slack の incoming webhook を使用してメッセージを送信する方法を紹介しました。
メッセージ送信に Bot Token と Incoming Webhook の併用は現状できないため注意が必要です。
また、フリープランだと slack app のインテグレーション上限が 10 個に設定されているので、一つの slack app の中でチャンネルごとに webhook URL を作成するなどしてアプリの数を減らす必要があります。
参考

備考
Hakky ではエンジニアを募集中です!まずは話してみたいなどでも構いませんので、ぜひお気軽に採用ページからお問い合わせくださいませ。
