【Backlog API】プロジェクト内の課題添付ファイルの一覧やファイル容量を取得する方法

はじめに

こんにちは。GMO NIKKOの石丸です。

私が所属する部署では案件管理にBacklogを活用していますが、Backlogプロジェクトの容量削減の一環で課題に添付されたファイルやファイル容量の一覧を抽出することになりました。

Backlogの画面上で課題に添付されたファイルの詳細を確認するには課題を一つずつ開く必要があるため、課題が大量に作成されたプロジェクトで課題添付ファイルの一覧やファイル容量を確認するには非常に時間がかかってしまいます。

Backlogには課題添付ファイルの詳細を取得するためのAPIが用意されているため、今回はAPIを活用してプロジェクト内の課題添付ファイルの一覧や各ファイルの容量を取得しました。

本記事ではBacklog APIを使う手順や実際に使ったスクリプトを紹介します。

前準備

Backlog APIを使うための毎準備として、まずはAPIキーを発行します。

公式のドキュメントの通り、個人設定>APIキーからAPIキーを発行します。

APIの設定 – Backlog ヘルプセンター
https://support-ja.backlog.com/hc/ja/articles/360035641754-APIの設定

課題添付ファイルの一覧取得

今回は以下のAPIを利用しました。

課題添付ファイル一覧の取得 | Backlog Developer API | Nulab
https://developer.nulab.com/ja/docs/backlog/api/2/get-list-of-issue-attachments/

公式のドキュメントを参考に、まずは curl で課題添付ファイルを取得してみます。

backlog_domain はBacklogのドメイン、issue_key は取得したい課題のキー、api_key は先程発行したAPIキーを指定してください。

curlを実行した結果はこちらです。

name にファイル名、size にファイルサイズの情報が含まれていたため、この情報を元に複数の課題キーからファイル名とファイル容量の一覧を取得するスクリプトを作成しました。

上記のスクリプトを実行することで、課題ID, ファイル名, ファイルサイズ(バイト) のCSVが出力されます。

取得したい課題キー(ID)の一覧はAPIで取得することも可能ですが、今回はBacklogの画面上で「高度な検索」から「添付ファイル有」で検索し、CSVで課題キーの一覧を取得しました。

課題の検索やCSVのダウンロード方法については、以下のドキュメントをご確認ください。

Backlog の課題を検索する – Backlog ヘルプセンター
https://support-ja.backlog.com/hc/ja/articles/360035642594-Backlog-の課題を検索する

課題検索結果一覧の出力 – Backlog ヘルプセンター
https://support-ja.backlog.com/hc/ja/articles/360035642534-課題検索結果一覧の出力

レート制限について

BacklogにはAPIのレート制限があるため、環境に合わせてリクエストの間隔を調整する必要があります。

レート制限 | Backlog Developer API | Nulab
https://developer.nulab.com/ja/docs/backlog/rate-limit/

今回は仮で sleep 0.1 を追加してレート制限を回避しました。

レート制限の情報はAPIで取得することが可能です。

レート制限情報の取得 | Backlog Developer API | Nulab
https://developer.nulab.com/ja/docs/backlog/api/2/get-rate-limit

まとめ

今回はBacklog APIを利用して課題添付ファイルの一覧を取得する方法を紹介しました。

Backlog APIには課題添付ファイルのダウンロードや削除用のAPIも用意されているため、これらを活用することで効率的にプロジェクトの容量を削減することが可能です。

他にも様々なAPIが提供されているため、興味がある方は以下のドキュメントをご覧ください。

Backlog API とは | Backlog Developer API | Nulab
https://developer.nulab.com/ja/docs/backlog/