4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

SlackのIncoming Webhooksの新仕様について

Posted at

はじめに

いつからかはわからないのですがslackがIncoming Webhooksの仕様を変えたらしくかなり戸惑いました。
自分なりにわかりにくかった点をまとめてます。
旧仕様の方はあまり自信がないですので知見ある方は教えてください。
他にも認識間違っているところあれば教えていただけると幸いです!

アプリとwebhook URLとチャンネルについて

アプリ

旧仕様

たしかそもそもwebhooksを利用するのに必須ではなかった。
そのためIncoming webhooksと言う名の名前だけでは判断できない謎アプリが大量にslackのワークスペースにあった気がする…

新仕様

webhooksの利用に必須。名前も必須

webhookURL

旧仕様

ワークスペース?アプリ?に一つだったっけ?

新仕様

発行する際にアプリが必須に。
チャンネルごとに発行される。

アプリとwebhook URLとチャンネルの関係

・webhook URLはチャンネルと一対一
・アプリはwebhook URLと一対多
の関係になっている。
アプリが対応するチャンネルのwebhook URLを発行されていない場合はメッセージを送っても「チャンネルがないよ」と返してくる。
webhook URLが発行されているチャンネルでないとアプリがそもそも追加できないようになっている。

メッセージの送信のカスタマイズ(めっちゃ大切)

旧仕様

一つwebhookURLがあれば、そのURLに値をPOSTすればなんでもできた。
username(なんて名前で送るか)
channel(どのチャンネルに送るか)
icon(どんなアイコンをつけるか)

新仕様

上記の設定がPOSTする値から設定できなくなった。(webhookURL経由では変更できなくなった)
代わりにそれらの設定がアプリごとに固定になった。(まぁこっちの方が自然だよな…)
blocksという新しい引数が追加された

旧仕様を用いて作成された既存アプリについて

現状は動くが、いずれ動かなくなるかも。

参考文献

https://api.slack.com/messaging/webhooks
https://github.com/laravel/slack-notification-channel/issues/34#issuecomment-608376575

終わりに

webhookURLがチャンネルごとなのはちょっと不便になったかな…と思いますが、それ以外は逆に自然になった気がする。
破壊的変更ではないので、実はこれに伴う変更が意外とライブラリで整備されてなかったりする(blocksとか)のでissueを立ててみるのも良いかも。

4
1
0

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
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?