61
68

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Microsoft Teams API (Incoming Webhook) で投稿

Last updated at Posted at 2019-11-03
最終動作確認日: 2023/07/11
内容が古くなっていた場合、「内容が古くなっています」だけでいいのでコメント頂けると幸いです。 twitterで「[@wata_ash](https://twitter.com/wata_ash) 内容が古くなっています https://qiita.com/wataash/items/72b49509c3964294dd67 」とメンション頂いても大丈夫です。

MS公式ドキュメント

を、スクショを多めにして単純化した内容です。簡単なメッセージを送信したいだけの人にとっては上のドキュメントの内容はオーバーワークです。(より複雑なことをしたい場合も、まずはこの記事の内容から試してみるのがオススメです)

  • この記事の内容でできること:
    • Channelに「新しい会話」(New conversation) としてメッセージを投稿する(マークダウンによる装飾が可能)
  • この記事の内容ではできないこと:
    • 既にある会話にに返信する(「新しい会話」を作らずにメッセージを投稿する)
    • 他のメッセージを読み取る
    • メンションを飛ばす (@person / @channel)

チャンネルの右の から Connectors を選択
image.png

"Incoming Webhook" を Add または Configure
image.png image.png

適当な名前(ここではwebhook0)を入力して Create
image.png
image.png
webhook用のURLが得られるのでコピーします。

ちなみに再設定したい場合は "Configured" から Manage
image.png
しばらく(数日?)経つとURLは見れなくなり、新しく作り直しとなります。

テスト投稿してみましょう。

curl -H "Content-type: application/json" -X POST -d '{"text": "foo"}' https://outlook.office.com/webhook/4fae0905-...

"foo" というメッセージが飛べばOKです。
image.png

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"}'

image

改行を入れるには line 1\n\nline 2 と空行を入れるようにして下さい。line 1\nline2

line 1 line 2

とレンダリングされてしまいます(CommonMarkの仕様)。

クリエイティブ・コモンズ・ライセンス
この 作品 は クリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。

61
68
1

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
61
68

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?