AWS CodePipelineからMicrosoft Teamsに承認依頼を飛ばす(超簡単版)


はじめに

AWS CodePipelineではPipelineの途中に「手動承認」のアクションを定義できます。

[ Build ]
    ↓
[ Beta環境にデプロイ ]
    ↓
(Beta環境で動作確認)
    ↓
[ 手動承認 ]
    ↓
[ Production環境にデプロイ ]

手動承認はManagementConsoleの以下のような画面でコメントとともに承認または拒否します。

Codepipelineでは手動承認が必要になったタイミングでAmazon Simple Notification Service(SNS)を経由して通知することができます。

本記事では、この通知先をMicrosoft Teamsの任意のチャネルに設定してみます。

Teamsのチャネルへの通知方法2種類

チャネルへの通知方法は2つあります。一つはメールを使用する方法。もう一つはコネクタを使用する方法です。

本記事では、とても簡単な「メールを使用する方法」を書きます。「コネクタを使用する方法」は別記事で書きます。

前提条件

  • CodePipelineとSNS Topicが作成済みで手動承認の通知先にSNS Topicが設定済みであること。

  • Teamsが利用可能であること。

設定方法

Teamsで通知先チャネルのメールアドレスを取得

Teams上で、通知したいチャネルのメールアドレスを取得します。

SNS TopicにSubscriptionを作成

AWSのManagementConsoleのSNSからTopis -> (CodePipelineの通知先Topic) -> Create subscriptionを選択します。

Protocolに”Email”を選択し、Endpointにチャネルのメールアドレスを設定します。

Confirmする

Subscriptionを作成すると、Teamsの指定したチャネルにメッセージが届きます。

メッセージ中の”Confirm Subscription”リンクをクリックすると、以下のページがブラウザで表示され、通知が届くようになります。

CodePipelineを実行する

CodePipelineを実行し、手動承認待ちの状態になると、Teamsにメッセージが届きます。

これで十分通知の役割は果たしているのですが、Teams上の見た目をもう少しいい感じにするために、Lambda経由での通知を次の記事では書きます。