メインコンテンツへ

『BacklogAPI』とは?使い方や取得方法を詳しく解説

コラム

掲載日:2023/01/31

本記事では、『BacklogAPI』とは何か、使い方や取得方法も詳細に解説しています。外部サービスとの連携方法からプロジェクトIDの取得方法やPythonから実行する方法、wikiなどの管理用法などもを合わせて紹介しますので、ぜひ参考にしてください。

1:『BacklogAPI』とは

APIとは英語の「Application Programming Interface」の頭文字3文字をとった呼称で、接続先のOSを呼び出したり、双方のソフトウェアやアプリケーションの一部を共有させたりするための機能を意味します。アプリケーション開発時に、APIを利用して処理すればライブラリの中身が不明であっても、ライブラリが持つ機能の使用が可能です。

そして『Backlog』とは,株式会社ヌーラボが展開するプロジェクト管理ツールのことで、その名称の単語の意味は「作業予定リスト」のことです。したがって『BacklogAPI』では、『Backlog』上で扱うプロジェクト情報(課題・wiki・ファイル)などファイルの追加または取得などブラウザ上で実行される操作をAPI経由で作業することができます。

2:『BacklogAPI』で取得できる情報例

APIを利用することで、ブラウザ上で作業する『Backlog』の多くの作業が効率よく実行可能となり、wikiなどの管理も容易になります。さらに「CORS=Cross Origin Resource Sharing(オリジン間リソース共有)」によるブラウザ上でAjax(JavaScriptによる非同期通信)を用いたクロスドメイン通信も可能です。ここでは、『BacklogAPI』で取得できる情報例を以下に挙げてみましょう。

・認証

IT用語では「認証」という単語がよく用いられます。「認証」とは、アクセスしてきた人物が本人かどうかを確かめる「相手認証」、または正当アクセスかどうか、データが不正でないかを確かめる「メッセージ認証」、そしてデータ属性を確認する「時刻認証」などを意味する単語です。

これらの認証作業では、一般的にAPI Key 方式と OAuth 2.0 方式が提供されています。したがって、作業する用途に応じてどの方式にするかを選択して使い分けることが可能です。

・API ライブラリ

各種プログラミング言語により、開発者が提供する「Backlog4J 」などの公式API ライブラリにアクセスが可能です。

・Webhook

情報送信を可能にする機能であるWebhookを利用して、チャットやビルドシステムへの通知が可能です。送信可能な分野は「ファイルの追加と更新、スペース情報、最新の更新、アクティビティ、容量使用状況、ユーザー一覧と情報、直近の課題とプロジェクト、wiki、グループ情報、プロジェクト情報、カテゴリ、バージョン、カスタム属性」など、多岐にわたり、別のサービスやシステムとの連携にも利用可能となっています。

3:『BacklogAPI』の活用例

『BacklogAPI』での活用例はいくつもありますが、ここではその代表的な活用例や内容を解説します。

※以下の動作環境はバージョン1.11.11となります。

1.『Googleスプレッドシート』との連携でできること

『BacklogAPI』を活用して、『Googleスプレッドシート』経由で『Backlog』の課題を一括登録することが可能です。以下に、その手順を示します。

1.『Googleスプレッドシート』にログインしてシートをコピーします。
2.『Backlog』からデータを取得し「Backlogメニュー」から「STEP1:Backlogからデータを取得する」をクリックします。承認画面が出たら内容を確認の上「続行][許可」をクリックします。
3.登録対象とする『Backlog』のプロジェクトキーを入力しAPIキーを発行します。
4.実行ボタンをクリックして「定義一覧」を取得します。
5.「件名」「種別」「担当者」などのカテゴリ別に1行1課題ずつ入力(必要なら「親課題」またはカスタム属性を登録)します。
6.『Backlog』メニューにある「STEP2:課題一括登録を実行」をクリックします。
7.「自動的に作成」された「結果出力用シート」で一括登録を確認します。
8.『Backlog』の課題一覧を開いて課題登録を確認します。

※なお、一度作成したスプレッドシートを再利用する際には、6の「STEP2:課題一括登録を実行」の操作のみで課題登録は完了します。ただし、カスタム属性の設定は自動的に反映されないため、カスタム属性の変更があった際には、カスタム属性の列を削除したのちに、再度1から登録する必要があるため注意しましょう。

2.『Chatwork』との連携でできること

『BacklogAPI』を活用すると、国内ナンバーワンの人気を誇るビジネス・チャットである『Chatwork』への連携が可能となり、『Backlog』の課題における更新が『Chatwork』の画面上で共有ができるようになります。『Backlog』の課題を『BacklogAPI』で連携させる手順は以下の通りです。

1.「プロジェクト設定」から「インテグレーション」次に「Chatwork」を選択します。
2.「Chatwork連携の一覧」の中から「Chatworkインテグレーションを追加する」をクリックして追加画面を表示させます。
3.初回連携の際には「ユーザーを追加」をクリックして『Chatwork』の認証を実行します。
4.2回目からは、3で追加したユーザーにて、通知を指定するChatworkルームを選択します。
5.通知を指定するイベントを選択します。
6.「Chatworkインテグレーションを追加する」を選択してクリックします。
7.編集または削除する際は「Chatwork連携の一覧」より実行します。

※なお、ユーザーとチャットルームの変更はできないため、両者の変更が必要な際には、一度設定を削除して作業を1からやり直すことになるため要注意です。

3.『GAS』と『Gmail』との連携でできること

ビジネスアプリケーション開発のプラットフォームである『GAS(Google Apps Script)』と『Backlog API』を用いて『Gmail』に連携し、『Backlog』に課題を登録することが可能です。その連携方法の手順とできることを以下に示します。

・連携手順
1.『GAS(Google Apps Script)』の機能であるインターネット経由での通信をするためのユーティリティの「UrlFetchApp」を使用し、課題追加の API の URLを呼び出します。
2.登録する内容が連想配列されたパラメータをURLと同時にデータ送信します。
3.課題追加の API のページ のパラメータを参考に「プロジェクト」「種別」「優先度」「件名」「文章」などの情報をデータ送信します。

・連携でできること
1.『Gmail』専用の API を使用しメールのデータを取得します。条件をクエリと指定すれば絞り込んだデータの取得が可能です。
2.『Gmail』の詳細なデータ解析が可能です。
3.『Gmail』 のデータ取得処理と課題の登録処理をひとつにまとめられます。
4.『GAS(Google Apps Script)』のスケジューリング機能を用いて、『Gmail』 の受信ボックスを設定した時間で監視できます。

4:『BacklogAPI』の使い方

『BacklogAPI』を、具体的にどのように使用するのか、その方法について重要な2項目を以下に紹介し解説します。

API Key取得

以下の手順にて、『BacklogAPI』の作動に必要な「API Key」を取得しましょう。

1.ユーザーの設定画面から、『Backlog』にログインします。
2.『Backlog』画面の「個人設定」に移動します。
3.個人設定画面のメニューにある「API」を選択します。
4.「API」に任意のメモを入力したのちに「登録」をクリックして取得が完了します。

ProjectIDの確認

以下の手順にて、『BacklogAPI』の正常に作動しているかを調べるために、ProjectIDを確認します。

1.管理画面より「プロジェクト」を選択します。
2.「プロジェクト設定」をクリックします。
3.URLを視認すると「プロジェクトID」が確認できます。

5:Pythonから実行する例

『BacklogAPI』を「Python」から実行することで、第三者にとって見やすい「ガンチャート(工程管理表)」機能が効果的に活用できます。「Python」から実行する『BacklogAPI』の手順や内容を解説します。

1.『Backlog』より表示の対象となる課題を『BacklogAPI』を利用し、条件を指定の上、対象課題をJSON形式にて取得します。

2.「Python-Gantt」のタスクに課題を登録します。
この工程では、「Python-Gantt」のサンプルソースを用いて、SON形式を加工します。『Backlog』の課題をガントチャートの日付に表示させる際の表示は以下の通りです。

● 開始日と期限日までの設定がある場合は、その期間を表示します。
● 開始日だけの指定の場合は、開始日だけを表示します。
● 期限日だけの指定の場合は、期限日だけを表示します。
● 開始日も期限日も設定がなければ両方とも表示しません。

3.のタスクをソートします。
「Python-Gantt」にてタスクをソートします。ソートアルゴリズムは簡単な選択ソートで、公式サイトにはライブラリのソースが公開されているため参考にしてください。

4.「Python-Gantt」のプロジェクトにタスクを登録します。
サンプルを参考にするとタスクは簡単に登録できます。

5.画像を出力して確認します。
サンプルを参考に画像を出力しましょう。

※画像での出力には、公開のためのサーバーを揃える必要がなく、既存のwikiなどに貼り付けが可能というメリットがあります。
ただし、リンククリックにて、課題に対しダイレクトにアクセスできず、SVG形式の画像なため、ツール側が対応していないケースがあることを理解しておきましょう。

まとめ:BacklogのAPIを有効活用しよう

本記事では、『Backlog』のAPIについて、その語意から機能の内容、取得方法、利用方法、課題・wikiのプロジェクト情報の管理方法などを紹介しました。また『Backlog』のAPIを有効に活用するための具体的な手法にいたるまでを詳しい解説をできるだけ分かりやすく記述しています。

『Backlog』のAPIがどのような機能なのか、あるいはどのように活用できるのかというビジネス現場での利用価値が理解できることでしょう。本記事を参考にBacklogのAPIと活用し、スムーズでスマートなITライフを実現してください。

募集職種一覧