LoginSignup
32
17

More than 3 years have passed since last update.

【Slack】Webhook経由での通知でユーザーグループにメンションを飛ばす

Last updated at Posted at 2019-02-22

概要

仕様が変わって、Incoming Webhook経由だと<@group_name>でメンション飛ばせなくなったようなので、
slack-apiを使ったIncoming Webhook経由での通知でユーザーグループにメンションを飛ばす方法。

参照

SlackのAPI経由でのメンションの仕様変更(2018/9/12~)
Basic message formatting | slack api

方法

  1. ユーザーグループのIDを取得する
  2. API経由のメンションをIDに変更する

1.ユーザーグループのIDを取得する

  • slack apiの usergroups.list からユーザーグループの情報を一覧で取得する
    • もしtokenが未取得の場合は案内が出ているはずなのでtokenを取得する
    • Test Methodを押すとjson形式で一覧が取得できる
  • メンションを飛ばしたいユーザーグループのIDと名前を調べる
    • IDはidteam_idがありますがidの方です
    • 名前はnamehandleがありますがnameの方です
    • 公式リファレンスを見るとhandleでも平気そうな気がするので誰か試してみてください(笑) slack_mz.png

2.API経由のメンションをIDに変更する

  • Incoming Webhook経由のメンションを下記に変更する
    • your_team_ididyour_group_namenameを入れる
<!subteam^your_team_id|your_group_name>
  • 全員に通知する場合はIDを取得しなくても平気で、それぞれ下記の通り
Slack上でのメンション方法 API経由でのメンション方法 通知される範囲
 @channel   <!channel> チャンネルのメンバー全員
@here <!here> アクティブなメンバー全員

追記(2020.08.27)

またまた仕様が変わったようです。
(@Ant3_Ng さんありがとうございます)

  1. ユーザーグループのIDを取得する
    slack apiの usergroups.listを見に行く必要がなくなり、Webでワークスペースを開いてgroupのページを見ると確認できるようです。

  2. API経由のメンションをIDに変更する
    旧でやると、@されるものの通知は来ないようです。

旧: <!subteam^your_team_id|your_group_name>
新: <!subteam^your_team_id>

詳細:Formatting text for app surfaces|Mentioning groups

32
17
2

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
32
17