humbug_trac: Make notifications for comments configurable.
(imported from commit 8eeea4051194d0038b039befd9b9a0ee4099a30c)
This commit is contained in:
parent
df67499a35
commit
5bbb53e625
|
@ -1,49 +1,14 @@
|
||||||
# -*- coding: utf-8 -*-
|
# Humbug Inc's internal trac plugin configuration.
|
||||||
#
|
# The plugin and example config are under api/integrations/
|
||||||
# Copyright © 2012 Humbug, Inc.
|
|
||||||
#
|
# Leaving all the instructions out of this file to avoid having to
|
||||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
# sync them as we update the comments.
|
||||||
# of this software and associated documentation files (the "Software"), to deal
|
|
||||||
# in the Software without restriction, including without limitation the rights
|
|
||||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
# copies of the Software, and to permit persons to whom the Software is
|
|
||||||
# furnished to do so, subject to the following conditions:
|
|
||||||
#
|
|
||||||
# The above copyright notice and this permission notice shall be included in
|
|
||||||
# all copies or substantial portions of the Software.
|
|
||||||
#
|
|
||||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
||||||
# THE SOFTWARE.
|
|
||||||
|
|
||||||
# Change these constants:
|
|
||||||
HUMBUG_USER = "humbug+trac@humbughq.com"
|
HUMBUG_USER = "humbug+trac@humbughq.com"
|
||||||
HUMBUG_API_KEY = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
HUMBUG_API_KEY = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
STREAM_FOR_NOTIFICATIONS = "trac"
|
STREAM_FOR_NOTIFICATIONS = "trac"
|
||||||
TRAC_BASE_TICKET_URL = "https://trac.humbughq.com/ticket"
|
TRAC_BASE_TICKET_URL = "https://trac.humbughq.com/ticket"
|
||||||
|
|
||||||
# Most people find that having every change in Trac result in a
|
TRAC_NOTIFY_FIELDS = ["description", "summary", "resolution", "comment"]
|
||||||
# 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.
|
|
||||||
#
|
|
||||||
# Total list of fields is:
|
|
||||||
# (priority, milestone, cc, owner, keywords, component, severity,
|
|
||||||
# type, versions, description, resolution, summary)
|
|
||||||
#
|
|
||||||
# The following is the list of fields which can be changed without
|
|
||||||
# triggering a Humbug notification
|
|
||||||
TRAC_NOTIFY_FIELDS = ["description", "summary", "resolution"]
|
|
||||||
|
|
||||||
## If properly installed, the Humbug API should be in your import
|
|
||||||
## path, but if not, set a custom path below
|
|
||||||
HUMBUG_API_PATH = "/home/humbug/humbug/api"
|
HUMBUG_API_PATH = "/home/humbug/humbug/api"
|
||||||
|
|
||||||
# This should not need to change unless you have a custom Humbug subdomain.
|
|
||||||
HUMBUG_SITE = "https://staging.humbughq.com"
|
HUMBUG_SITE = "https://staging.humbughq.com"
|
||||||
|
|
|
@ -89,10 +89,8 @@ class HumbugPlugin(Component):
|
||||||
`old_values` is a dictionary containing the previous values of the
|
`old_values` is a dictionary containing the previous values of the
|
||||||
fields that have changed.
|
fields that have changed.
|
||||||
"""
|
"""
|
||||||
if not comment and not set(old_values.keys()).intersection(set(config.TRAC_NOTIFY_FIELDS)):
|
if not (set(old_values.keys()).intersection(set(config.TRAC_NOTIFY_FIELDS)) or
|
||||||
# This is probably someone going through trac and updating
|
(comment and "comment" in set(config.TRAC_NOTIFY_FIELDS))):
|
||||||
# the priorities; this can result in a lot of messages
|
|
||||||
# nobody wants to read, so don't send them without a comment.
|
|
||||||
return
|
return
|
||||||
|
|
||||||
content = "%s updated %s" % (author, markdown_ticket_url(ticket))
|
content = "%s updated %s" % (author, markdown_ticket_url(ticket))
|
||||||
|
|
|
@ -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
|
# Most people find that having every change in Trac result in a
|
||||||
# notification is too noisy -- in particular, when someone goes
|
# notification is too noisy -- in particular, when someone goes
|
||||||
# through recategorizing a bunch of tickets, that can often be noisy
|
# through recategorizing a bunch of tickets, that can often be noisy
|
||||||
# and annoying. We solve this issue by only sending a notification if
|
# and annoying. We solve this issue by only sending a notification
|
||||||
# one of the more important fields is changed or the person making the
|
# for changes to the fields listed below.
|
||||||
# change makes a comment.
|
|
||||||
#
|
#
|
||||||
# Total list of fields is:
|
# Total list of possible fields is:
|
||||||
# (priority, milestone, cc, owner, keywords, component, severity,
|
# (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
|
# The following is the list of fields which can be changed without
|
||||||
# triggering a Humbug notification
|
# triggering a Humbug notification; change these to match your team's
|
||||||
TRAC_NOTIFY_FIELDS = ["description", "summary", "resolution"]
|
# workflow.
|
||||||
|
TRAC_NOTIFY_FIELDS = ["description", "summary", "resolution", "comment"]
|
||||||
|
|
||||||
## If properly installed, the Humbug API should be in your import
|
## If properly installed, the Humbug API should be in your import
|
||||||
## path, but if not, set a custom path below
|
## path, but if not, set a custom path below
|
||||||
|
|
Loading…
Reference in a new issue