[Sy] Slack に通知を送る( Incoming Webhooks 利用)
Slack に通知を送る方法のひとつの、 Incoming Webhooks を使ってメッセージを送ってみます。
Slack が用意してくれているメッセージを送信する方法はいくつかありますが、一番手軽に使えるのが Incoming Webhooks
という仕組みです。
公式サイトの Incoming Webhooks についての説明はこちらです。
⇒ Incoming Webhooks | Slack今回は、 Linux などで使える curl
コマンドを使ってメッセージを送ります。
1. Incoming Webhoos の登録
まずは Slack にログインした状態で、以下のページにアクセスします。
⇒ Incoming Webhooks の設定ページIncoming Webhooks は、メッセージを送るチャンネルを指定する必要があります。
すでにあるチャンネルを選択するか、新しいチャンネルを作成して選択します。
今回は webhooks-test
というチャンネルを新しく作ります。
以下の「新しいチャンネルを作成する」リンクをクリックします。

するとチャンネル作成のページに遷移するので、名前のところに webhooks-test
と入力し、「チャンネルを作成する」ボタンをクリックします。チャンネルを public にするか private にするかは通知の内容に応じて選択しましょう。

チャンネルが作成されると、先ほどのページに戻ります。(ですが、新しく作ったチャンネルが選択できないので、一度リロードしました)
今作った webhooks-test
チャンネルを選択し、「着信 Web フック インテグレーションの追加」ボタンをクリックします。
(日本語訳が微妙なのは流してあげましょう)

細かい設定を行えるページに遷移するので、下の方へスクロールしていくと、以下のような項目が表示されます。

Webhook URL
という項目のところにある URL をコピーしておきます。
(あとの名前やアイコンなどの設定はお好みで)
これで設定は終わりです。あとは実際に使うだけ。
2. 送信テスト
試しに Hello Slack!
というメッセージを webhooks-test
チャンネルに送ってみます。
以下のコマンドを実行します。URL は、先ほどコピーしたものに置き換えてください。
$ curl -X POST -H 'Content-type: application/json' --data '{"text":"Hello Slack!"}' https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
するとすぐに webhooks-test
チャンネルに以下のような通知が送られます。

登録ページの場所がイマイチわかりづらいですが、設定さえできてしまえば、難しい認証などもなく手軽に Slack に通知を送ることができるので、ちょっとしたアラートを飛ばしたい場合などに使えると思います。