ぼっちエンジニアのリーンなブログ

リーン・スタートアップ、プログラミングなどについてまとめます

SlackのIncoming WebhookでChannelへのリンクを送る方法

Slackを使っている人は Incoming Webhooks をよく使うと思う

たまにそのメッセージ内に、他のチャンネルへのリンクを表示したいときとかあると思う

例えばこんな感じ↓

普通にSlackにメッセージを書く場合は、 #<Channle名> でリンクに勝手になるが、 Webhook の場合リンクにならない 今回はその方法についてのメモを書いておきます

方法と手順

  • チャンネルのIDを調べる
  • メッセージ内にリンクを書く

チャンネルのIDを知る

下記ページで、SlackのAPIを叩くことができ、その結果の中から、対象のチャンネルのIDを取ってくる https://api.slack.com/methods/channels.list/test

上記ページのTokenの選択にて、自分の所属しているチームを選んで TestMethod ボタンを押す!

すると、下記のようなJSONが帰ってくるので、チェンネル名で検索して、そのIDをコピーする

{
  "ok": true,
  "channels": [
    {
      "id": <ChannelのID>,
      "name": <Channelの名前>,
      ...
    }...
  ]
}

メッセージ内にリンクを書く

上記プロセスで得たIDを用いて、メッセージを作る

例えば、 games というチャンネルに対して、IDが C0R2C4M92 だったとすると、

<#C0R2C4M92|games> では、ゲームの最新情報を適宜通知しています

のようにするとちゃんとリンクになって表示される

おまけ

チャンネルじゃなくて、ユーザやグループ(プライベートチャンネルのこと)の場合は、別のAPIで取得できます

ユーザ↓ https://api.slack.com/methods/users.list/test

グループ↓ https://api.slack.com/methods/groups.list/test