BacklogのV2 API クライアントライブラリ pybacklog

こんにちはCTOの馬場です。

ハートビーツではPythonとGolangを推奨プログラミング言語としています。 インフラがメインの会社っぽいでしょう?

前回はGolang製リソースロックchatbot「locket」の紹介をしたので、今回はPythonモノを紹介します。

弊社ではRedmine、GitLabなどのOSSを多数自前運用していますが、SaaSもたくさん使っています。 そのなかでも利用頻度が高いのがBacklogです。

BacklogはAPIでいろいろ操作できます。 API(v2)の公式ライブラリはJavaのBacklog4Jがあり、サイトでは他にPHP, Ruby, ASP.NETのものが紹介されています。

=> Libraries | Backlog Developer API | Nulab

Pythonのものがなかったのでpybacklogを作りました。 Python 2/3 両対応です。

インストール方法

pypiに登録したのでpipでインストールできます。

pip install pybacklog

簡単ですね!

利用方法

こんな感じで使えます。

# coding: utf-8
from pybacklog import BacklogClient

client = BacklogClient("your_space_name", "your_api_key")

# project
projects = client.projects()

# issues
project_id = client.get_project_id("YOUR_PROJECT")
issues = client.issues({"projectId[]":[project_id], "sort": "dueDate"})

# issue
issue = client.issue("YOUR_PROJECT-999")

簡単ですね!

できること・できないこと

プロジェクト取得、課題取得、課題作成、コメント作成など、よく使う操作については関数を用意しました。

関数が用意されていない操作は do を使ってがんばれます。 詳細はUnsupported operations ?と、各便利関数のソースコードを見てみてください。

もし「この操作を簡単にしたい!」というニーズがあればPull Requestをいただけると嬉しいです。