ヤマムギ

growing hard days.

*

Backlogの課題チケット更新内容をMicrosoft Teamsに通知する(AWS Lambda Python)

      2019/04/30

BacklogにSlack連携が追加されました。
ですが、私の所属している会社ではMicrosoft Teamsをコラボレーションツールに使っています。
BacklogにはMicrosoft Teamsへの連携機能はありません。
なければ作ります。

こちらの赤枠の部分です。
赤枠以外については、「Backlogの実績工数をAmazon QuickSightでの可視化 – 仕組み編」をご参照ください。

Teamsの設定

通知を行いたいチャネルを選択して、メニューから[コネクタ]を選択します。

Incoming Webhookの[構成]をクリックします。

通知に表示される接続名とアイコンイメージをアップロードして作成します。
アイコンは会社の非公式ゆるキャラ、とれのCATです。
リクエストの送信先のURLが生成されますのでこれを控えておきます。

これでTeams側の設定は完了です。

Backlogのメッセージを受け取ってTeamsに通知するAWS Lambda

IAMロール

Lambdaに設定するIAMロールにはAWS管理ポリシーのAWSLambdaSQSQueueExecutionRoleを設定しました。
AWSLambdaSQSQueueExecutionRoleは次の内容です。

AWS Lambda Layers

Layersも使用しています。

requestsモジュールとTeamsに通知するための独自モジュールをLayersにアップロードしているので、それを使っています。
Teamsに通知するための独自モジュールは次のコードです。

環境変数

  • BACKLOG_DOMAIN
    BacklogのURLを通知内容に含めるためのBacklogのドメインです。

  • TEAMS_URL
    TeamsのIncoming Webhookで生成されたURLです。

AWS Lambdaのコード

コード全文はこちらです。

LayersのTeamsクラスを使っています。

メッセージをわかりやすくするためにフィールド名をの日本語に直してます。

課題チケットの変更内容は changes にあるので、あればメッセージとして整形しています。

Backlogで課題チケットが更新されると、とれのCATから通知がされました。
変更箇所、課題チケットへのリンク、コメントも通知されます。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第2版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS, ProjectManagement , ,

ad

ad

  関連記事

RDS + VPC + Lambda + API Gateway + CloudFront + WAF + ACMでAPIを構築する

RDSのMySQLの情報を与えられたリクエストをキーにしてjsonで返すAPIを …

Systems Manager パッチマネージャでベースラインを作成して適用する

ベースラインの作成 Systems Managerのパッチマネージャーでパッチベ …

「JAWS-UG朝会 #18」で主にAWSなブログについて発表をしました

ラジオ体操 いつものラジオ体操から。 今日はラーニングセンターから配信の日でした …

「JAWS-UG Osaka 第22回勉強会 東西の中の人が語る!!! Microservices × Serverless On AWS」で運営と懇親会LTをしてきました

「JAWS-UG Osaka 第22回勉強会 東西の中の人が語る!!! Micr …

Amazon VPCにオンプレミス検証環境想定プライベートDNSサーバー(BIND)をEC2で起動する

オンプレミス想定の検証で使うために、Amazon VPCにプライベート向けDNS …

Redmine プラグイン開発チュートリアルをやってみる

Redmine 3.0環境でプラグインを作成するチュートリアルをやってみました。 …

AWS Lambdaで Unable to import module エラーが発生したときは

そもそも、Pycharmのナビゲーションペインでディレクトリごとドラッグ&amp …

AWS BatchでPandocコンテナイメージを実行する

「ECR(Amazon Elastic Container Registry)に …

S3バケットのリクエスタ支払い

S3バケットのリクエスタ支払いを試しました。 バケットの設定 検証用のS3バケッ …

Azure AD SSOからAWS SSOに統合するための提供情報

Azure AD SSO担当者に送る情報をこちらの記事を見て確認しました。 チュ …