Add a configurable fallback URL for emails

This will allow the fixing of an issue where changes created
by things using the API directly, such as the Gerrit plugin,
cause broken URLs in notification emails.

Change-Id: Ibad10fa35b7acaaa59cbb28b0960571480f80552
This commit is contained in:
Adam Coldrick 2017-04-06 18:23:52 +01:00
parent d2ca0f0395
commit 1e9d3d707f
3 changed files with 10 additions and 0 deletions

View File

@ -168,6 +168,9 @@ lock_path = $state_path/lock
# The email address of the Reply-To header (optional).
# reply_to =
# The default url base to use in emails, if Referer is not set.
# default_url = https://storyboard.openstack.org/
# The SMTP server to use.
# smtp_host = localhost

View File

@ -33,6 +33,9 @@ PLUGIN_OPTS = [
cfg.StrOpt("reply_to",
default=None,
help="The email address of the Reply-To header (optional)."),
cfg.StrOpt("default_url",
default=None,
help="The default/fallback url base to use in emails."),
cfg.StrOpt("smtp_host",
default='localhost',
help="The SMTP server to use."),

View File

@ -282,6 +282,10 @@ class SubscriptionEmailWorker(EmailWorkerBase):
if email_config.reply_to:
factory.add_header('Reply-To', email_config.reply_to)
# If there is a fallback URL configured, use it if needed
if email_config.default_url and url is None:
url = email_config.default_url
# Resolve the resource instance
resource_instance = self.resolve_resource_by_name(session, resource,
resource_id)