マーケティング専門ですが、Pythonの学習を進めている、TomoOneです。
さて、Pythonの基礎がだんだんわかってきて、実際に色んなものを自動化、システム化してやろうと思っています。
前回は超初級で、Pythonのコード4行でslackへの通知を送るコードを書いてみました。
Slackもですが、最近では会社のチャットツールとしてMicrosoft Teamsを使っている企業も多く、APIを利用して他のサービス(例えばBacklogなどの課題管理ツールやTorello)の共有や通知を行うということは、チーム作業を行う場合にとても有益です。
実際にTeamsとの連携はMicrosoft Teamsの連携アプリとしてたくさん登録がされていたり、Microsoft FlowというIFTTTのような様々なアプリを連携、自動化させる事もできますが今回はPythonで実現してみます。
コネクタから Incoming webhookを構成
Teamsの任意のチャンネルの「・・・」から、「コネクタ」を選択

そこから、 Incomming Webhookを選択し、以下のようにURIを発行します。

実は、この時点で指定したチャンネルに自動投稿がされています。

上記のように設定すると、「構成済み」として登録されます。

生成したURLを使って、Pythonのコードを作る
次は、Pythonのコードです。
僕は、Microsoft AzureのVMで実行していますがPython3、pipが入っている環境であれば問題ないと思います。
pymsteamsをインストール
pipコマンドで、pymsteamsというPythonのMicrosoft Teams用便利機能をインストールします。
僕の環境では、python2系とpython3系がどちらもいるため、pipもpip3として使います。
pip3 install pymsteams
その後、サーバの任意の場所にPythonのファイルを作成します。
今回は、teams-send.pyという名前でファイルを作成しました。
# ライブラリのインポート
import pymsteams
## 生成したTeamsのWebhookURLを変数に格納
TEAMS_WEB_HOOK_URL = "https://outlook.office.com/webhook/xxxxxxxxxxxxxxxxxxxxxx"
# Teamsに投稿
myTeamsMessage = pymsteams.connectorcard(TEAMS_WEB_HOOK_URL)
myTeamsMessage.title("めっせーじたいとる")
myTeamsMessage.text("めっせーじほんぶん")
myTeamsMessage.send()
ファイルを実行して確認
早速確認します。作成したPythonファイルがあるディレクトリで、以下のコマンドを実行します。
python3 teams-send.py
エラーがなく実行できればバッチリです。
Teamsを見てみましょう。

こんな感じで、PythonでMicrosoft Teamsへの投稿がWebhookを使って実現できました!!