Python3を用いてMicrosoft Teamsへ投稿(Webhook)

Incoming Webhookの設定

Pythonのプログラムを書く前にMicrosoft Teamsの設定を行います。
Webhookを使用して、投稿したいチャンネルの「…」をクリックします。
表示されるメニューから「コネクタ」をクリックします。

表示されたコネクタ一覧から「Incoming Webhook」を検索し右側にある
「追加」をクリックします。

テキストフィールドが表示されます。
このテキストフィールドにはWebhookに割り当てる名前になります。
名前は必須項目になるので通知される名前を入力し「作成」をクリックします。

表示されるURLはPythonのプログラムに使用するものになるので、控えておいてください。

忘れてしまった場合は、構成済みから「Incoming Webhook」を検索し右側にある「構成済み」を
クリックすることで URL再確認することができます。

Pythonのインストール

今回はPython3とpymsteamsというライブラリを使用するので、
python3-pipも合わせてインストールを行っております。

yum install python3 python3-devel python3-pip python3-libs

python3のインストールが完了したら、pymsteamsをインストールします。

プロキシが不要であれば下記でインストールできます。

pip-3 install pymsteams

プロキシが必要であれば–proxyオプションを指定することでインストールできます。

pip-3 --proxy http://<IP>:<PORT> install pymsteams

pymsteamsが正しくインストールできたか確認します。
pipのインストール済みのライブラリを表示する方法は下記です。

pip-3 list

一覧にpymsteamsが表示されれば、正しくインストールできています。
pymsteamsが正しくインストールできていれば、準備は完了です。

Pythonのプログラム

プロキシが不要な場合は、下記のサンプルプログラムを使用してMicrosoft Teamsに投稿ができます。

#!/usr/bin/env python3
 import pymsteams
 webhookURL="<WebhookURL>"
 teamsWebhook = pymsteams.connectorcard(webhookURL)
 teamsWebhook.title("Title")
 teamsWebhook.text("Text")
 teamsWebhook.send()

プロキシが必要な場合は、下記のサンプルプログラムを使用してMicrosoft Teamsに投稿ができます。

#!/usr/bin/env python3
 import pymsteams
 webhookURL="<WebhookURL>"
 proxyServer="http://<IP>:<PORT>"
 teamsWebhook = pymsteams.connectorcard(
     webhookURL,
     http_proxy=proxyServer,
     https_proxy=proxyServer,
 )
 teamsWebhook.title("Title")
 teamsWebhook.text("Text")
 teamsWebhook.send()

今回はwebhook-teams.pyというファイル名で作成しました。
webhook-teams.pyに実行権限を与え、実行してみます。

chmod 755 webhook-teams.py
./webhook-teams.py

チャンネルに指定した名前、タイトル、本文でメッセージが表示されれば完了です。