各チャットツールのIncoming Webhoookのまとめ
チャットツール(Slack、Teams、etc..)には、他のアプリケーションから投稿できるように、Incoming Webhoookという仕組みが提供されています。
本記事では、各チャットツールでのIncoming Webhoookの設定方法についてまとめたいと思います。(適宜更新予定)
下記のRedmineプラグインのために、様々なチャットツールでIncoming Webhoookを触ることになったのですが、毎回設定方法を調べている自分自身のための記事でもあります。
Slack
SlackではIncoming Webhoookの作成方法が途中で変わっていて、旧方式ではIncoming Webhoookというアプリを使う方法でしたが、現在の方式では個々のアプリでActivate Incoming WebhooksをOnにする形で、Incoming Webhoookを使えるようにするといった方法に変わっています。
旧方式はもう推奨されていないので、現在の方式による設定方法を記載します。
手順
Slack API: Applications | Slack 画面を開いて、「Create New App」ボタンをクリックします。
App Nameにアプリケーション名、Development Slack Workspaceで該当のワークスペースを選んで「Create App」をクリックしアプリを作成します。
アプリが作成されたら、Incoming Webhoookをクリックします。
Activate Incoming WebhooksをONにすると、Incoming Webhoookが有効になります。
Add New Webhook to Workspaceをクリックして、アクセスするチャンネルを指定します。
これでWebhookが追加されました。
Webhook URLをコピーして利用します。
メッセージフォーマット
テキストはmrkdwn
といった形式と書かれていますが、Markdown形式とは異なるので注意が必要です。
文字装飾
_イタリック_
*太字*
~取り消し線~
リンク
<http://example.com|Link Title>
メンション
<@ユーザID>
といった形です。
<@U024BE7LH>
ユーザIDはプロフィールのCopy member IDで取得できます。
You can also manually retrieve a specific user's ID by clicking on the overflow button in their Slack profile, and choosing the Copy member ID option, as shown in the screenshot.
引用元: https://api.slack.com/reference/surfaces/formatting#mentioning-users
その他
&
<
>
はそれぞれ &
<
>
でエスケープする必要があります。
Teams
手順
Webhookを追加するチャンネルに移動し、ナビゲーションバーの「•••」から「コネクタ」を選択します。
「Incoming Webhoook」を検索し、チャンネルに追加します。
適当な名前と、必要とあればイメージをアップロードして、「作成」ボタンをクリックしてIncoming Webhookを作成します。
作成されると、URLが表示されますので、これをコピーして利用します。
メッセージフォーマット
- コネクタと Webhook にメッセージを送信する - Teams | Microsoft Docs
- Use Markdown formatting in Teams - Office Support
基本的なMarkdownがサポートされています。
文字装飾
_イタリック_
*太字*
~取り消し線~
リンク
[Link Title](http://example.com)
メンション
Incoming Webhookでのメンションは、Adaptive Card形式でしか送ることが出来ません。
その他
改行したい場合には、Markdownと同様に空行入れるか末尾にスペース2つ入れる必要があります。
Rocket.Chat (バージョン 3.11.1時点)
手順
「管理」→「サービス連携」→「New」ボタンでIncoming Webhookの入力画面を開き、各種情報を入力して「保存」ボタンを押します。
保存すると、Webhook URLが表示されますので、これをコピーして利用します。
また、作成した直後だと有効化されていません。有効をONにして保存します。
メッセージフォーマット
文字装飾
_イタリック_
*太字*
~取り消し線~
リンク
2つの形式に対応しています。
<http://example.com|Link Title>
[Link Title](http://example.com)
メンション
@username
その他
Google Chat
手順
メッセージフォーマット
- Google Chat message formats | Google Chat API | Google Developers
- Simple Text Messages | Google Chat API | Google Developers
文字装飾
_イタリック_
*太字*
~取り消し線~
リンク
<http://example.com|Link Title>
メンション
<users/USER_ID>
といった形式です。
<users/123456789012345678901>
To determine the
USER_ID
for a user, examine the sender field of the incoming message from the user.
引用元: https://developers.google.com/hangouts/chat/reference/message-formats/basic#messages_that_mention_specific_users
USER_ID
がそのまま画面上で表示されるわけではないようなので、調べるにはちょっと手間がありそうです。
Discussion