From 03162da9ef15e8b2aad056a1fe0f289ed333263a Mon Sep 17 00:00:00 2001 From: Alex Dehnert Date: Mon, 20 May 2013 04:33:34 -0400 Subject: [PATCH] Put the ticket URL in the zsig --- TracZephyrPlugin/ZephyrPlugin.py | 16 ++++++++++++---- TracZephyrPlugin/setup.py | 6 +++--- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/TracZephyrPlugin/ZephyrPlugin.py b/TracZephyrPlugin/ZephyrPlugin.py index 673c339..a1978b6 100644 --- a/TracZephyrPlugin/ZephyrPlugin.py +++ b/TracZephyrPlugin/ZephyrPlugin.py @@ -12,7 +12,7 @@ quoted_re = re.compile('^(?:> ?\n)*> .+\n(?:>(?: .*)?\n)*', re.MULTILINE) class ZephyrPlugin(Component): implements(ITicketChangeListener) - def zwrite(self, id, message): + def zwrite(self, id, message, extra_sig=None): zclass = self.config.get('ZephyrPlugin', 'class') if zclass == '': return @@ -23,6 +23,11 @@ class ZephyrPlugin(Component): if opcode: command += ['-O', opcode] signature = self.config.get('ZephyrPlugin', 'signature') + if extra_sig: + if signature: + signature = "%s: %s" % (signature, extra_sig, ) + else: + signature = extra_sig if signature: command += ['-s', signature] p = subprocess.Popen(command + @@ -40,6 +45,9 @@ class ZephyrPlugin(Component): lines = lines[:5] + [u'[…]'] return '\n'.join(lines) + def get_url(self, ticket): + return ticket.env.abs_href.ticket(ticket.id) + def ticket_created(self, ticket): ttype='ticket' if ticket['type'] != 'defect': @@ -49,7 +57,7 @@ class ZephyrPlugin(Component): ttype, ticket['summary'], self.format_text(ticket['description'])) - self.zwrite(ticket.id, message) + self.zwrite(ticket.id, message, extra_sig=self.get_url(ticket)) def ticket_changed(self, ticket, comment, author, old_values): message = "(%s)\n" % ticket['summary'] @@ -69,8 +77,8 @@ class ZephyrPlugin(Component): message += "%s changed %s.\n" % (author, name) if comment: message += "%s commented:\n%s\n" % (author, self.format_text(comment)) - self.zwrite(ticket.id, message) + self.zwrite(ticket.id, message, extra_sig=self.get_url(ticket)) def ticket_deleted(self, ticket): message = "%s deleted ticket %d" % (author, ticket.id) - self.zwrite(ticket.id, message) + self.zwrite(ticket.id, message, extra_sig=self.get_url(ticket)) diff --git a/TracZephyrPlugin/setup.py b/TracZephyrPlugin/setup.py index 67634c7..75e33d0 100755 --- a/TracZephyrPlugin/setup.py +++ b/TracZephyrPlugin/setup.py @@ -4,9 +4,9 @@ from setuptools import find_packages, setup setup( name='TracZephyrPlugin', - version='1.4.1', - author='Evan Broder', - author_email='broder@mit.edu', + version='1.4.2', + author='Evan Broder and the SIPB Snippets team', + author_email='snippets@mit.edu', description='Send a zephyr when a Trac ticket is created or updated', py_modules=["ZephyrPlugin"], entry_points = """ -- 2.44.0