Backlogを日々利用している中で、定形的な課題のような、毎度同じ文言を同じ時間で送る投稿が大変だと感じる事がありました。
そのため、定形的な作業を自動化し運用負荷の軽減が出来ないか調査した結果、AzureのLogic Appsが利用出来そうだったので今回検証してみます。
今回のゴール
定期的にBacklogへ課題を投稿し、完了後にTeamsで報告する仕組みを作成します。
処理の概要
下記の流れでLogic Appsを作成していきます。
- 定期的に実行するトリガーを作成
- HTTPリクエストを利用しBacklogに課題を投稿
- 項番2が正常に完了したらTeamsのチャットへ完了連絡を送信
事前準備
- APIキーの発行
- projectId(プロジェクトごとのID)、issueTypeId(種別ごとのID)の取得
(参考)ProjectId,issueTypeIdの取得
- BacklogからのWebhookで動作するLogic Appsを作成します。
Logic Appsを保存後HTTPリクエストの受信に記載のURLをコピーします。
- Backlog側でWebhookの送信設定を行います。
課題が追加されたことをトリガーとして実行されるWebhookを作成します。
送信するURLには項番1で作成したLogic AppsのURLを記載します。
- Logic Appsの実行結果からprojectId,issueTypeIdの情報を取得します。
Logic Appsの作成
では、事前準備が整いましたので、実際にBacklogへ自動で課題を投稿する仕組みを作成していきます。
定期的に実行するトリガーを作成
今回は3ヶ月に1回実行するようにします。
HTTPリクエストを利用しBacklogに課題を投稿
必須な下記クエリを含めJson形式でクエリを作成します。
必須クエリ:projectId、summary、issueTypeId、priorityId
※APIキーはBacklogにて発行したAPIキーを記載してください。
項番2が正常に完了したらTeamsのチャットへ完了連絡を送信
実行結果
下記画像の通りBacklogへ課題を投稿できました。
その他のパラメータを使うことで、担当者や課題のステータスも指定できそうですね。
まとめ
今回は、Logic AppsからBacklog への課題投稿を検証してみました。
Logic AppsにはMicrosoft製品のアクションや多くのサードパーティー製品のアクションはすでにありますが、Backlog等アクションが無い製品との連携にHTTPリクエストは利用できそうです。
また、Backlog への課題投稿はPowerShell等を利用したコマンドからも可能ではありますが、Logic Appsを利用することで課題投稿をコーディングなしで自動化できるメリットがあります。
今後もLogic Appsについて勉強していこうと思います。
ご参照ありがとうございました。