LoginSignup
18
21

More than 3 years have passed since last update.

Microsoft TeamsのWebhookによる通知

Posted at

概要

Microsoft TeamsのWebhookを利用した通知を使ってみる。
ここでは、シェルスクリプトからcurlを使ってメッセージを送信する方法をまとめる。

事前準備

TeamsでWebフックの設定を行う。

  1. 設定したいチームのチャネルのメニューから、"コネクタ"を選択する。
    01.jpg

  2. コネクタ設定のウィンドウが表示される。
    左メニューの"カテゴリ"から"すべて"を選択 → "incoming Webhook"の"構成"ボタンを押下する。
    02.jpg

  3. 構成のウィンドウが表示される。
    名前を適宜入力し、"作成"ボタンを押下する。
    (画像の例では"nitification"という名前のWebフックを作成している。)
    03.jpg

  4. "作成"ボタンを押下後、WebフックのURLが発行されるので、これをコピーしておく。
    最後に"完了"ボタンを押下する。
    04.jpg

シェルスクリプトを作成する

以下に実装のサンプルコードを示す。

#!/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フックの名前/アイコンになる。
05.jpg

メッセージを装飾する

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

実行結果

06.jpg

18
21
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
21