はじめに
Backlogで定型的な問い合わせに手動で回答していませんか?月に何十件も繰り返される定型作業を自動化できたら最高ですよね!
こんにちは!ポーラ・オルビスホールディングスのITプロダクト開発チームでエンジニアをしている中村です。
今回は、BacklogのAPIとWebhookを組み合わせて、課題への自動応答機能を開発 してみました。
「FTPユーザー作成依頼」のような定型的な申請が来たら、自動的に受付コメント・期限設定・担当者アサインまで完了させます。
この記事では、Backlog APIとWebhookを中心に開発の手順を公開します。
やりたいこと
課題
以下のような定型的な申請が月に何件も発生していることがありました。
- アカウント発行依頼
- 権限変更依頼
- FTP権限付与依頼
これらに対して、毎回同じ内容のコメントを手動で書き込み、期限設定・担当者アサインを行う...大変ですよね...
解決策
特定の条件を満たす課題が起票されたら、完全自動で以下を実行 します。
トリガー条件
今回はタイトルにFTP権限付与依頼が含まれる課題の作成をトリガーにします。
自動実行内容
- 受付コメントを自動投稿
申請を受付けました。 尚, 払出には, 5営業日かかりますのでご承知おきください。 - 期限日を5日後に自動設定
- 状態を「処理中」に自動変更
- 担当者を特定ユーザーに自動アサイン
これにより、人的ミスを防ぎつつ、即座に申請者へフィードバックできるようになります。
システム構成
アーキテクチャ概要
Backlogで課題が起票されると、Webhookが発火し、API Gatewayを経由してAWS Lambdaが実行されます。
AWS Lambdaは、回答文章などの情報をS3に格納されているCSVファイルから読み込み、Backlog APIにリクエストを送信します。
なお、BacklogにはIP制限がかかっているため、AWS LambdaをVPC内に配置し、固定IPアドレス経由で通信できるように構成しています。
実装手順
Step 1: Backlog Webhookの設定
Backlogの各プロジェクトで、どのタイミングでWebhookをトリガーするか設定できます。Webhook URLにAPI GatewayのエンドポイントURLを指定します。
設定方法
- Backlogプロジェクト設定 → 「インテグレーション」 → 「Webhook」
- 「Webhookを追加する」ボタンをクリック
- 以下を設定:
| 項目 | 設定値 |
|---|---|
| Webhook名 | 任意の名前 |
| Webhook URL | API GatewayのエンドポイントURL |
| トリガー | 課題の追加 |
Step 2: Backlog APIの設定と実装
API Keyの発行
- Backlog画面右上のアイコン → 「個人設定」
- 「API」タブを選択
- 「登録」ボタンでAPI Keyを発行
※セキュリティ注意: API Keyは再表示できないため、必ず安全に保管してください。
使用するAPI
AWS Lambdaから以下のAPIを呼び出して、Backlogへの自動応答を行います。
コメント追加API
エンドポイント:
POST https://{BACKLOG_SPACE}/api/v2/issues/{issue_id}/comments?apiKey={API_KEY}
参考: コメント追加API
課題更新API
エンドポイント:
PATCH https://{BACKLOG_SPACE}/api/v2/issues/{issue_id}?apiKey={API_KEY}
詳細: 課題更新API
パラメータ詳細
| パラメータ | 説明 | 取得方法 |
|---|---|---|
BACKLOG_SPACE |
スペースID | URLのhttps://xxx.backlog.jpのxxx部分 |
issue_id |
課題ID | WebhookペイロードのキーID(content.key_id) |
API_KEY |
API認証キー | 個人設定 → APIから発行 |
Step 3: AWSの各サービスの構築
本記事ではBacklog周りがメインのため、こちらの記載は割愛いたします。
おわりに
Backlog APIとWebhookを利用して、課題への自動応答機能を開発してみました。BacklogのAPIドキュメントは日本語で丁寧に書かれており、初めての方でもあまり迷わず実装できると思います。Backlog以外でも自動化によって業務を効率化できる部分はまだまだあると思うので、利用者に喜ばれる仕組みは今後も開発していきたいです。
我々のITプロダクト開発チームでは、他にも様々な開発を行っていますのでご興味のある方はこちらの記事もおすすめです。
この記事が、皆さんの業務効率化のヒントになれば幸いです。最後までお読みいただき、ありがとうございました!
