kyohei's blog

profile picture
Written by Kyohei Tsukuda who lives and works in Tokyo 🇯🇵 , building useful things 🔧.
email / facebook / X / GitHub

Amplifyのデプロイ通知をSlackに通知する(Slack App編)

July 11, 2019 - Incoming Webhooks Lambda Slack Slack App

パネル

前回の記事でレガシーになっている Slack の Incoming Webhooks での通知方法を書いたので、 今回はそれを新しい方の Slack App で実行する方法を書きたいと思います。

といってもやり方は簡単で、

というような順になります。

Slack App の作成

https://api.slack.com/apps で新たに App を作成します。

作成されたアプリの Incoming Webhooks を選択し、有効化します。

slack_app.jpg

slack_app2.jpg

通知先のチャンネルを選択します。

slack_app3.jpg

そうすると新たな URL が発行されるので、Lambda の POST リクエストしている箇所に貼り付けます。

const options = {
  hostname: 'hooks.slack.com',
  port: 443,
  path: '/services/XXXXXXX/XXXXXXX/YYYYYYYYYYYYYY', // ← 新しいURLに変える
  method: 'POST',
  headers: {
    'Content-Type': 'application/json', // ← x-www-urlencodedの場合、jsonに変更
    'Content-Length': data.length
  }
};

旧 Incoming Webhooks では channel,username や emoji_icon が都度変更可能でしが、Slack App の場合は変更不可能になりました。 その代わり?に柔軟なmessagingが作成可能になりました。

Reference