マーケティング専門ですが、Pythonの学習を進めている、TomoOneです。
さて、Pythonの基礎がだんだんわかってきて、実際に色んなものを自動化、システム化してやろうと思っています。
前回は超初級で、Pythonのコード4行でslackへの通知を送るコードを書いてみました。
Slackもですが、最近では会社のチャットツールとしてMicrosoft Teamsを使っている企業も多く、APIを利用して他のサービス(例えばBacklogなどの課題管理ツールやTorello)の共有や通知を行うということは、チーム作業を行う場合にとても有益です。
実際にTeamsとの連携はMicrosoft Teamsの連携アプリとしてたくさん登録がされていたり、Microsoft FlowというIFTTTのような様々なアプリを連携、自動化させる事もできますが今回はPythonで実現してみます。
コネクタから Incoming webhookを構成
Teamsの任意のチャンネルの「・・・」から、「コネクタ」を選択
![](https://www.webtomoblg.net/wp-content/uploads/2020/04/a70d4f408c3ef29937dbce8bfcc97b6a.png)
そこから、 Incomming Webhookを選択し、以下のようにURIを発行します。
![](https://www.webtomoblg.net/wp-content/uploads/2020/04/5412f4a719c85d79ed839ada73b4230f.png)
実は、この時点で指定したチャンネルに自動投稿がされています。
![](https://www.webtomoblg.net/wp-content/uploads/2020/04/4fede82a2fd6eb858293a95f9a5387e3.png)
上記のように設定すると、「構成済み」として登録されます。
![](https://www.webtomoblg.net/wp-content/uploads/2020/04/7ce13a4e1599aebfb9707ffb68c3a8ce.png)
生成した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を見てみましょう。
![](https://www.webtomoblg.net/wp-content/uploads/2020/04/41b95d817f661d0d653aaab690ed003c-1024x168.png)
こんな感じで、PythonでMicrosoft Teamsへの投稿がWebhookを使って実現できました!!