Contents
Slack Web Hook APIとは
Web Hook APIをチャンネルごとに設定することで、そのチャンネルにプログラムから投稿できる。
仕様
サブメッセージ(attachments)
メッセージ本体に複数のサブメッセージを設定することができる。
参考:https://api.slack.com/reference/messaging/attachments
color
サブメッセージの左横に縦棒が描かれるが、その色を指定する
- good:緑
- warning :黄色
- danger:赤
- #RRGGBB:16進数でRGBを指定する
テキストフォーマット一覧
太字やリストなどのテキストフォーマット
https://api.slack.com/reference/surfaces/formatting
※リストはなぜか正常に動作しない?
アイコン一覧
Slackで使用できるアイコンは様々な製品で使用されている絵文字アイコンを使用している。
メンション
グループに対するメンション
グループに対するメンションはグループIDを用いて、text部内に下記フォーマットで記述する
https://api.slack.com/reference/surfaces/formatting#mentioning-groups
<!subteam^<グループID>>
グループIDは下記の手順で調べられる
- Slack Web版にログインする
- その他
- メンバーディレクトリとユーザーグループ
- ユーザーグループタブを開く
- グループを検索する
- 特定のグループをクリックする
- 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にダウンロードしているので完了が遅くなる