ヤマムギ

growing hard days.

*

Microsoft TeamsのIncoming Webhooksを使ってAWS Lambda(Python)からFeedlyの記事を自動投稿する

   


Microsoft Teamsの検証を始めましたので、Slackで自動化している投稿もやってみよう、ということで。

Incoming Webhooksの設定

Slackでは、チーム全体にIncoming Webhooksを有効にして、投稿するAPIでチャンネルを指定しますが、Teamsはチャンネルに対してIncoming Webhooksを有効にして、そのチャンネル用のAPIエンドポイントが発行されます。

では、設定していきます。

対象のチャンネルを選択して[コネクタ]メニューを選択しました。

Incoming Webhooksをインストールして[構成]をクリックしました。

任意の名前を入力してアイコンをアップロードします。
ここで設定した名前とアイコンが投稿に使われます。

POSTする先のAPIエンドポイントが発行されるのでコピーしておきます。

Lambdaのコード

元々Lambda→DynamoDB→Lambda→Slackなので、
本当はLambda→DynamoDB→Lambda→SNS→SQSファンアウトで並列でSlackとTeamsに投稿するのが良さそうですが、今回はすでにSlackに投稿しているLambdaに処理を追加しました。

理想構成

今回の構成

追加したコード

1つ目のパラメータのteams_urlには、Incoming Webhooksで発行されたAPIエンドポイントのURLを指定します。
2つ目のパラメータでtitleとtextを指定する必要があります。
textではマークダウンが使えるようなので、「記事リンク」という文字列に記事のURLを指定しています。
改行は
にしています。

このコードの全体を見られる方はこちら「Feedlyのフィードを自動でSlackへ投稿する(AWS Lambda , Amazon DynamoDB)」をご参照ください。

投稿されました!


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

【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。

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

 - AWS ,

ad

ad

  関連記事

Amazon LinuxにRedmine 環境構築(エラーと対応をそのまま記載版)

Amazon Linuxにgit + Redmineの環境を構築してみます。 自 …

Amazon CloudWatch クロスリージョンクロスアカウントダッシュボードを作成

本ブログのCloudFrontとWAFのアカウントと、EC2、RDS、S3などオ …

AWS Cloud9でJavaサンプルを実行する

リモートで共有開発ができるCloud9便利ですね。 Cloud9でJavaのサン …

RDSのスナップショットをS3へエクスポートが日本語マネジメントコンソールでもできるようになってました

RDSスナップショットをS3にエクスポートする新機能を試そうかと思ったのときは、 …

Microsoft TeamsのOutgoing Webhooksを使ってAWS Lambda(Python), Amazon API Gatewayとbot

Microsoft Teamsの検証その2、Slackで実装しているbotも対応 …

AWSアカウント内のLambda関数を削除するLambda(Python)

やりたいこと 特定のAWSアカウントの特定リージョンのAWS Lambda関数を …

Redmineの添付ファイルをS3に同期する

RedmineをAWS上で構築するデザインを考えていて、せっかくなので冗長化しよ …

Amazon Aurora Serverless のログをCloudWatch Logsに出力する

WordPress W3 Total Cache のDatabaseCacheを …

Amazon CloudSearchにAWS Lambda(Python)からデータをアップロードする

このブログはゆるっとアドベントカレンダー Advent Calendar 201 …

RDSスナップショットのS3エクスポート結果確認

RDSのスナップショットをS3へエクスポートが日本語マネジメントコンソールでもで …