見出し画像

slackの小技集-Incoming Webhooks-

Incoming Webhooksとは、外部から簡単に指定したチャンネルへメッセージを送れる機能です。

使い所

外部(例:自社で管理してるサーバーなど)からslackにメッセージを送りたいときに一番簡単な方法です。
外部からslackにメッセージを送る方法は他にもあるのですが、一番設定に手間がかかりません。

例えば、自社で毎日稼働しているバッチが失敗したときのみ通知がslackが送られてくるなどの設定をするときに便利です。

設定の仕方

画像1

・図のように「Activate Incoming Webhooks」を「On」にする
・「Webhook URLs for Your Workspace」の「Add New Webhook to Workspace」をクリックする
・画面が切り替わり「Search for a channel」と表示さるので投稿したいチャンネルを選択する
・「Allow」をクリックすると画面が元に戻る
・「Webhook URL」が追加されるのでCopyする
・画面左側の「Settings」の「Install App」から「Reinstall App」をクリック
・再び投稿したいチャンネルをクリックする

送れるかの確認テスト:方法その1

今回はchromeの拡張機能を利用します。
https://chrome.google.com/webstore/detail/advanced-rest-client/hgmloofddffdnphfgcellkdfbfbjeloo/details?hl=ja-JP

画像2

・「Method」を「POST」に設定
・Request URLに先ほどコピーしたURLを貼り付ける
・「Body」の「Body content type」を「application/json」を選ぶ
・「Editor view」が「Raw input」の場合はグレーの箇所に「{"text":"Hello, World!"}」と入力して「SEND」をクリック
・「Editor view」が「JSON Visual editor」の場合はKeyとvalueを入力する。
・slackの指定したチャンネルに「Hello、World!」と表示される

送れるかの確認テスト:方法その2

import json
import requests

def Incoming_Webhooks_post():
   url = コピーしてきたURL
   headers = {"Content-Type" : "application/json"}
   data_json = json.dumps({"text": "Hello、World!"})
   res = requests.post(url, headers=headers, data=data_json)
   print(res)

Incoming_Webhooks_post()

・slackの指定したチャンネルに「Hello、World!」と表示される


いいなと思ったら応援しよう!