kyohei's blog

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を選択し、有効化します。

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

そうすると新たな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


Kyohei Tsukuda
Written by Kyohei Tsukuda who lives and works in Tokyo building useful things.