谷本 心 in せろ部屋 このページをアンテナに追加 RSSフィード

2009-02-17

[]Redmine 0.8.1が出ています。

http://redmine.jp/redmine_today/2009/02/16/redmine-0-8-1/

早速使ってみましたが、チケットを連続作成できるようになったみたいですね。

国際化が追いついていないらしく、ボタンのラベルは英語でしたが。


ちなみにRESTfulなURLは、0.9系に持ち越されたようです。ちょっと残念。

http://www.redmine.org/issues/show/1901

2009-02-05

[]Bulk Time Entryプラグインを試してみた。

複数の時間入力を簡単に行える、Bulk Time Entryプラグインを導入してみた。

他のプラグインと同様、pluginフォルダに置いてRedmine再起動するだけの簡単セットアップ。

ただ、Bulk Time Entryプラグインは日本語版のメッセージリソースファイルがないから

せめてen.ymlをコピーしてja.ymlを作っておくべき。


で、実際に使ってみたんだけど、どうも若干バギーで、

Redmine 0.8.0でプロジェクトをネストさせた状態だと、

なぜか時間記録の「チケット番号」が欠けてしまう。


リクエストパケットをキャプチャしてみたところ、

どうもチケット番号のキーが指定されていないらしい。


time_entry[1234][issue_id]=12345 とならきゃいけない所が

time_entry[1234]=12345 となってしまってる。


Redmineのバージョン違いなのか、プラグインが悪いのか分かんないけど、そんな状態。

まぁ作者のブログでお願いするか、パッチ作って送るかするかー。

2009-02-01

[][]JavaからRedmineの時間記録を行うソース

カッとなって書いた。

HTTPアクセスにはApache「HttpComponents」のHttpClient4.0-beta2を利用。

(元々、Jakarta Commons HTTP Clientだったヤツですね)

public void recordTime() throws IOException {
	DefaultHttpClient client = new DefaultHttpClient();

	// ログイン処理
	HttpPost post = new HttpPost("http://localhost:3000/login");
	List<NameValuePair> nvps = new ArrayList<NameValuePair>();
	nvps.add(new BasicNameValuePair("username", "admin"));
	nvps.add(new BasicNameValuePair("password", "admin"));
	post.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
	HttpResponse response = client.execute(post);
	response.getEntity().consumeContent();

	// 時間記録
	post = new HttpPost("http://localhost:3000/projects/test/time_entries/new");
	nvps = new ArrayList<NameValuePair>();

	// チケット#
	nvps.add(new BasicNameValuePair("time_entry[issue_id]", "1"));

	// 日付
	nvps.add(new BasicNameValuePair("time_entry[spent_on]", "2009-02-01"));

	// 経過時間
	nvps.add(new BasicNameValuePair("time_entry[hours]", "4"));

	// コメント
	nvps.add(new BasicNameValuePair("time_entry[comments]", "テスト"));

	// 活動
	nvps.add(new BasicNameValuePair("time_entry[activity_id]", "9"));

	post.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
	response = client.execute(post);
	response.getEntity().consumeContent();
}

2009/02/01時点のtrunkから取ってきたRedmine(0.8.0? 0.8.1相当?)で動作確認済み。


RedmineってURLや、メソッド処理が素直なので、こんな叩き方もできるんですね。

もちろん、RESTfulなAPIで叩きたいところですが。

2009-01-30

[]仕事でTracとRedmineの両方を使ってるわけですが。

TracとRedmineの比較なんてググればいくらでも出てくるので、ちょっとだけ。


Redmineの方が、若干プロジェクト管理的な色を持ってる感じですね。

時間記録や、ガントチャートなんかが最初からついてるから、

マネージャがチョイチョイ見ることも出来る感じ。見た目もきれいですし。


「MSプロジェクトなんかで管理するほどじゃないけど、せめて作業内容や工数は管理したい」

という規模だったらRedmine一本で運用することも出来るかも、と思います。


一方、TracはLightningがあるからWindows環境で構築しやすい。

っていう所はどうでも良いとして、XMLRPCで叩けるのが大きいですね。


あんまりTracのXMLRPCって話題にならないみたいですが、

チケットの一括投入とか、チケットを一括で整理したいとか、

(たとえば日付のフォーマットを全部あわせるとか)

そういう時にXMLRPCで叩けるのって凄く大きいと思います。

まぁ「XMLRPCってそもそもどうなのよ」って点は無視しますが。


RedmineにはそういうAPIはまだ付いてないんですが、

0.8.1でRESTfulなAPIの一部がお目見えするんでしょうか?

Redmine - Feature #296: REST API

Redmine - リビジョン 2317


特に時間記録とか、外から叩けると嬉しいんですよね。

オレサマ時間計測ツールでつけた作業時間を、

Redmineに一気に流し込めれば、マネージャも見られるので。