« 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

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/3959/41716543

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

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

Tracked on 2008.07.11 at 10:46

« Tracのdefault_query | Main | TeedaでCookie »