Backlog API を使ってみよう!

こんにちは。GMO NIKKO エンジニアのALPHです。

今回、偶然にも

Backlog API を触る機会がありましたので

紹介させて頂きたいとおもいます。

Backlogに関してはこちら

http://www.backlog.jp/

 

使ったことがない皆さんもいるかもしれないので簡単に説明すると

Backlogは課題管理が得意なプロジェクト管理ツールなんですが

WikiやGitまわりが使いやすく、また見やすく本当に重宝させて頂いています。

使ってて微妙にやる気がなくなってくるプロジェクト管理ツールが多いのですが

BackLogに関してはだんだん愛着がわいてきて

多少の不便があってもなぜか利用してしまう

不思議な感じがします。

 

昔、影舞(今は活動がとまっている模様)

を少しつかっていたこともあるせいかもしれませんが

なんとなく同じフィーリングで利用できるので

そのような技術者さんはなじみやすいかもしれません。

 

さらに実は、、、、

Backlogは APIが公開されており

APIを使ってある程度自由にデータを取得、更新等ができる

のです。(意外と地味にきづかない!)

 

Backlog API の詳細は下をクリック

https://developer.nulab-inc.com/ja/docs/backlog

 

例えば、APIを使った業務ツール等に発展できるかもしれません。

ただ、若干情報量が少なく、ネット上でのサンプルも少なく

最初は少し苦労するかもしれません。

まずアクセス方法が、私も最初はわかりませんでした。

 

今回、

誰でも簡単にアクセスする方法を簡単に書こうと思うのですが

まずはライブラリではなくcURLのほうがわかりやすいと思いますので

APIキー + cURL を使ったアクセス方法から説明していきます。

 

Backlog API

基本的な構成はREST API

認証方式は、APIキーとOauth認証があり

今回はAPIキーを使った方法を記載します。

 

APIキーはすぐ手軽に

一般ユーザーでも管理画面から発行できます。

Backlog API設定

 

権限はデータ取得であればゲストビューアーでもOKです。

APIでアクセスするユーザーを準備したら

そのAPIユーザを対象プロジェクトに参加させます。

プロジェクト参加権限がない場合はデータ取得できません。

※書き込みはトラブルの元なので注意してください。

 

それでは、APIキーを発行したら下記のようにcURLでたたいてみましょう
下の例は、プロジェクトの一覧を取得するコマンド

下の例は、課題の一覧を取得するコマンド

戻りの値はJson形式で返ってきます。

※現在MAX100件程度しか返ってこないので、もっとデータをとりたい場合は うまくoffsetを利用してください。

あとは、プログラムを使って、その戻ってきたJsonデータをCSVになおしたりします。
また、追加・更新系の処理はメソッドPOST,PATCH等を利用して行っていきます。

プロジェクトを新規に追加する場合のコマンド例

プロジェクトの更新を行う場合のコマンド例

だんだんめんどくさくなってきましたね(ToT)
やっぱり簡単にライブラリを使ってデータを抽出したいという人は
Backlog-v2 のライブラリをおすすめします。

Backlog-v2 は ここから
https://github.com/atomita/backlog-v2.git

まず、対象のディレクトリにコンポーザーとセットでインストールします。

次に同じ階層に適当な名前でPHPを作り、疎通テストを行います。
その際にautoload.php を読み込んであげてください。

こちらも思ったより、簡単にインストール&疎通テストまでできますね。

基本はこのライブラリを使っている人が多いのではないかと思いますが

イメージがわきやすいcURLとライブラリの比較を中心に今回は記載させて頂きました。