Skip to content

Python から Microsoft Teams へ投稿する

pymsteams というライブラリを使うと、非常に簡単に Python から Microsoft Teams へメッセージを送信することが出来ます。 具体的には Microsoft Teams 上に Incoming Webhook を作成し、その URL に対して Python からメッセージを送信することになります。 今回は手順とサンプルコードをメモしておきます。

Teams に Webhook を作成する

まず、Microsoft Teams に Incoming Webhook を作成します。

Step.1

Microsoft Teams で該当チャンネル名の右横にある「…」をクリックし、表示されるメニューから「コネクタ」をクリックします。

file

Step.2

(初期状態では左側のメニューから「すべて」が選択されているかも知れませんが)表示されたコネクタ一覧から「Incoming Webhook」を探し、右側にある「追加」をクリックします。

file

Step.3

テキストフィールドが表示されるので、この Webhook に割り当てたい名前を入力し、画面下側にある「作成」をクリックします。 必要であれば Webhook 用の画像も差し替えておきます (後から画像を変更することも可能です)。

file

Step.4

Webhook が作成され、URL が表示されます。 この URL は後ほど、Python から参照することになるので URL 右横のマークをクリックしてクリックボードへコピーし、エディタなどに転記しておきます。

file

Step.5

構成された Webhook はコネクタ管理画面の「構成済み」メニューの中に表示されます。 「Webhook の URL が分からなくなった場合」や「Webhook の画像を変更したくなった場合」は、ここから URL 確認・画像変更を行うことが出来ます。

file

Step.6

Webhook が追加されると、該当チャンネルには以下のようなメッセージが表示されます。

file

pymsteams からメッセージを送信する

Python から Micrsoft Teams にメッセージを送信するには pymsteams というライブラリを使うのが簡単です。 まずは pip 自体をインストールし、続いて pymsteams をインストールします。

1
2
3
yum -y install gcc python-devel
curl -L https://bootstrap.pypa.io/get-pip.py | python
pip install pymsteams

pymsteams を使って Microsoft Teams へメッセージするサンプルは以下の通りです。 <Microsoft Webhook URL> には Microsoft Teams 上に作成した Webhook の URL を入力します。

1
2
3
4
5
6
import pymsteams

myTeamsMessage = pymsteams.connectorcard("<Microsoft Webhook URL>")
myTeamsMessage.title("Message Title")
myTeamsMessage.text("Message Body")
myTeamsMessage.send()

今回は send-to-teams.py という名前でファイルを新規作成しました。 これを実行してみます。

1
python send-to-teams.py

該当のチャンネルに意図したメッセージが表示されていれば成功です。

file