2012/10/08
RedmineのREST機能を使ってみた
今の案件は Redmine を使ってる。
実は Redmine を本格的に使うのは初めてだったりする。
で、使ってみた感想、「チケットに埋もれる...w」
使い方の問題のような気もするのだが、
基本的にチケットの重み付けがプロジェクト全体の物しか無く
ユーザ毎の重み付けが無いのでチケットの管理がしづらい。
ぶっちゃけ、他人に振られたチケットとか興味無いし、
自分にとってのチケット意味付けが欲しいんだよね。
ウォッチャーとかは有るけども「管理責任のあるチケット」も
「単なるオブサーバのチケット」もごちゃ混ぜなのであまり使えない。
で、前置きが長くなったが Redmine には WebAPI で XML や JSON
でチケットの情報を取得できる機能が付いていることに気がついた。
これを使って俺様的チケット管理が出来るんじゃ無いかと思い調べてみた。 API の仕様はこの辺{
"issues": [
{
"id": 1117,
"project": {
"id": 9,
"name": "Wiki Extensions"
},
"tracker": {
"id": 2,
"name": "Feature"
},
"status": {
"id": 1,
"name": "新規(New)"
},
"priority": {
"id": 4,
"name": "通常(Normal)"
},
"author": {
"id": 3,
"name": "Haru Iida"
},
"assigned_to": {
"id": 3,
"name": "Haru Iida"
},
"fixed_version": {
"id": 187,
"name": "0.6.0"
},
"subject": "Compatible with redmine 2.1",
"description": "",
"start_date": "2012-10-07",
"done_ratio": 0,
"created_on": "2012-10-07T09:10:27Z",
"updated_on": "2012-10-07T09:10:27Z"
},
…
],
"total_count": 240,
"offset": 0,
"limit": 25
}
サマリ的に必要な情報は一通り取得できるようだ。
デフォルトでは25件単位にページングする。
これを使って俺様的チケット管理が出来るんじゃ無いかと思い調べてみた。 API の仕様はこの辺
- 英語:
http://www.redmine.org/projects/redmine/wiki/Rest_api - 日本語(古い):
http://www.r-labs.org/projects/r-labs/wiki/Redmine_REST_API
実際に動かしてみる
- http://www.r-labs.org/issues.json
実際に使いそうな機能を確認
- プロジェクト指定:
/issues.json?project_id={id} - ステータス制限:
/issues.json?status_id={open|closed}{id} - 更新日範囲指定:(*1)
/issues.json?updated_on=><2012-03-01|2012-03-07 - 更新日ソート:(*1)
/issues.json?desc=updated_on - ウォッチャー指定:
出来ない
- カスタムクエリ指定:
/issues.json?query_id={id}
その他
ちなみに更新機能もあるようだが今回はそこまで考えていないのでパス。 こんな感じで Web-Mail 風にチケット管理したいなーと思って鋭意作成中。 今の案件には間に合いそうも無いけどwこの投稿へのコメント
コメント・フォーム