« CentOS5でTrac&XML-RPC | Main | Trac&XML-RPC(2) »

2007.11.03

Trac&XML-RPC

Javaを使って、Trac&XML-RPC。使用したライブラリは、Apache XML-RPCです。URLやID/PWの指定はJavaアプリからXML-RPCでTracのTicketを更新を参照。使ったのはTrac0.10.4&XML-RPCプラグイン(Rev.1950)の組み合わせなので、今後のバージョンでは挙動が変わる可能性もあるかと。

【マイルストーンの一覧を取得】


Object[] result = (Object[])client.execute(config, "ticket.milestone.getAll", new Object[0] );

引数は不要なのでこんな感じ。サーバに登録されているマイルストーンの一覧が戻ってきます。並び順は、Ticket作成時のマイルストーンコンボボックスの並び順と一致するようです。なお、戻り値の各要素自体はStringとなっています(が、直接String[]へのキャストはできません)。

【指定したマイルストーンの詳細を取得】


Map map = (Map)client.execute(config, "ticket.milestone.get", new String[] { "milestone3" } );

指定したマイルストーンの情報がMapに格納されて戻ってきます。内容としては、name(String)、description(String)、due(Integer)、completed(Integer)が格納されています。順番に、マイルストーンの名称、内容、期限、完了日(完了していない場合は"0")で、期限および完了日をJavaのDateオブジェクトに変換する場合は、1000倍した値を引数にnew Date(((Integer)due).intValue()*1000)のような感じで処理すればOK。

【Wikiページの一覧を取得】


Object[] result = (Object[])client.execute(config, "wiki.getAllPages", new Object[0] );

サクッとWikiページの一覧を取得できます。

【Wikiページの内容をhtmlで取得】


String html = (String)client.execute(config, "wiki.getPageHTML", new String[] { "WikiStart" } );

指定したページの内容をhtmlとしてレンダリングした結果を取得することができます(ヘッダー・フッターは省略されます)。引数の値(ページ名)は、wiki.getAllPagesの戻り値を参考にすればOK。

【Wikiページの添付ファイル一覧を取得】


Object[] result = (Object[])client.execute(config, "wiki.listAttachments", new String[] { "WikiStart" } );

指定したWikiページに添付されているファイルの一覧を取得できます。日本語ファイル名も問題なく取得可能なようです。

【添付ファイルをダウンロード】


byte[] attachment = (byte[])client.execute(config, "wiki.getAttachment", new String[] { "WikiStart/memo2.txt" });

戻り値は、そのまま処理できる状態となっています(デコードされた状態)。なので、テキストファイルだった場合は、new String(attachment)などで復元できます。バイナリファイルの場合、そのままbyte[]として出力すればOKです。

【チケットの一覧を取得】


Object[] result = (Object[])client.execute(config, "ticket.query", new String[] { "status=assigned&milestone=milestone3" } );

カスタムクエリで使用するのと同様の条件文で、チケットの一覧を取得することができます。戻り値の各値はIntegerで、条件にヒットしたTicket IDとなります。なので、チケットの詳細の情報を取得する場合は、ticket.getと組み合わせて使用することとなります。

|

« CentOS5でTrac&XML-RPC | Main | Trac&XML-RPC(2) »

Java」カテゴリの記事

Subversion・Trac・etc.」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack


Listed below are links to weblogs that reference Trac&XML-RPC:

« CentOS5でTrac&XML-RPC | Main | Trac&XML-RPC(2) »