slack apiの「Create New App」から、「Webhookでslackにメッセージを送る」Slack appを作るやり方の備忘録【非推奨じゃないやつ / Incoming Webhook】

slack apiの「Create New App」から、「Webhookでslackにメッセージを送る」Slack appを作るやり方の備忘録【非推奨じゃないやつ / Incoming Webhook】

ポイント

  • 「Incoming Webhook」というアプリをワークスペースに追加する方法ではありません。
    • この方法は現在非推奨で将来的に削除されることも示唆されている。
  • 本記事での方法はslack apiのページのYour AppsCreate New AppでAppを作成し、そのAppの設定項目の`Incoming Webhooks`を使用する方法です。(現在はこちらが推奨されている)

本編

「Webhookでメッセージをチャンネルにポストするやつ」を作る場合、slack app directoryで「Incoming Webhook」というアプリ(「Incoming Webhook」で検索すれば出てくる)を使うのが、それまでスタンダードだったようですが、「Incoming Webhook」アプリのページを見ると、「これはレガシーな方法だからSlack appsを使ってね」と書かれております。

2024-02-11_1.webp
2024-02-11_2.webp
2024-02-11_3.webp

このSlack appsの表記はリンクになっているのでクリックしてみると「slack api」のページに遷移します。
2024-02-11_4.webp

Webhookでメッセージを送信できるAppを作る

というわけで、Your appsをクリックしてその先でCreate New AppボタンをクリックしてWebhookでメッセージを送信できるAppを作ってみます。
2024-02-11_5.webp

モーダルが表示されるのでForm scratchを選択して次へ
2024-02-11_6.webp

次にApp Nameを入力します。そして使用するワークスペースを選択します。
2024-02-11_7.webp

Appが作成され、Appの設定ページが表示されます。
2024-02-11_8.webp

左ナビメニューにあるIncoming Webhooksをクリックします。
そして、ラジオボタンをオンにします。
2024-02-11_9.webp

オンにするとWebhookのためのURLを管理する欄が表示されるので、Add New Webhook to Workspaceをクリックします。
2024-02-11_10.webp

Webhookでメッセージをポストしたいチャンネルを選択します。
2024-02-11_11.webp

Webhook URLが生成されます。これでWebhookでメッセージを送れるようになりました。
2024-02-11_12.webp

Webhookでメッセージをポストしてみる

サンプルのcurlコマンドのURL部分だけ生成したものに置き換えて実行してみます。

curl -X POST -H 'Content-type: application/json' --data '{"text":"Hello, World!"}' https://hooks.slack.com/services/XXXXX/XXXXX/XXXXX

invalid_payloadと言われた…

--dataの部分が良くなかったらしい。
--data '{\"text\":\"Hello, World!\"}'のように"をエスケープしたら送信できた。
以下が成功した書き方。

curl -X POST -H 'Content-type: application/json'  --data '{\"text\":\"Hello, World!\"}'  https://hooks.slack.com/services/XXXXX/XXXXX/XXXXX

2024-02-11_13.webp

できた!

以上!

Share this post