TeamsのWebHookのメッセージで改行する方法
まずはこの画像を見ていただきたい
このようにTeamsのメッセージででフォントやリンクを設定する際に、
通常のメッセージなら
のように書式を設定できますが、WebHookの場合はどうなんでしょう。
使うもの
Microsoft Teams
メッセージを自動で投稿する対象。
WebHook
Teamsのチャネルに設定し、発行されるURLにデータをPOSTするとチャネルに自動でメッセージを送ることができる。
PowerShell
HTTPリクエストのテストに使用する。
Step1 チャネルにWebHookを追加する
WebHookを追加したいチャネルの「・・・」からコネクタを選択し、
「Incoming Webhook」を選択します。 この時、青いボタンが「追加」になっている場合は コネクタを追加するかの確認画面が立ち上がったりますので「OK」を押します。
再度WebHookを追加したいチャネルの「・・・」からコネクタを選択し、 青いボタンが「構成」になっているのを確認し、押します。
名前と画像を編集し、左下の「作成」ボタンを押します。
メッセージを送る際に使用するURLがは行されるので、それをコピーしてから左下の「完了」を押します。
これでWebHookの設定は完了です。
Step2 WebHook経由でメッセージを送る
※WebHookの発行したURLは「https://hogehoge/webhookb2/fugafuga/IncomingWebhook/poepoe
」として説明を続けます。
テストを兼ねてメッセージを送ってみます。 PowerShellで下記のコマンドを実行すると、
$url = "https://hogehoge/webhookb2/fugafuga/IncomingWebhook/poepoe" $postText = @{ title = "test-title" text="test-message" } | ConvertTo-Json -Compress $body = [Text.Encoding]::UTF8.GetBytes($postText) Invoke-RestMethod -Method Post -Uri $url -Body $body -ContentType 'application/json'```
下図のように実行されます。
フォントやリンクのないメッセージであればこれで終了です。
# Step3 本文に書式を設定する
WebHookにPOSTするBODYにマークダウン記法で記載することで、自動投稿メッセージ本文の書式を設定できます。 以下に例を載せておきます。
$postText = @{ title = "test-title" text="**太字** <br> <font color='red'>赤いフォントの文字</font> <br> [リンク先](https://www.google.com)" } | ConvertTo-Json -Compress
↓