XML-RPCとJSONを利用してTracを操作することができるプラグインです。XmlRpcPluginを改良して作成しました。Trac0.11で利用することができます。
json.pyをpythonのlibs/site-packageディレクトリへ予めインストールする必要があります。XmlJsonRpcPluginは次のようにしてインストールします。
# svn co http://svn.sourceforge.jp/svnroot/shibuya-trac/plugins/xmljsonrpc/trunk # cd trunk # python setup.py installtrac.iniに下記の記述を追加します。
[components] tracrpc.* = enabled
sf.jpのSVNリポジトリから取得できます。
jQueryを利用してチケットを取得するサンプルを示します。
function get_ticket(form)
{
$.ajaxSetup({
type: "POST",
contentType: "application/json"
});
id = $(form).find("input")[0].value;
$.post('/trac/SampleProject/json/ticket.get', // JSON URL
"["+id+"]", // parameter
function(data,status){ // callback function
d = $(document).find("div");
d.each(function(){
id = $(this).attr("id");
this.innerHTML = data[3][id];
});
},
"json" // protocol
);
}
URLは<TracのURL>/json/<RPCのメソッド名>もしくは、<TracのURL>/login/json/<RPCのメソッド名>でRPCのメソッドにアクセスすることができます。詳細はサンプルをご覧ください。