ヤマムギ

growing hard days.

*

Redmine REST APIを操作するpython_redmineを試してみた

   


Redmine のGUIの登録が面倒なのでコマンドで登録、更新、時間の記録が出来るようにしたい、ってことで、Redmine REST APIをPythonで扱う方法をいろいろ見てみましたが、python_redmineが必要な操作を満たしていて使い勝手が良さそうなので試してみました。

python_redmine

RedmineでREST APIを有効にする

管理者でRedmineにログインして[API]タグ-[RESTによるWebサービスを有効にする]にチェックします。
※バージョンによっては[認証]タグにあります。

API操作に使用するユーザの[個人設定]の右ペインでAPIアクセスキーをコピーして使います。

インストール

pipでインストール出来ます。

基本

「key=」にAPIアクセスキーを指定します。

チケット登録

手入力同様に必須でもデフォルト値のあるフィールドは省略可能です。

project_idはプロジェクトの識別子を指定します。

tracker_id(トラッカー) はtrackerテーブルのレコードで確認します。

assigned_to_id(担当者)はusersテーブルのレコードで確認します。

estimated_hours(予定工数)は時間です。

start_date , due_dateは厳密に日付型で指定します。

チケット更新

該当のチケットIDはredmine.issue.getで取得します。
このチケットIDは画面で確認出来るIDです。

よくあるケースとして、ステータス、期日を変更してみました。

作業時間の記録

activity_id(作業種別)は事前に確認しておきます。

spent_on(作業日)は厳密に日付型なので、datetime.today()ではなくdate.today()を使います。

issue_idにチケットIDを指定します。

今後

Slackからの操作を予定しているので、各IDとかを検索できるコマンドも用意しないと、コマンドだけでは完結しないので、そのへんも作ろうと思います。


最後までお読みいただきましてありがとうございました!
【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。

 - ProjectManagement, Python, Redmine ,

ad

ad

  関連記事

SQLAlchemyのModelクラスをMySQLから自動生成する

SQLAlchemyのMySQLモデルを書くのが面倒で、きっと何かツールがあるの …

Backlogの実績工数をAmazon QuickSightでの可視化 – 仕組み編

Backlogの実績工数をAmazon QuickSightで可視化してわかった …

Python SQLAlchemy MySQLでテーブルを指定せずにFunctionを使う

難しく考えて悩んでいましたが、queryに書いてやればいいだけでした。 sess …

Amzon Linux のApacheでRedmineとWordPressをバーチャルホストで共存する

EC2とRDSを節約しようと思いまして、Redmineを動かしてるとこに検証用W …

SQLAlchemyでjoinする

PythonのSQLAlchemyでMySQLのテーブルをjoinするときの覚書 …

CentOS 6.5にRedmineをインストールするためにrubyをインストールする

とりあえずgitは入っている前提で [crayon-5e8951bbc507d5 …

Redmine 3.4にAgile Plugin をインストール

過去にも似たような記事を書いていますが、新しいバージョンのRedmine 3.4 …

IPython Notebookで梅田のラーメン屋さんの統計情報を抽出するというハンズオンに行ってきました

IPython Notebookで梅田のラーメン屋さんの情報をWebスクレイピン …

個人のGoogleカレンダーの予定をPythonで取得する

Google Calendar Twilio ReminderのGoogleカレ …

Tracの外観をプラグインで変更する-TracpathThemeプラグイン

プラグインをインストールするだけで外観を変更する こんな感じのUIで5色(Red …