« 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


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

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