« TortoiseSVNとSSLクライアント証明書 | Main | Trac&XML-RPC(4) »

2007.11.07

Trac&XML-RPC(3)

Trac&XML-RPCの続き。

【チケットの内容を取得する】

Object[] result = (Object[])client.execute(config, "ticket.get", new Object[] { Integer.valueOf(1) });

 指定したIDのチケットの内容を取得します。戻り値の内容は、配列の順番で以下のような感じになります。

TicketID
引数の値と同じ結果となるはず

チケット作成日時
Integer

チケット最終更新日時
Integer

チケットの内容
java.util.Map


 日時に関しては、new Date(((Integer)result[2]).longValue()*1000); のような感じでjava.util.Dateに変換することができます。取得した内容はIntegerですが、1000倍する際に桁あふれが起こってしまうため、longとして扱う必要があります。

 チケットの内容(Map)に関しては、summary=テストチケット1, keywords=, status=new・・・のような感じで格納されていますので、必要な項目をget("summary")のような感じで取得することができます。

【チケットの変更履歴を取得する】

Object[] result = (Object[])client.execute(config, "ticket.changeLog", new Object[] { Integer.valueOf(1) });

 指定したチケットIDの履歴を全て取得します。なお、パラメータを、new Object[] { Integer.valueOf(1), Integer.valueOf(1194435723) }のような感じで指定すると、第2引数で指定した日時の履歴のみを取得可能です。
 なお、1つのコメントが複数の配列からなっており、それがさらに配列として戻ってくるため、実際の戻り値は配列の配列(Object[][])となっています(1階層目の配列が1つのコメントに相当し、2階層目がコメント内の詳細データとなります)。また、複数の属性を同時に更新したような場合、1回のコメント入力が複数レコードのデータとなります。
 2階層目のデータに関しては、配列の要素順で以下のような感じのようです。

登録日時
Integer

更新者
String

変更した項目
String・・・「分類」とか「マイルストーン」とかの「項目」

更新前の値
String・・・項目が「comment」の場合、コメント番号がセットされます。添付ファイルの場合、空となるようです。

更新後の値
String・・・添付ファイルの場合、ファイル名あるいはそのコメントがセットされます。

不変フラグ
Integer・・・現在のところ、"0"が添付ファイル、"1"が履歴となっているようです。添付ファイルは削除可能(不変ではない)ので"0"が、履歴は(プラグインを入れない限り)削除できないので"1"となっていると思われます。

【指定日以降に更新のあったチケットのリストを取得する】

Calendar calendar = Calendar.getInstance();
calendar.set(2007, Calendar.NOVEMBER, 1);
Object[] result = (Object[])client.execute(config, "ticket.getRecentChanges", new Object[] { calendar.getTime() } );

 2007年11月1日以降に更新されたチケットのIDのリストを取得します。戻り値の中身は、Integerの配列となっています(が、Integer[]でキャストすることはできません)。

|

« TortoiseSVNとSSLクライアント証明書 | Main | Trac&XML-RPC(4) »

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/17007271

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

« TortoiseSVNとSSLクライアント証明書 | Main | Trac&XML-RPC(4) »