humbug_trac: Make notifications for comments configurable.

(imported from commit 8eeea4051194d0038b039befd9b9a0ee4099a30c)
This commit is contained in:
Tim Abbott 2013-02-13 16:28:19 -05:00
parent df67499a35
commit 5bbb53e625
3 changed files with 15 additions and 52 deletions

View file

@ -89,10 +89,8 @@ class HumbugPlugin(Component):
`old_values` is a dictionary containing the previous values of the
fields that have changed.
"""
if not comment and not set(old_values.keys()).intersection(set(config.TRAC_NOTIFY_FIELDS)):
# This is probably someone going through trac and updating
# the priorities; this can result in a lot of messages
# nobody wants to read, so don't send them without a comment.
if not (set(old_values.keys()).intersection(set(config.TRAC_NOTIFY_FIELDS)) or
(comment and "comment" in set(config.TRAC_NOTIFY_FIELDS))):
return
content = "%s updated %s" % (author, markdown_ticket_url(ticket))

View file

@ -31,17 +31,17 @@ TRAC_BASE_TICKET_URL = "https://trac.example.com/ticket"
# Most people find that having every change in Trac result in a
# notification is too noisy -- in particular, when someone goes
# through recategorizing a bunch of tickets, that can often be noisy
# and annoying. We solve this issue by only sending a notification if
# one of the more important fields is changed or the person making the
# change makes a comment.
# and annoying. We solve this issue by only sending a notification
# for changes to the fields listed below.
#
# Total list of fields is:
# Total list of possible fields is:
# (priority, milestone, cc, owner, keywords, component, severity,
# type, versions, description, resolution, summary)
# type, versions, description, resolution, summary, comment)
#
# The following is the list of fields which can be changed without
# triggering a Humbug notification
TRAC_NOTIFY_FIELDS = ["description", "summary", "resolution"]
# triggering a Humbug notification; change these to match your team's
# workflow.
TRAC_NOTIFY_FIELDS = ["description", "summary", "resolution", "comment"]
## If properly installed, the Humbug API should be in your import
## path, but if not, set a custom path below