はじめに
GASとSlackを連携して、botでお知らせをする機能を作成するため、
Incoming Webhook について学んだので備忘録として設定方法をまとめます。
Slackで Incoming Webhook を始めたいと思っている方の手助けになればと思います。
ターゲット
(前提)
Slackにてワークスペース、チャンネルを作成済みであること
- Slackを普段使用している方
- Incoming Webhook を触ってみたい方
Incoming Webhook とは
Incoming Webhook は、外部ソースからの情報を簡単にワークスペースと共有する方法です。
- 選択したチャンネルにデータを送信する
- Webhook メッセージの書式を設定してチャンネルの他のメッセージよりも目立たせる
- メッセージテキストとその他のオプションを含むJSONペイロードのHTTPリクエストを送信できる
(公式サイトより引用)
設定手順
主な手順は以下の通りで進めていきます。
1. Slackアプリを作成する
2. 「Activate Incoming Webhooks」をオンにする
3. アプリ投稿先のチャンネルを選択し、「許可する」をクリックする
4. Slackにメッセージを投稿する
1. Slackアプリを作成する
Slack APIの画面から「Create New App」ボタンをクリックする。
表示されたモーダルウィンドウにて「From scrach」を選択する。
次に表示されたモーダルウィンドウにて、以下を入力して「Create App」ボタンをクリックする。
App Name:アプリ名を入力(ここでは、Sample Appとしています)
Development Slack Workspace:ワークスペースを選択
2. 「Activate Incoming Webhooks」をオンにする
1 にてSlackアプリを作成すると、作成したアプリ詳細画面が開くので、
右上の「Incoming Webhooks」を選択する。
「Activate Incoming Webhooks」のスイッチコントロールを Off
→ On
に変更する。
変更すると非表示になっていた画面が表示されるので、
スクロールして「Add New Webhook to Work space」をボタンをクリックする。
3. アプリ投稿先のチャンネルを選択し、「許可する」をクリックする
2 にてボタンをクリックすると、
投稿先のチャンネルを選択するモーダルウィンドウが表示されるので、
プルダウンから任意のチャンネルを選択し、「許可する」ボタンをクリックする。
Slackアプリの設定はこれで終わりです。
4. Slackにメッセージを投稿する
ターミナルを開き、下記に表示されているコマンドを実行する。
(okと返ってくれば、成功です!)
curl -X POST -H 'Content-type: application/json' --data '{"text":"Hello, World!"}' YOUR_WEBHOOK_URL_HERE
}
※YOUR_WEBHOOK_URL_HERE
は選択したチャンネルのWebhook URLを入力してください。
コマンドを実行し、選択したチャンネルを開くと、
作成したアプリ「Sample App」からメッセージが投稿されていることを確認できます。
コマンドの"text"
の値を変更すれば、投稿されるメッセージも変わります!
さいごに
Slackで Incoming Webhookの設定方法を紹介しました。
次回、GASからSlackへのメッセージ投稿を行う方法について記事化したいと思います。