« 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

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/3959/16965017

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

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