概要
Microsoft TeamsのWebhookを利用した通知を使ってみる。
ここでは、シェルスクリプトからcurlを使ってメッセージを送信する方法をまとめる。
事前準備
TeamsでWebフックの設定を行う。
-
コネクタ設定のウィンドウが表示される。
左メニューの"カテゴリ"から"すべて"を選択 → "incoming Webhook"の"構成"ボタンを押下する。
-
構成のウィンドウが表示される。
名前を適宜入力し、"作成"ボタンを押下する。
(画像の例では"nitification"という名前のWebフックを作成している。)
シェルスクリプトを作成する
以下に実装のサンプルコードを示す。
#!/bin/bash
# プロキシ環境下で実行する場合は適宜設定
export https_proxy=http://aaa.bbb.ccc:nnnn
# WebフックURL(※事前準備で発行したURLを設定する)
WEBHOOK_URL='https://outlook.office.com/webhook/~'
# curlコマンド実行
curl -H "Content-Type: application/json" -d "{\"text\": \"メッセージ\"}" $WEBHOOK_URL
実行結果
Webフックを設定したチャネルにメッセージが投稿される。
投稿ユーザは、コネクタ設定時に入力したWebフックの名前/アイコンになる。
メッセージを装飾する
Markdown形式でメッセージを装飾して送信することもできる。
効果 | Markdown書式 |
---|---|
斜体 | *Italic* |
太字 | **Bold** |
太字斜体 | ***Bold Italic*** |
取り消し線 | ~~Strike-through~~ |
リンク | [Microsoft](https://www.microsoft.com) |
見出し(<h1> から <h6>) | # Heading から ###### Heading |
箇条書き | * List item |
箇条書き | - List item |
【参考】https://docs.microsoft.com/ja-jp/outlook/actionable-messages/message-card-reference
コマンド例
# curlコマンド実行
curl -H "Content-Type: application/json" -d "{\"title\": \"Webhook通知\", \"text\": \"メッセージ\"}" $WEBHOOK_URL