TracのXML-RPCプラグイン
おもしろいね。
APIでWikiをホゲホゲするのもいいけど、Ticketをホゲホゲするのがよいね。 Webインタフェース上でステータスをかえようとするといろいろ面倒なので、 一度CSVに落してから、ステータスを見ていって、コメントや状態を書いた後に、一気にXML-RPCで流し込む。
サンプルみながら書いてみた。コード書くの久しぶりだ。 全員でチェックしながら状態を変更するときには、リアルタイムでWeb経由で操作するより、このやり方の方が楽な気がする。 今どき、普通のやり方かもしれないけどね。
元ファイル
"200","あんなことがしたい。","D" "201","こんなことがしたい。","F" "202","そんなことがしたい。","W" "203","あんなやそんなことがしたい。",""
Pythonスクリプト
import xmlrpclib
import csv
server = xmlrpclib.ServerProxy(
"http://hogehoge:hogehoge@localhost/trac/login/xmlrpc")
multicall = xmlrpclib.MultiCall(server)
# print the content of WikiStart
#for field in server.ticket.getTicketFields():
# print field
reader = csv.reader(file('enhancement.csv', 'rb'))
for row in reader:
id = row[0]
status = row[2]
if status == 'D':
multicall.ticket.update(int(id),
'他のチケットと内容が重複しているのでクローズします。',
{'status':'closed', 'resolution':'duplicate'})
elif status == 'W':
multicall.ticket.update(int(id),
'対応する必要がないと判断しクローズします。',
{'status':'closed', 'resolution':'wontfix'})
elif status == 'F':
multicall.ticket.update(int(id),
'対応済みのためクローズします。',
{'status':'closed', 'resolution':'fixed'})
multicall()
Comment by kompiro on Sat Mar 3 23:50:31 2007
おもしろいっすよね。えいやってプログラムで操作できるの。
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)