pymsteams というライブラリを使うと、非常に簡単に Python から Microsoft Teams へメッセージを送信することが出来ます。 具体的には Microsoft Teams 上に Incoming Webhook を作成し、その URL に対して Python からメッセージを送信することになります。 今回は手順とサンプルコードをメモしておきます。
Teams に Webhook を作成する
まず、Microsoft Teams に Incoming Webhook を作成します。
Step.1
Microsoft Teams で該当チャンネル名の右横にある「…」をクリックし、表示されるメニューから「コネクタ」をクリックします。
Step.2
(初期状態では左側のメニューから「すべて」が選択されているかも知れませんが)表示されたコネクタ一覧から「Incoming Webhook」を探し、右側にある「追加」をクリックします。
Step.3
テキストフィールドが表示されるので、この Webhook に割り当てたい名前を入力し、画面下側にある「作成」をクリックします。 必要であれば Webhook 用の画像も差し替えておきます (後から画像を変更することも可能です)。
Step.4
Webhook が作成され、URL が表示されます。 この URL は後ほど、Python から参照することになるので URL 右横のマークをクリックしてクリックボードへコピーし、エディタなどに転記しておきます。
Step.5
構成された Webhook はコネクタ管理画面の「構成済み」メニューの中に表示されます。 「Webhook の URL が分からなくなった場合」や「Webhook の画像を変更したくなった場合」は、ここから URL 確認・画像変更を行うことが出来ます。
Step.6
Webhook が追加されると、該当チャンネルには以下のようなメッセージが表示されます。
pymsteams からメッセージを送信する
Python から Micrsoft Teams にメッセージを送信するには pymsteams というライブラリを使うのが簡単です。 まずは pip 自体をインストールし、続いて pymsteams をインストールします。
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 を入力します。
import pymsteams
myTeamsMessage = pymsteams.connectorcard("<Microsoft Webhook URL>")
myTeamsMessage.title("Message Title")
myTeamsMessage.text("Message Body")
myTeamsMessage.send()
今回は send-to-teams.py
という名前でファイルを新規作成しました。 これを実行してみます。
python send-to-teams.py
該当のチャンネルに意図したメッセージが表示されていれば成功です。
コメント