チケットメールのタイトルに更新者の名前を表示
trac.ini で
[notification] ticket_subject_template = $prefix #$ticket.id: [$ticket.owner] $summaryみたいのを設定すると subject に担当者が入るようになりますが、更新者を入れようとすると Trac 本体を修正しないとできないですね。
とりあえず Trac 本体に ↓ のパッチを当てて
--- trac/ticket/notification.py.orig 2010-03-31 20:46:00.601875000 +0900 +++ trac/ticket/notification.py 2010-03-31 20:46:42.960769800 +0900 @@ -133,7 +133,7 @@ self.ticket['new'] = self.newticket self.ticket['link'] = link - subject = self.format_subj(summary) + subject = self.format_subj(summary, change_data) if not self.newticket: subject = 'Re: ' + subject self.data.update({ @@ -204,7 +204,7 @@ return '#%s: %s' % (self.ticket.id, wrap(self.ticket['summary'], self.COLS, linesep=CRLF)) - def format_subj(self, summary): + def format_subj(self, summary, change): template = self.config.get('notification','ticket_subject_template') template = TextTemplate(template.encode('utf8')) @@ -216,6 +216,7 @@ 'prefix': prefix, 'summary': summary, 'ticket': self.ticket, + 'change': change, 'env': self.env, }ticket_subject_template を以下のような感じに設定すれば更新者が入るかと思います。
[notification] ticket_subject_template = $prefix #$ticket.id: [$change.author] $summary
Oかもとです。お疲れ様です。
上記のパッチだと、新規のチケットでauthorが入らずエラーになってしまうので、新規チケットの場合はreporterを追加するようにしてみました。
+++ notification.py 2010-04-05 12:32:38.000000000 +0900 @@ -133,14 +133,16 @@ changes_body += ' * %s: %s%s' % (field, chg, CRLF) if newv: change_data[field] = {'oldvalue': old, 'newvalue': new} - + else: + change_data.update({'author': ticket.values['reporter']}) + self.ticket['description'] = wrap( self.ticket.values.get('description', ''), self.COLS, initial_indent=' ', subsequent_indent=' ', linesep=CRLF) self.ticket['new'] = self.newticket self.ticket['link'] = link - subject = self.format_subj(summary) + subject = self.format_subj(summary, change_data) if not self.newticket: subject = 'Re: ' + subject self.data.update({ @@ -204,7 +204,7 @@ return '#%s: %s' % (self.ticket.id, wrap(self.ticket['summary'], self.COLS, linesep=CRLF)) - def format_subj(self, summary): + def format_subj(self, summary, change): template = self.config.get('notification','ticket_subject_template') template = TextTemplate(template.encode('utf8')) @@ -216,6 +216,7 @@ 'prefix': prefix, 'summary': summary, 'ticket': self.ticket, + 'change': change, 'env': self.env, }
TracLightning2.5.0alpha4で対応しました。ご確認ください。
メールのタイトルを見るだけで更新者がわかるように、タイトルの横に更新者の名前を出してもらえたらと思います。