Slack Web Hook API

Contents

Slack Web Hook APIとは

Web Hook APIをチャンネルごとに設定することで、そのチャンネルにプログラムから投稿できる。

 

仕様

 

サブメッセージ(attachments)

メッセージ本体に複数のサブメッセージを設定することができる。

参考:https://api.slack.com/reference/messaging/attachments

 

color

サブメッセージの左横に縦棒が描かれるが、その色を指定する

 

テキストフォーマット一覧

太字やリストなどのテキストフォーマット

https://api.slack.com/reference/surfaces/formatting

※リストはなぜか正常に動作しない?

 

アイコン一覧

Slackで使用できるアイコンは様々な製品で使用されている絵文字アイコンを使用している。

絵文字アイコン一覧はこちら

 

メンション

グループに対するメンション

グループに対するメンションはグループIDを用いて、text部内に下記フォーマットで記述する

https://api.slack.com/reference/surfaces/formatting#mentioning-groups

<!subteam^<グループID>>

グループIDは下記の手順で調べられる

  1. Slack Web版にログインする
  2. その他
  3. メンバーディレクトリとユーザーグループ
  4. ユーザーグループタブを開く
  5. グループを検索する
  6. 特定のグループをクリックする
  7. URLの末尾の英数字を確認する

例えばURLが”https://app.slack.com/client/abcdefg/browse-user-groups/user_groups/S0123ABCD”出会った場合、メンションは次のフォーマットで行える

<!subteam^S0123ABCD>

 

curlを使用した例

curl -X POST --data-urlencode 'payload={
"username":"Test", "icon_emoji":":ghost:",
"text":"メインテキスト", "attachments":[{ "color":"good", "text":"TESTTEST\n222" }]
}' https://hooks.slack.com/services/TXXXX/YYYY/ZZZZ

icon_emojiの代わりにicon_urlで任意の画像を使用できるが、POST時に画像をSalckにダウンロードしているので完了が遅くなる



Notice: Trying to get property 'queue' of non-object in /usr/local/wordpress/wp-includes/script-loader.php on line 2876

Warning: Invalid argument supplied for foreach() in /usr/local/wordpress/wp-includes/script-loader.php on line 2876