« Tracのdefault_query | Main | TeedaでCookie »

2008.07.03

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で直接処理を記述してもオッケーです。

|

« Tracのdefault_query | Main | TeedaでCookie »

Subversion・Trac・etc.」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack


Listed below are links to weblogs that reference ITicketChangeListenerでチケット更新時に任意の処理を実行:

» IAttachmentChangeListener [気の向くままに・・・]
ITicketChangeListenerを用いた処理の場合、添付ファイルが追加 [Read More]

Tracked on 2008.07.11 10:46

« Tracのdefault_query | Main | TeedaでCookie »