⚙️
【Slack】Webhook URLを取得する
他のアプリから Slack へメッセージを投稿したい。(俗にいう ChatOps)
調べてみると、Incoming Webhookを作成したらできるそう
今回はWebhook を作成し、curl コマンドでメッセージを投稿できるようにしていきます!
応用がいろいろ効くので本記事を参考にやってみてください!
前提
Slack に登録済みの方を想定しています。
登録されていない方はこちらからご登録ください。
Webhook の作成
↑ にアクセスします
Webhook を作成したいチャンネルを選択します
すでにあるチャンネルを選択する場合はチャンネルを選択をクリックします
クリック後、「アイテムはありません」と表示されたときは それもクリックするとチャンネルが表示されます
新しくチャンネルを作成する場合は「新しいチャンネルを作成する」をクリックします
チャンネル名(例として example-webhookとします)を入力して「次へ」
パブリックかプライベートか選択します。今回はパブリックとしておきます
「作成」をクリックします
チャンネルを選択したら「Incoming Webhook インテグレーションの追加」をクリック
Webhook の作成が完了したら詳細画面に遷移します
そこに Webhook URL や curl コマンドの例が載っています
チャンネルやメッセージを投稿するアカウント名やアイコンなども変更できます
メッセージを投稿してみる
先ほど確認した curl コマンドの例をうってみます
// チャンネル名とWebhook URLは自分のものに書き換えて下さい
curl -X POST \
--data-urlencode "payload={\
\"channel\": \"#example-webhook\",\
\"username\": \"webhookbot\",\
\"text\": \"これは webhookbot という名のボットから #example-webhook に投稿されています。\",\
\"icon_emoji\": \":ghost:\"\
}" https://hooks.slack.com/services/××××××××××××××××××××××××××××××××
例のままだとエラーになるのでチャンネル名を先ほど選択したチャンネルに変更してください
成功すると下記のようなメッセージが投稿されます
Webhook URL を確認したくなったら。。。
↑ に作成したWebhook の一覧が見れるのでそこから設定編集画面に行けば確認できます
ペンのマークを押せば設定編集画面に遷移できます
参考記事
Discussion