tracにはXML-RPCでのAPIがプラグインとしてあるようなので、それを利用してみることにした。

XML-RPCが出来ると何ができるかと言えば、チケットの管理がAPIベースで行える。
つまり、tracからチケットのデータを取得することも、チケットを追加することも出来る。
また、一応、trac-adminを使ってタイプやマイルストーンなどの管理をしていたのも、
APIを使って操作もできるようである。

これをつかって、自分が作っているチケット管理ツールと連携を試みようという思惑である。

さて、そのAPIだが、Tracをインストールしただけでは使えない。
なので、追加でインストールする必要がある。

XML-RPCのプラグインはhttp://trac-hacks.org/wiki/XmlRpcPluginから取得でき、
ここで記述してあるとおりに行えばインストールはできるのだが、一応私が行った操作を記録しておく。

ちなみに、私のtracは0.12である。

#easy_install -Z -U http://trac-hacks.org/svn/xmlrpcplugin/trunk
Downloading http://trac-hacks.org/svn/xmlrpcplugin/trunk
error: Unexpected HTML page found at http://trac-hacks.org/svn/xmlrpcplugin/trunk

と出てしまったので、よく考えず、他の方法を試してみる。

#cd /tmp
#svn export  http://trac-hacks.org/svn/xmlrpcplugin/trunk trac-xmlrp
#easy_install -Z -U /tmp/trac-xmlrpc/
Processing 
Running setup.py -q bdist_egg --dist-dir /tmp/trac-xmlrpc/egg-dist-tmp-FeEr7S
Adding TracXMLRPC 1.1.2 to easy-install.pth file

Installed /usr/lib/python2.4/site-packages/TracXMLRPC-1.1.2-py2.4.egg
Processing dependencies for TracXMLRPC==1.1.2

次に、trac.iniに以下の記述を加える

[components] 
tracrpc.* = enabled 

これでとりあえず、インストールの記述にあったことは終了。
でも、本当のインストールされているのか、pythonを使わない私にはよく判断がつかない。

次に、XML-RPCがきちんと入っているのかを確認する。

 $trac-admin trac/project_dir permission list

と、先ほど記述した場所に対してパーミッション一覧を取得すると、

User           Action         
------------------------------
anonymous      BROWSER_VIEW   
anonymous      CHANGESET_VIEW 
anonymous      FILE_VIEW      
anonymous      LOG_VIEW       
anonymous      MILESTONE_VIEW 
anonymous      REPORT_SQL_VIEW
anonymous      REPORT_VIEW    
anonymous      ROADMAP_VIEW   
anonymous      SEARCH_VIEW    
anonymous      TICKET_VIEW    
anonymous      TIMELINE_VIEW  
anonymous      WIKI_VIEW      
authenticated  TICKET_CREATE  
authenticated  TICKET_MODIFY  
authenticated  WIKI_CREATE    
authenticated  WIKI_MODIFY    

Available actions:
 BROWSER_VIEW, CHANGESET_VIEW, CONFIG_VIEW, EMAIL_VIEW, FILE_VIEW,
 LOG_VIEW, MILESTONE_ADMIN, MILESTONE_CREATE, MILESTONE_DELETE,
 MILESTONE_MODIFY, MILESTONE_VIEW, PERMISSION_ADMIN, PERMISSION_GRANT,
 PERMISSION_REVOKE, REPORT_ADMIN, REPORT_CREATE, REPORT_DELETE,
 REPORT_MODIFY, REPORT_SQL_VIEW, REPORT_VIEW, ROADMAP_ADMIN, ROADMAP_VIEW,
 SEARCH_VIEW, TICKET_ADMIN, TICKET_APPEND, TICKET_CHGPROP, TICKET_CREATE,
 TICKET_EDIT_CC, TICKET_EDIT_COMMENT, TICKET_EDIT_DESCRIPTION,
 TICKET_MODIFY, TICKET_VIEW, TIMELINE_VIEW, TRAC_ADMIN,
 VERSIONCONTROL_ADMIN, WIKI_ADMIN, WIKI_CREATE, WIKI_DELETE, WIKI_MODIFY,
 WIKI_RENAME, WIKI_VIEW, XML_RPC

のように出力され、XML_RPCが現れた。
うまくインストールされたようだ。
(インストール前に実行すればわかるが、このXML_RPCという出力はインストール前にはない。あれば、たぶん既にインストールされているのだろう。)

次に、XML-RPCのAPIが使えるように権限を付与する。

$trac-admin trac/project_dir permission add authenticated XML_RPC

これで、

http://[tracが動いているホスト]/trac/[パス]/login/xmlrpc

にアクセスすると、
XML-RPCのAPIの説明が表示されるようになったら、これできちんと使える為の環境がそろったという事です。

私は、PHPのPEARのXML_RPC2を使ってアクセスしていくのですが、これはまた別に記述する予定です。

お仕事のご依頼・相談を承ります
この記事に関連するお仕事のご依頼やご相談をお待ちしております。 詳しくは、こちら

Leave a Reply

お仕事のご依頼・相談
この記事に関連するお仕事のご依頼やご相談をお待ちしております。 詳しくは、こちら
ソフトウェア&ライブラリ




ライブラリ
airxmail(en)
AIR版メール送受信ライブラリ
airxzip
AIR版ZIP圧縮・解凍ライブラリ
執筆書籍
本、雑誌等

WEB記事:CodeZine
執筆記事はこちら
カレンダー
2012年8月
« 7月   9月 »
 12345
6789101112
13141516171819
20212223242526
2728293031  

カスタム検索
RSS
Add to Google < !–adsense–>
アーカイブ
カテゴリ
にほんブログ村 IT技術ブログへ