Backlogはプロジェクト管理ツールです。主にプロジェクト単位でのソースコードのバージョン管理、タスク管理、情報共有、を行えます。
タスク管理、ファイル共有もできるプロジェクト管理ツールBacklog
進捗状況を可視化できたりスケジュールの目安になったりタスクを忘れることの防止になったりで便利なツールなのですが一々タスクを登録するのが手間だったりします。ドラッグ&ドロップとちょっとしたポップアップへの入力で課題の状態を変更できるボード機能が増えたことにより、一度登録したタスクの扱いは非常に楽になりましたが初期化はまだまだ手数がかかります。
待望のBacklogリリース:カンバンボードをリリースしました!〜すべてのユーザーに順次提供していきます〜 | Backlogブログ
初期化の解決方法の一つがGoogleスプレッドシートによる入力です。Google
Google スプレッドシートを使って、Backlogに課題を一括登録しよう – Backlog ヘルプセンター
BacklogにGoogleスプレッドシートを使ってタスクを追加する機能が追加! – 株式会社シーポイントラボ | 浜松のシステム・RTK-GNSS開発
これはこれで便利なのですが多少の制限があります。
最も自由に使え、ユーザ側で扱いやすくできる様になるのは API 機能でしょう。適当な HTTP ライブラリと組み合わせてコード上からまとめて機能を使えるようにするだけでずいぶん楽になります。
Backlog API とは | Backlog Developer API | Nulab
pythonの人間のためのHTTPライブラリRequests – 株式会社シーポイントラボ | 浜松のシステム・RTK-GNSS開発
とはいえ API の機能は多く、そのほとんどを使えるようにコーディングするだけでもひと手間です。 backlog-js は Backlog 開発元の nulab が提供する JavaScript 用の BacklogAPI クライアントライブラリです。
backlog-js – npm
nulab/backlog-js: Backlog API version 2 client for browser and node.
使い方は次の通りです。
import * as backlogjs from 'backlog-js'; // 'xxx.backlog.jp' or 'xxx.backlogtool.com' or 'your package host' // 使っている Backlog のドメインをフル const host = 'cpointlab.backlog.jp'; // Backlog の個人設定から取得できる APIキー を設定 const apiKey = 'hogehogehoge'; // Backlog クライアントをインスタンス化 const backlog = new backlogjs.Backlog({ host, apiKey }); // 後は型に従って適宜好きなAPIを叩くのみ backlog.getProjects().then( projects => { console.dir(projects) });
API の返り値が未定義で Promise
プロジェクト一覧の取得 | Backlog Developer API | Nulab
import * as backlogjs from 'backlog-js'; const host = 'cpointlab.backlog.jp'; const apiKey = 'hogehogehoge'; // プロジェクト一覧の取得を元にレスポンスの型を記述 type ProjectResponse = { id: number projectKey: string, name: string, chartEnabled: boolean, subtaskingEnabled: boolean, projectLeaderCanEditProjectLeader: boolean, textFormattingRule: string, archived: boolean } const backlog = new backlogjs.Backlog({ host, apiKey }); // 型情報を割り当ててプロパティの把握や値の使いまわしを便利に backlog.getProjects().then( (projects: Array<ProjectResponse>) => { console.dir(projects) });