ヤマムギ

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

  関連記事

Pandoc PDF出力時に目次とヘッダをつける

目次をつける 環境などはPandoc関連記事をご確認ください。 Pandoc実行 …

Redmine プラグイン開発チュートリアルをやってみる

Redmine 3.0環境でプラグインを作成するチュートリアルをやってみました。 …

RedmineとGitLabを同じサーバにインストールする

Redmineでプロジェクトに設定できるGitはローカルのみ(Redmineと同 …

Redmine Agileプラグインをバージョンアップインストールする

Redmine 3.0.0でRedmineCRMのAgileプラグインをインスト …

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

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

Redmine起動時にPassengerで「Could not spawn process for application」エラー

AWSで起動しているRedmineのEC2をt2.microからt2.small …

SQLAlchemy Session.executeでinsertしてAUTO INCREMENTでセットされたプライマリキーを取得したい

PythohのORMライブラリSQLAlchemyでMySQLにインサートしたレ …

pythonのsqlalchemyで嵌った話

目次 エラーメッセージ原因 エラーメッセージ InvalidRequestErr …

Pepperで撮影した写真をAmazon Rekognitionで分析してその結果をPepperがしゃべる ~(2)Pepper編~

Pepperで撮影した写真をAmazon Rekognitionで分析してその結 …

Amazon LinuxにRedmine をインストールする(手順整理版)

Amazon LinuxにRedmineをインストールしました手順を記載します。 …