Amplifyのデプロイ通知をSlackに通知する(Slack App編)
前回の記事でレガシーになっているSlackのIncoming Webhooksでの通知方法を書いたので、 今回はそれを新しい方のSlack Appで実行する方法を書きたいと思います。
といってもやり方は簡単で、
- Slack Appを作成、自分のSlack環境にインストール
- Incoming WebhookのURLが新たに発行されるのでそれに置き換える
- 若干のメッセージの形式に変更があるので直す
というような順になります。
Slack Appの作成
https://api.slack.com/apps で新たにAppを作成します。
作成されたアプリのIncoming Webhooksを選択し、有効化します。
通知先のチャンネルを選択します。
そうすると新たな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
Written by Kyohei Tsukuda who lives and works in Tokyo building useful things.