Backlog の更新を Zapier 経由で Microsoft Teams に通知する
一部のプロジェクトの課題管理には Nulab 社の Backlog を利用しています。
オンライン プロジェクト管理 & コラボレーションツール Backlog
標準では通知はメールベースなのでいろんな通知がわんさか来てなにがなんだかわからなくなります。
メールからの脱却みたいな話もありますし。
でチャットコミュニケーションツールには Slack と Microsoft Teams を利用しています。
Slack に関しては様々な記事があがっているので今回は 最近ローンチされた Microsoft Teams に対して通知を飛ばしたいと思います。
Microsoft Teams – Group Chat software
手順
- Zapier でトリガーを追加する
- Backlog から Webhook を追加する
- Microsoft Teams に コネクタを追加する
- Zapier でアクションを追加する
詳細
Zapier でトリガーを追加する
Zapier とはサービスとサービスを連携してくれるハブサービスです。似たような有名どころで IFTTT とかでしょうか。
Zapier | The easiest way to automate your work
- サインアップ
適当にサインアップします。
無料枠だと、2ステップまでとか制限がありますが、今回は無料で大丈夫です。
サインアップ後、画面上の「MAKE A ZAP!」ボタンを押します。
- Trigger 登録
Zapier をキックするトリガーを登録します。
今回ですと、Backlog の更新です。
様々なサービスから Webhooks by Zapier を選択します。
Webhook とは POST リクエストをサクっと呼んでくれる仕組みです。
次の画面で Catch Hook を選択して「Save + Continue」ボタンを押します
次の画面の Pick off a Child Key はブランクのまま「Continue」ボタンを押します。
そうすると Webhook の URL が自動生成されるので、URL をコピーしておきます。
「Test this Step」は後程やるので、ブラウザは開いたままで次の Backlog の設定に進みます。
Backlog から Webhook を追加する
先ほど作成したトリガーを呼び出す仕組みを Backlog 側に追加します。
Backlog のプロジェクト設定画面のメニューから「Webhook」を選択して「Webhookを追加する」ボタンを押します。
適当な名前を付けて、先ほど Zapier 側で生成されて URL を指定します。
イベントは今回は課題の追加に設定しておきます。
送信をテストする
後述する Teams 側に通知する内容を設定するために一回テストします。
Backlog ⇒ Zapier の送信テストをするとアクションで設定する内容が展開されます。
Backlog の Webhook 設定画面の下部にある実行テストを表示しておきます。(まだ押しても意味ないです。)
Zapier の画面に戻って「OK,I did this」ボタンを押します。
そうすると受信を待機している状態になるので、Backlog の画面でテストを実行します。
「Test Successful!」と表示されれば成功です。
Backlog 側の設定は以上です。
Zapier の画面はそのままにして次のステップに進みます。
Microsoft Teams に コネクタを追加する
実際に Teams に投稿するためのコネクタを追加します。
Teams のチャンネルのコンテキストメニューから「コネクタ」を選択します。
コネクタの一覧から Incoming Webhook を追加します。
適当な名前と画像を設定して「作成」ボタンを押します。
そうすると自動的にURLが生成されるので、コピーして「完了」ボタンを押します。
Teams 側の設定は以上です。
※ ちゃんと「完了」ボタンを押しておきましょう。押していない状態でTestしたら飛ばないなぁってしばらく悩んでました…
Zapier でアクションを追加する
Zapier の画面に戻ってアクションを追加します。
こちらもトリガーと同じ様に Webhooks by Zapier を選択します。
次の画面で POST を選択して「Save + Continue」ボタンを押します。
次の画面では実際に Teams に通知する内容を設定します。
URL には先ほど Teams 側で生成された URL を設定します。
Payload Type は Json を設定します。
Data には Teams でどのような内容を通知するかを指定します。
こちらは Teams 側のお作法に準拠してください。以下のサイトが参考になります。
Actionable message card reference | Microsoft Docs
Zapier は STEP1 で設定したトリガー側から送信されるデータ(今回は Backlog の Webhook からのデータ内容)を以下のように選択できるようになっています。めっちゃ便利です。
例として以下の設定にしてみました。
Backlog は Project Key と Content ID の組み合わせで URLが生成されるので、通知から直接リンクできるようにしています。
それ以外の設定はデフォルトのままで大丈夫です。
「Save + Continue」ボタンを押すと自動的にテストが走って、
と Teams に通知されます!
やった!
おまけ
今回はアクションに Webhook を使用していますが、アクションのアプリに Teams が追加される動きもあるみたいです。
Microsoft Teams Integrations | Zapier
以上です。