PythonによるMicrosoft Teamsでの投稿(超初級)

python
この記事は約3分で読めます。

マーケティング専門ですが、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を使って実現できました!!

タイトルとURLをコピーしました