Backlog API は、Nulab のプロジェクト管理ツール「Backlog」の課題・Wiki・Git リポジトリをプログラムから操作するための API だ。Backlog をチームの中心に据えている開発現場で、周辺ツールとの連携を作る入口になる。
自動化のパターン
よく使われるのは二方向の連携だ。ひとつは Backlog 発の通知で、課題のステータス変更を Slack や Chatwork に流して、Backlog を見ていないメンバーにも動きを届ける。Webhook を使えばイベントドリブンに実装できる。もうひとつは Backlog への書き込みで、CI/CD パイプラインからチケットのステータスを自動更新したり、デプロイ完了をコメントとして残したりできる。課題の検索 API が使えるので、特定条件のチケットを集計してダッシュボードを作るような用途にも向く。
認証とスペースの単位
Backlog は「スペース」という単位で契約され、API のエンドポイントはスペースごとのドメインに紐づく。複数スペースをまたぐ集計をしたいなら、それぞれに対して認証と接続を用意する必要がある。認証は API キーと OAuth の二方式があり、特定ユーザーに紐づく操作(コメントの投稿者など)を正しく記録したいなら OAuth、サーバー間のバッチなら API キー、という使い分けが素直だ。
料金と前提
フリープランでも API は利用できるが、プロジェクト数やユーザー数に制限がある。チームの規模が大きくなれば有料プラン(月額数千円台から)が前提になり、その制限の中で API 連携を設計することになる。
当然の制約
Backlog API は Backlog 専用で、Jira や GitHub Issues など他のツールはそれぞれ独自の API を持つ。複数のプロジェクト管理ツールを横断する統合基盤が必要なら、各 API を個別に扱う覚悟が要る。Backlog に一本化されている環境でこそ、この API の連携価値がきれいに出る。