amplify-category-console-notificationでAmplify ConsoleのSlackアプリを追加する

September 20, 2022

Amplify ConsoleのSlackアプリ

Amplify Consoleのビルト結果をSlackに通知するAmplifyプラグインとしてamplify-category-console-notificationを公開しています。 最近、このプラグインにSlackアプリを追加しました。

amplify-category-console-notificationのSlackアプリを追加すると次のことができるようになります。

  • Amplify Consoleのビルド開始・終了時にSlackメッセージで通知を受け取る
  • Slackメッセージからそのバージョンを再デプロイする
  • SlackメッセージからAmplify Consoleのビルドをキャンセルする

Slackに通知されたビルド結果

このSlackアプリを追加する以前は、SlackのIncoming Webhook(以降、Webhook版)を利用してSlackにビルド結果のメッセージを送信していました。 Webhook版はシンプルな構成でビルド結果の通知ができていましが、ビルドに対するアクションもSlack上からできると便利だと思い、Slackアプリ版を追加しました1

Slackアプリを追加する

Slackアプリを追加(利用)するには、Amplifyプロジェクトで次のコマンドを実行してamplify-category-console-notificationをインストールします。

npm install -g amplify-category-console-notification amplify-slack-nodejs-function-template-provider
amplify plugin add $(npm root -g)/amplify-category-console-notification

インストールできたら、以下のコマンドでSlackアプリ追加を開始します。

amplify add console-notification

コマンドを実行すると、Webhook版とSlackアプリ版のどちらを使うのか聞かれるのでSlackアプリを選択します。 Slackアプリを選択すると、Slackアプリを追加するの必要な手順がコンソールに表示されます。スクリーンキャプチャ付きのドキュメントのURLがコンソールに表示され、ブラウザでそのページが表示されるので、その手順に沿ってSlack APIのページでSlack Appを作成してください。実際の手順はこちらから確認できます。

コンソールに表示されたSlackアプリを追加するの必要な手順

Slack Appを作成すると、Slack APIのページで以下の値を確認できるようになります。コンソールのプロンプトでそれらの値の入力を求められるので入力してください2

  • Signing Secret
  • Slack Bot User OAuth Token
  • Slack Channel ID

全て入力が完了したら、追加されたサービスのリソースをAWS上に作成します。 amplify pushするか、すでにAmplify Consoleと連携済みであればgit commitgit pushをすることで実行できます。 これ以降は、Amplify Consoleでビルドする度に、Slackに通知のメッセージが送信されるようになります。

フィードバックのお願い

Amplifyユーザーの方に使っていただいてフィードバックをいただけると嬉しいです。バグ報告や改善提案などGitHubのIssueTwitterAmplify Japan User GroupのSlackなどでお待ちしています。

脚注

  1. Slackアプリ版を追加しましたが、Incoming Webhook版も引き続き利用可能です。

  2. 入力されたシークレット、トークンはAWS SSMに保存されます。


Profile picture

Written by Masahiko MURAKAMI You should follow them on Twitter