Syntax Error.

[Sy] Slack に通知を送る( Incoming Webhooks 利用)

2018/01/18

Slack に通知を送る方法のひとつの、 Incoming Webhooks を使ってメッセージを送ってみます。

Slack が用意してくれているメッセージを送信する方法はいくつかありますが、一番手軽に使えるのが Incoming Webhooks という仕組みです。

公式サイトの Incoming Webhooks についての説明はこちらです。

⇒ Incoming Webhooks | Slack

今回は、 Linux などで使える curl コマンドを使ってメッセージを送ります。

1. Incoming Webhoos の登録

まずは Slack にログインした状態で、以下のページにアクセスします。

⇒ Incoming Webhooks の設定ページ

Incoming Webhooks は、メッセージを送るチャンネルを指定する必要があります。

すでにあるチャンネルを選択するか、新しいチャンネルを作成して選択します。

今回は webhooks-test というチャンネルを新しく作ります。

以下の「新しいチャンネルを作成する」リンクをクリックします。

Slack Incoming Webhooks チャンネル選択

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

Slack Incoming Webhooks チャンネル作成

チャンネルが作成されると、先ほどのページに戻ります。(ですが、新しく作ったチャンネルが選択できないので、一度リロードしました)

今作った webhooks-test チャンネルを選択し、「着信 Web フック インテグレーションの追加」ボタンをクリックします。

(日本語訳が微妙なのは流してあげましょう)

Slack Incoming Webhooks の追加

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

Slack Incoming Webhooks URLの取得

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 Incoming Webhooks 送信テスト

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