A library for backlog api
Project description
PyBacklogPy
これは何?
BacklogAPI を Python から簡単に呼べるようにラップしたものです。
なんでこんな名前なの?
PyBacklog
も BacklogPy
も既に存在したので、苦肉の策で Py で挟みました。
必須環境
Python 3.5
以上- typing モジュールを使用しているため
- 開発およびテスト環境は
Python 3.7.3
を使用
使い方
詳細な仕様についてはドキュメントを参照してください
インストール
pip からインストールします。
pip install git+https://github.com/kitadakyou/pybacklogpy
ドメインおよびシークレットキーの登録
使用するプロジェクトの直下に secrets
というファイルを作り、以下のように値を入れておいてください。
なお、当プロジェクト直下にある secrets_sample
をコピーすると楽です。
なお、このファイルは誤ってリポジトリにあげないよう、 .gitignore
に追加しておくことを推奨します
[backlog]
Host = kitadakyou.backlog.com
ApiKey = qwertyuiopasdfghjklzxcvbnmqazwsxedcrfvtgbyhnujmikolp
モジュールを読み込み、インスタンス生成
使用するモジュールをロードします。 それぞれはクラスになっているので、そのインスタンスを生成します。
例として、Wiki の API を呼びたいと考えます。
from pybacklogpy.Wiki import Wiki
wiki_api = Wiki()
API を呼ぶ
どのような API があるかは PyBacklog のドキュメント、もしくは BacklogAPI のドキュメントを参照してください。 また、プロジェクトID や Wiki ID 等の調べ方は…ググればすぐに出てきます
Wiki を追加するサンプル
from pybacklogpy.Wiki import Wiki
wiki_api = Wiki()
response = wiki_api.add_wiki_page(
project_id=1000,
name='SampleWikiName',
content='サンプル Wiki 本文',
mail_notify=False,
)
Wiki を更新するサンプル
from pybacklogpy.Wiki import Wiki
wiki_api = Wiki()
response = wiki_api.update_wiki_page(
wiki_id=12345,
name='TestWikiName',
content='テスト 本文',
mail_notify=False,
)
返り値を見る
全ての関数は request の レスポンスオブジェクト を返します。
最低限リクエストが成功しているかを確認するには、 response.ok
を見るのが1番早いです。
Wiki の更新が成功しているか確認するサンプル
from pybacklogpy.Wiki import Wiki
wiki_api = Wiki()
response = wiki_api.update_wiki_page(
wiki_id=12345,
name='TestWikiName',
content='テスト 本文',
mail_notify=False,
)
if not response.ok:
raise ValueError('Wiki の更新に失敗')
また、レスポンス本文は response.text
の中身に生(=テキストの)の JSON が入っています。標準ライブラリ json
を使って parse してあげれば、簡単に使えます。
Wiki の内容を取得するサンプル
import json
from pybacklogpy.Wiki import Wiki
wiki_api = Wiki()
response = wiki_api.get_wiki_page(
wiki_id=12345,
)
if not response.ok:
raise ValueError('Wiki ページ情報の取得に失敗')
wiki_data = json.loads(response.text)
wiki_name = wiki_data['name']
wiki_content = wiki_data['content']
どのAPIにおいても、基本的に同じだと思います。
ファイルの取得
ファイルを取得する関数を使用する場合は、まずディレクトリを作成する必要があります。
デフォルトではプロジェクト直下の /tmp
ディレクトリにファイルがダウンロードされます。(今の所、変更不可)
ファイルを取得する関数は「1番目がファイルのPATH」、「2番目がレスポンスオブジェクト」のタプルを返します。 そのため、一度に受け取るには、以下のように返り値を受け取る変数を2つ用意する必要があります。
from pybacklogpy.Wiki import Wiki
wiki_api = Wiki()
downloaded_file_path, response = self.wiki_attachment.get_wiki_page_attachment(
wiki_id=12345,
attachment_id=987654,
)
print(downloaded_file_path)
バグを見つけたら
自由にブランチを切って、 PullRequest を出してください。Issue を上げるだけでも大丈夫です。 一週間に一回くらいは見るようにするので、対応出来たら対応します。(全て対応するとは言っていない)
もし、PR出しても全くリアクションがない場合は Twitter の kitadakyou 、A若しくは作者のメール宛にご連絡ください。
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for pybacklogpy-0.8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac266b59e14c756656a7dab16d4cb11547ea58570e503968853283167cb35fa2 |
|
MD5 | 1ec66dcd4f0c443fbc36cef23d043352 |
|
BLAKE2b-256 | 0fbc2ddbaad69a258070a6c89373abf39fd7a2fd88e34f811a0c71b830dc16a6 |