Python-Redmine¶
PythonからRedmineへREST APIでアクセスするライブラリです。
https://python-redmine.com/index.html
最初の一歩¶
Python-Redmineのインストール¶
pipでインストール可能です。pip install python-redmine
PythonからRedmineへのアクセス¶
Redmineサイトへの接続設定¶
Redmineサイトへ接続するための設定を定義します。
接続には、ユーザー名・パスワードを指定する方法と、APIキーを指定する方法があります。
次はAPIキーを指定する場合です。
from redminelib import Redmine
from redminelib.exceptions import ResourceNotFoundError
redmine_api_key='0123456789abcdef0123456789abcdef'
redmine = Redmine('https://redmine.example.com', key=redmine_api_key)
- REST API実行時にSSLの証明書検証エラーが発生する場合、回避策として検証をスキップする指定があります(ちゃんと検証できる環境を用意するのが望ましいですが)。
redmine = Redmine('https://redmine.example.com', key=redmine_api_key, requests={'verify': False})
- Redmineサーバーにアクセスできない時は、しばらく待たされてタイムアウトが発生しました。
issueの取得(ID指定)¶
try:
issue = redmine.issue.get(1001)
print(f'id={issue.id}, subject={issue.subject}, tracker={issue.tracker.name}, status={issue.status.name}')
except(ResourceNotFoundError):
print(f'{id =} not found')
APIメモ¶
取得時¶
Issue¶
Issueを取得すると、Redmineのチケットに登録されている属性が取得できます。Redmine上で未記入の属性はIssueに存在しない(未定義)ので、Pythonでアクセスするときに留意が必要です。
属性名 | 内容 | 備考 |
---|---|---|
id | チケットのID | |
subject | 題名 | |
tracker | トラッカー | tracker.idでトラッカーIDを、tracker.nameでトラッカー名を取得可能 |
status | ステータス | status.idでステータスIDを、status.nameでステータス名を取得可能 |
project | プロジェクト | project.idでプロジェクトIDを、project.nameでプロジェクト名を取得可能 |
priority | 優先度 | priority.idで優先度IDを、priority.nameで優先度名を取得可能 |
category | カテゴリ | category.idでカテゴリIDを、category.nameでカテゴリ名を取得可能 |
assigned_to | 担当 | assigned_to.idで担当IDを、assigned_to.nameで担当名を取得可能 |
(以下略)