最終動作確認日: 2023/07/11
内容が古くなっていた場合、「内容が古くなっています」だけでいいのでコメント頂けると幸いです。
twitterで「[@wata_ash](https://twitter.com/wata_ash) 内容が古くなっています https://qiita.com/wataash/items/72b49509c3964294dd67 」とメンション頂いても大丈夫です。
MS公式ドキュメント
- Microsoft Teams / Developer platform / Concepts / Connectors / Using connectors
- Outlook / Actionable Messages/ MessageCard Reference (Legacy)
を、スクショを多めにして単純化した内容です。簡単なメッセージを送信したいだけの人にとっては上のドキュメントの内容はオーバーワークです。(より複雑なことをしたい場合も、まずはこの記事の内容から試してみるのがオススメです)
- この記事の内容でできること:
- Channelに「新しい会話」(New conversation) としてメッセージを投稿する(マークダウンによる装飾が可能)
- この記事の内容ではできないこと:
- 既にある会話にに返信する(「新しい会話」を作らずにメッセージを投稿する)
- 他のメッセージを読み取る
- メンションを飛ばす (
@person
/@channel
)
"Incoming Webhook" を Add または Configure
適当な名前(ここではwebhook0)を入力して Create
webhook用のURLが得られるのでコピーします。
ちなみに再設定したい場合は "Configured" から Manage
しばらく(数日?)経つとURLは見れなくなり、新しく作り直しとなります。
テスト投稿してみましょう。
curl -H "Content-type: application/json" -X POST -d '{"text": "foo"}' https://outlook.office.com/webhook/4fae0905-...
Markdownによる装飾
Markdown記法が使えます。こちらのサンプルをJSON文字列としてシリアライズしてPOSTしてみます。JSON文字列のシリアライズはwebアプリでやるのがお手軽です。
curl -H "Content-type: application/json" -X POST https://outlook.office.com/webhook/4fae0905-... \
-d '{"text": "# Heading\n\n- list 1\n - list 1.1\n- *Italic*\n- **Bold**\n- ~~Strike-through~~ (not work)\n- [link](http://example.com)\n- `inline code`\n\nenumarate\n\n1. a\n1. b\n1. c\n\nquote\n\n> quote\n> quote\n\ncode blocks\n\n```\ndef fn():\n pass\n```\n\nimage\n\n![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/167409/dc34f53f-7003-9dce-2fd6-a58aa53013fb.png)\n\n[Mention (@General) doesn\'t work yet](https://microsoftteams.uservoice.com/forums/555103-public/suggestions/17153099-webhook-needs-to-support-forced-notification-a-la)\n"}'
改行を入れるには line 1\n\nline 2
と空行を入れるようにして下さい。line 1\nline2
は
line 1 line 2
とレンダリングされてしまいます(CommonMarkの仕様)。
この 作品 は クリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。