Backlog API で取得したプロジェクト一覧を、kintoneにCSV読み込みしてプロジェクトマスタを作成する


プロジェクト管理ツールBacklogのプロジェクト一覧をBacklog APIを使ってプロジェクトの一覧を取得して見ます。
さらに、出力されたJSONデータをjqで整形してCSVに出力し、それをプロジェクトマスタとしてkintoneに読み込みます。
最終的にはBacklogの課題の実績時間をプロジェクト毎に集計したいと思います。

対象

  • Backlogユーザー
  • プロジェクトマネジメントに関わる方

システム構成

  • Backlog
  • kintone

Backlog API でプロジェクトの一覧を取得する

プロジェクト一覧の取得

cURLを使います。
$BACKLOG_URLにはBacklogのURL,$APIKEYにはBacklogのAPIKeyをセットして渡します。

curl -s $BACKLOG_URL/api/v2/projects\?apiKey=$APIKEY

結果

$ bash project-sample.bash 
[{"id":19547,"projectKey":"PROG","name":"プログラミング開発","chartEnabled":false,"subtaskingEnabled":false,"projectLeaderCanEditProjectLeader":false,"useWikiTreeView":true,"textFormattingRule":"markdown","archived":false,"displayOrder":2147483646}]

jqで整形します。

curl -s $BACKLOG_URL/api/v2/projects\?apiKey=$APIKEY | jq -r '.'

[
  {
    "id": 19547,
    "projectKey": "PROG",
    "name": "プログラミング開発",
    "chartEnabled": false,
    "subtaskingEnabled": false,
    "projectLeaderCanEditProjectLeader": false,
    "useWikiTreeView": true,
    "textFormattingRule": "markdown",
    "archived": false,
    "displayOrder": 2147483646
  }
]

"ID","プロジェクトKey","プロジェクト名"のみ取り出してCSVで出力します。
適当な名前でCSVファイルにしておきます。

curl -s $BACKLOG_URL/api/v2/projects\?apiKey=$APIKEY\&archived=false | jq -r '.[] | [.id, .projectKey, .name] | @csv'

19547,"PROG","プログラミング開発"

プロジェクトマスタ kintoneアプリ

kintoneアプリを作ります。

予定工数は後ほど数値を手入力します。

出力したCSVを読み込みます。

まずはここまで。

次やること

  1. Backlog API で取得したプロジェクト一覧を、kintoneにCSV読み込みしてプロジェクトマスタを作成する(済)
  2. Backlogのタスク登録→kintoneのタスク管理アプリにレコード登録する
  3. タスク管理アプリとプロジェクトマスタからプロジェクト毎の予定時間と実績時間の集計をする

2.は外部API連携サービス(ZapierPower AutomateIntegromat)を利用するかもです。
3.は集計用のkintoneアプリを作って、集計処理をJSでゴリゴリ書こうかな。