ITicketChangeListenerでチケット更新時に任意の処理を実行
Tracでチケットが新規追加されたり、更新されたりした場合に何らかの処理を行わせたい場合。
ITicketChangeListenerを実装したクラスを作成し、pluginsフォルダに格納すればオッケー。例えば、以下のような感じ。
import os
from trac.core import *
from trac.ticket import ITicketChangeListener, Ticket
class TicketChangeTest(Component):
implements(ITicketChangeListener)
def ticket_created(self, ticket):
os.system('/usr/bin/sometask %s' % ticket.id)
def ticket_changed(self, ticket, comment, author, old_values):
os.system('/usr/bin/sometask_modify.sh %s' % ticket.id)
def ticket_deleted(self, ticket):
pass
当然ながら、os.systemでスクリプト等を実装せずに、Pythonで直接処理を記述してもオッケーです。
「Subversion・Trac・etc.」カテゴリの記事
- Tracのカスタムクエリで「説明」も検索対象にする(2009.09.16)
- 入門Trac第2版(2009.08.24)
- Trac:文字列項目での範囲指定(2009.07.08)
- ZipPackageDownload修正版(2009.04.12)
- TeamFile(2009.03.07)










![アスキー: UNIX MAGAZINE (ユニックス マガジン) 2008年 01月号 [雑誌]](http://ecx.images-amazon.com/images/I/11Z7w19zJ3L.jpg)













Comments