Featured image of post 【サービス連携に必須】SlackのWebhookURLの取得方法

【サービス連携に必須】SlackのWebhookURLの取得方法

698文字

外部サービスとの連携

Slackには、外部API外部サービスとの連携するための機能が標準で用意されています。
Incoming Webhooksはその中の1つの機能で、主に外部サービスからSlackにメッセージを送信するするために利用されます。

Webhookに対応しているサービスは数多くあります。
JenkinsGithubmackerelなどはとてもメジャーですね。

Webhookの登録自体は簡単に出来ます。

手順

前提

Point
  • ワークスペース作成済み
  • 通知用チャンネル作成済み

WebhookURLの取得

Incoming Webhookでは、チャンネル単位で通知用のWebhookURLを作成することになります。

まずはブラウザで対象のWorkspaceにログインした状態コチラにアクセスしてください。

次にWebhookを利用して通知を行いたいチャンネルを選択し、Add IncomingWebHooks integrationボタンをクリックします。

するとWebhook URLが表示されるのでこちらを控えておきましょう。

確認

本来は、WebhookURLを各サービスの連携機能で設定をするのですが、今回は確認さえ出来ればいいので、以下の様なshellスクリプトを作成して通知確認をしてみましょう。

slack.sh
#!/bin/bash

PAYLOAD=`cat << EOS
    payload={
        "channel": "#{通知先チャンネル}",
        "username": "From Webhook.",
        "text": "Hello, channel!",
        "icon_emoji": ":poop:"
    }
EOS`

curl -X POST --data-urlencode "$PAYLOAD" {WebhookURL}

以下のコマンドで実行してください。

command
sh ./slack.sh

正常に通知が飛んできましたね。

終わりに

以上の様に、WebhookURLを使って、Slackチャンネルへの通知を行う事が出来ました。

あとは、このURLを様々なサービスに設定することで、サービスからの通知メッセージを受け取ることが可能になります。

Web業界ではSlackが業務チャットツールのデファクトスタンダードになっているので、Webhook連携を使いこなせる様になれば、作業効率が上がるので是非試してみてはいかがでしょうか♪