XmlJsonRpcPlugin

説明

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 install
trac.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のメソッドにアクセスすることができます。詳細はサンプルをご覧ください。