ヤマムギ

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 クラウドプラクティショナー」という本を書きました。

【PR】 「AWSではじめるLinux入門ガイド」という本を書きました。

 - ProjectManagement, Python, Redmine ,

ad

ad

  関連記事

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

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

SendGrid(sendgrid_python)でメール送信してイベントの情報からメール本文をたどれるようにしておく

動的に生成するメールで実際にどんな本文が送信されたかを記録しておきたいときもある …

AWSのAmazon LinuxにGitマスターサーバをインストールしてRedmineリポジトリブラウザで見る

Amazon LinuxにGitをインストールする Gitをインストールして自動 …

PythonでHTMLエスケープされた全角ハイフンをアンエスケープする

PythonでHTMLエスケープとアンエスケープについて調べていると、 xml. …

CentOS 6.5にTeX Liveをインストールする

CentOS 6.5にTeX Liveをインストールする TeX Wikiを参考 …

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

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

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

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

CentOS 6でPythonからOracleに接続する

OracleのデータをPythonでさわりたくて、その実行環境がCentOS6の …

Redmine 3.0.0 のメールサーバーでGoogleApps SMTPサーバーを利用する

Redmineのメール通知サーバーとしてGoogleAppsを使用する方法です。 …

「大阪Pythonユーザの集まり」に行ってきました

「大阪Pythonユーザの集まり」 に行ってきました。 あんまりメモ取れてません …