Merge "Updated ext-email support"

This commit is contained in:
Zuul 2020-09-16 16:22:23 +00:00 committed by Gerrit Code Review
commit 3a05654787
12 changed files with 603 additions and 68 deletions

View File

@ -2453,37 +2453,124 @@ def base_email_ext(registry, xml_parent, data, ttype):
trigger = XML.SubElement(
xml_parent, "hudson.plugins.emailext.plugins.trigger." + ttype
)
info = registry.get_plugin_info("email-ext")
plugin_version = pkg_resources.parse_version(info.get("version", str(sys.maxsize)))
email = XML.SubElement(trigger, "email")
XML.SubElement(email, "recipientList").text = ""
if plugin_version < pkg_resources.parse_version("2.39"):
XML.SubElement(email, "recipientList").text = ""
XML.SubElement(email, "subject").text = "$PROJECT_DEFAULT_SUBJECT"
XML.SubElement(email, "body").text = "$PROJECT_DEFAULT_CONTENT"
if plugin_version >= pkg_resources.parse_version("2.39"):
XML.SubElement(email, "replyTo").text = "$PROJECT_DEFAULT_REPLYTO"
XML.SubElement(email, "contentType").text = "project"
if "send-to" in data:
XML.SubElement(email, "sendToDevelopers").text = str(
"developers" in data["send-to"]
).lower()
XML.SubElement(email, "sendToRequester").text = str(
"requester" in data["send-to"]
).lower()
XML.SubElement(email, "includeCulprits").text = str(
"culprits" in data["send-to"]
).lower()
XML.SubElement(email, "sendToRecipientList").text = str(
"recipients" in data["send-to"]
).lower()
if "upstream-committers" in data["send-to"]:
recipient_providers = None
if plugin_version < pkg_resources.parse_version("2.39"):
XML.SubElement(email, "sendToDevelopers").text = str(
"developers" in data["send-to"]
).lower()
XML.SubElement(email, "sendToRequester").text = str(
"requester" in data["send-to"]
).lower()
XML.SubElement(email, "includeCulprits").text = str(
"culprits" in data["send-to"]
).lower()
XML.SubElement(email, "sendToRecipientList").text = str(
"recipients" in data["send-to"]
).lower()
else:
for recipient in data["send-to"]:
if "developers" == recipient:
if recipient_providers is None:
recipient_providers = XML.SubElement(
email, "recipientProviders"
)
XML.SubElement(
recipient_providers,
"hudson.plugins.emailext.plugins.recipients.DevelopersRecipientProvider",
).text = ""
elif "requester" == recipient:
if recipient_providers is None:
recipient_providers = XML.SubElement(
email, "recipientProviders"
)
XML.SubElement(
recipient_providers,
"hudson.plugins.emailext.plugins.recipients.RequesterRecipientProvider",
).text = ""
elif "culprits" == recipient:
if recipient_providers is None:
recipient_providers = XML.SubElement(
email, "recipientProviders"
)
XML.SubElement(
recipient_providers,
"hudson.plugins.emailext.plugins.recipients.CulpritsRecipientProvider",
).text = ""
elif "recipients" == recipient:
if recipient_providers is None:
recipient_providers = XML.SubElement(
email, "recipientProviders"
)
XML.SubElement(
recipient_providers,
"hudson.plugins.emailext.plugins.recipients.ListRecipientProvider",
).text = ""
elif "failing-test-suspects-recipients" == recipient:
if recipient_providers is None:
recipient_providers = XML.SubElement(
email, "recipientProviders"
)
XML.SubElement(
recipient_providers,
"hudson.plugins.emailext.plugins.recipients.FailingTestSuspectsRecipientProvider",
).text = ""
elif "first-failing-build-suspects-recipients" == recipient:
if recipient_providers is None:
recipient_providers = XML.SubElement(
email, "recipientProviders"
)
XML.SubElement(
recipient_providers,
"hudson.plugins.emailext.plugins.recipients.FirstFailingBuildSuspectsRecipientProvider",
).text = ""
# `failureCount` is deprecated and has no effect
# on email, but the element has been created
# in order to match the XML generated via UI.
failure_count_supporters = ["FirstFailureTrigger", "SecondFailureTrigger"]
if ttype in failure_count_supporters:
XML.SubElement(trigger, "failureCount").text = "0"
if "upstream-committers" in data["send-to"]:
if recipient_providers is None:
recipient_providers = XML.SubElement(email, "recipientProviders")
XML.SubElement(
recipient_providers,
"hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider",
).text = ""
else:
if plugin_version < pkg_resources.parse_version("2.39"):
XML.SubElement(email, "sendToRequester").text = "false"
XML.SubElement(email, "sendToDevelopers").text = "false"
XML.SubElement(email, "includeCulprits").text = "false"
XML.SubElement(email, "sendToRecipientList").text = "true"
else:
recipient_providers = XML.SubElement(email, "recipientProviders")
XML.SubElement(
recipient_providers,
"hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider",
"hudson.plugins.emailext.plugins.recipients.ListRecipientProvider",
).text = ""
else:
XML.SubElement(email, "sendToRequester").text = "false"
XML.SubElement(email, "sendToDevelopers").text = "false"
XML.SubElement(email, "includeCulprits").text = "false"
XML.SubElement(email, "sendToRecipientList").text = "true"
if ttype == "ScriptTrigger":
XML.SubElement(trigger, "triggerScript").text = data["trigger-script"]
if plugin_version >= pkg_resources.parse_version("2.39"):
XML.SubElement(email, "attachmentsPattern").text = ""
XML.SubElement(email, "attachBuildLog").text = "false"
XML.SubElement(email, "compressBuildLog").text = "false"
def email_ext(registry, xml_parent, data):
"""yaml: email-ext
@ -2500,6 +2587,8 @@ def email_ext(registry, xml_parent, data):
(default '$DEFAULT_RECIPIENTS')
:arg str reply-to: Comma separated list of email addresses that should be
in the Reply-To header for this project (default '$DEFAULT_REPLYTO')
:arg str from: Email address that should be
in the From header for this project (default '')
:arg str content-type: The content type of the emails sent. If not set, the
Jenkins plugin uses the value set on the main configuration page.
Possible values: 'html', 'text', 'both-html-text' or 'default'
@ -2560,6 +2649,8 @@ def email_ext(registry, xml_parent, data):
* **culprits** (disabled by default)
* **recipients** (enabled by default)
* **upstream-committers** (>=2.39) (disabled by default)
* **failing-test-suspects-recipients** (>=2.39) (disabled by default)
* **first-failing-build-suspects-recipients** (>=2.39) (disabled by default)
Example:
@ -2570,6 +2661,10 @@ def email_ext(registry, xml_parent, data):
emailext = XML.SubElement(
xml_parent, "hudson.plugins.emailext.ExtendedEmailPublisher"
)
info = registry.get_plugin_info("email-ext")
plugin_version = pkg_resources.parse_version(info.get("version", str(sys.maxsize)))
if "recipients" in data:
XML.SubElement(emailext, "recipientList").text = data["recipients"]
else:
@ -2633,6 +2728,10 @@ def email_ext(registry, xml_parent, data):
("disable-publisher", "disabled", False),
("reply-to", "replyTo", "$DEFAULT_REPLYTO"),
]
if plugin_version >= pkg_resources.parse_version("2.39"):
mappings.append(("from", "from", ""))
helpers.convert_mapping_to_xml(emailext, data, mappings, fail_required=True)
matrix_dict = {

View File

@ -0,0 +1,3 @@
- longName: 'Extended Email Publisher'
shortName: 'email-ext'
version: "2.38"

View File

@ -13,9 +13,6 @@
<sendToRequester>true</sendToRequester>
<includeCulprits>true</includeCulprits>
<sendToRecipientList>true</sendToRecipientList>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider/>
</recipientProviders>
</email>
</hudson.plugins.emailext.plugins.trigger.AlwaysTrigger>
<hudson.plugins.emailext.plugins.trigger.UnstableTrigger>
@ -27,9 +24,6 @@
<sendToRequester>true</sendToRequester>
<includeCulprits>true</includeCulprits>
<sendToRecipientList>true</sendToRecipientList>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider/>
</recipientProviders>
</email>
</hudson.plugins.emailext.plugins.trigger.UnstableTrigger>
<hudson.plugins.emailext.plugins.trigger.FirstFailureTrigger>
@ -41,9 +35,6 @@
<sendToRequester>true</sendToRequester>
<includeCulprits>true</includeCulprits>
<sendToRecipientList>true</sendToRecipientList>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider/>
</recipientProviders>
</email>
</hudson.plugins.emailext.plugins.trigger.FirstFailureTrigger>
<hudson.plugins.emailext.plugins.trigger.FirstUnstableTrigger>
@ -55,9 +46,6 @@
<sendToRequester>true</sendToRequester>
<includeCulprits>true</includeCulprits>
<sendToRecipientList>true</sendToRecipientList>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider/>
</recipientProviders>
</email>
</hudson.plugins.emailext.plugins.trigger.FirstUnstableTrigger>
<hudson.plugins.emailext.plugins.trigger.NotBuiltTrigger>
@ -69,9 +57,6 @@
<sendToRequester>true</sendToRequester>
<includeCulprits>true</includeCulprits>
<sendToRecipientList>true</sendToRecipientList>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider/>
</recipientProviders>
</email>
</hudson.plugins.emailext.plugins.trigger.NotBuiltTrigger>
<hudson.plugins.emailext.plugins.trigger.AbortedTrigger>
@ -83,9 +68,6 @@
<sendToRequester>true</sendToRequester>
<includeCulprits>true</includeCulprits>
<sendToRecipientList>true</sendToRecipientList>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider/>
</recipientProviders>
</email>
</hudson.plugins.emailext.plugins.trigger.AbortedTrigger>
<hudson.plugins.emailext.plugins.trigger.RegressionTrigger>
@ -97,9 +79,6 @@
<sendToRequester>true</sendToRequester>
<includeCulprits>true</includeCulprits>
<sendToRecipientList>true</sendToRecipientList>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider/>
</recipientProviders>
</email>
</hudson.plugins.emailext.plugins.trigger.RegressionTrigger>
<hudson.plugins.emailext.plugins.trigger.FailureTrigger>
@ -111,9 +90,6 @@
<sendToRequester>true</sendToRequester>
<includeCulprits>true</includeCulprits>
<sendToRecipientList>true</sendToRecipientList>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider/>
</recipientProviders>
</email>
</hudson.plugins.emailext.plugins.trigger.FailureTrigger>
<hudson.plugins.emailext.plugins.trigger.SecondFailureTrigger>
@ -125,9 +101,6 @@
<sendToRequester>true</sendToRequester>
<includeCulprits>true</includeCulprits>
<sendToRecipientList>true</sendToRecipientList>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider/>
</recipientProviders>
</email>
</hudson.plugins.emailext.plugins.trigger.SecondFailureTrigger>
<hudson.plugins.emailext.plugins.trigger.ImprovementTrigger>
@ -139,9 +112,6 @@
<sendToRequester>true</sendToRequester>
<includeCulprits>true</includeCulprits>
<sendToRecipientList>true</sendToRecipientList>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider/>
</recipientProviders>
</email>
</hudson.plugins.emailext.plugins.trigger.ImprovementTrigger>
<hudson.plugins.emailext.plugins.trigger.StillFailingTrigger>
@ -153,9 +123,6 @@
<sendToRequester>true</sendToRequester>
<includeCulprits>true</includeCulprits>
<sendToRecipientList>true</sendToRecipientList>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider/>
</recipientProviders>
</email>
</hudson.plugins.emailext.plugins.trigger.StillFailingTrigger>
<hudson.plugins.emailext.plugins.trigger.SuccessTrigger>
@ -167,9 +134,6 @@
<sendToRequester>true</sendToRequester>
<includeCulprits>true</includeCulprits>
<sendToRecipientList>true</sendToRecipientList>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider/>
</recipientProviders>
</email>
</hudson.plugins.emailext.plugins.trigger.SuccessTrigger>
<hudson.plugins.emailext.plugins.trigger.FixedTrigger>
@ -181,9 +145,6 @@
<sendToRequester>true</sendToRequester>
<includeCulprits>true</includeCulprits>
<sendToRecipientList>true</sendToRecipientList>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider/>
</recipientProviders>
</email>
</hudson.plugins.emailext.plugins.trigger.FixedTrigger>
<hudson.plugins.emailext.plugins.trigger.FixedUnhealthyTrigger>
@ -195,9 +156,6 @@
<sendToRequester>true</sendToRequester>
<includeCulprits>true</includeCulprits>
<sendToRecipientList>true</sendToRecipientList>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider/>
</recipientProviders>
</email>
</hudson.plugins.emailext.plugins.trigger.FixedUnhealthyTrigger>
<hudson.plugins.emailext.plugins.trigger.StillUnstableTrigger>
@ -209,9 +167,6 @@
<sendToRequester>true</sendToRequester>
<includeCulprits>true</includeCulprits>
<sendToRecipientList>true</sendToRecipientList>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider/>
</recipientProviders>
</email>
</hudson.plugins.emailext.plugins.trigger.StillUnstableTrigger>
<hudson.plugins.emailext.plugins.trigger.PreBuildTrigger>
@ -223,9 +178,6 @@
<sendToRequester>true</sendToRequester>
<includeCulprits>true</includeCulprits>
<sendToRecipientList>true</sendToRecipientList>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider/>
</recipientProviders>
</email>
</hudson.plugins.emailext.plugins.trigger.PreBuildTrigger>
</configuredTriggers>

View File

@ -0,0 +1,3 @@
- longName: 'Extended Email Publisher'
shortName: 'email-ext'
version: "2.38"

View File

@ -0,0 +1,3 @@
- longName: 'Extended Email Publisher'
shortName: 'email-ext'
version: "2.38"

View File

@ -0,0 +1,3 @@
- longName: 'Extended Email Publisher'
shortName: 'email-ext'
version: "2.54"

View File

@ -0,0 +1,345 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<publishers>
<hudson.plugins.emailext.ExtendedEmailPublisher>
<recipientList>foo@example.com, bar@example.com</recipientList>
<configuredTriggers>
<hudson.plugins.emailext.plugins.trigger.AlwaysTrigger>
<email>
<subject>$PROJECT_DEFAULT_SUBJECT</subject>
<body>$PROJECT_DEFAULT_CONTENT</body>
<replyTo>$PROJECT_DEFAULT_REPLYTO</replyTo>
<contentType>project</contentType>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.DevelopersRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.RequesterRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.CulpritsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.ListRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.FailingTestSuspectsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.FirstFailingBuildSuspectsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider/>
</recipientProviders>
<attachmentsPattern/>
<attachBuildLog>false</attachBuildLog>
<compressBuildLog>false</compressBuildLog>
</email>
</hudson.plugins.emailext.plugins.trigger.AlwaysTrigger>
<hudson.plugins.emailext.plugins.trigger.UnstableTrigger>
<email>
<subject>$PROJECT_DEFAULT_SUBJECT</subject>
<body>$PROJECT_DEFAULT_CONTENT</body>
<replyTo>$PROJECT_DEFAULT_REPLYTO</replyTo>
<contentType>project</contentType>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.DevelopersRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.RequesterRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.CulpritsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.ListRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.FailingTestSuspectsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.FirstFailingBuildSuspectsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider/>
</recipientProviders>
<attachmentsPattern/>
<attachBuildLog>false</attachBuildLog>
<compressBuildLog>false</compressBuildLog>
</email>
</hudson.plugins.emailext.plugins.trigger.UnstableTrigger>
<hudson.plugins.emailext.plugins.trigger.FirstFailureTrigger>
<email>
<subject>$PROJECT_DEFAULT_SUBJECT</subject>
<body>$PROJECT_DEFAULT_CONTENT</body>
<replyTo>$PROJECT_DEFAULT_REPLYTO</replyTo>
<contentType>project</contentType>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.DevelopersRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.RequesterRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.CulpritsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.ListRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.FailingTestSuspectsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.FirstFailingBuildSuspectsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider/>
</recipientProviders>
<attachmentsPattern/>
<attachBuildLog>false</attachBuildLog>
<compressBuildLog>false</compressBuildLog>
</email>
<failureCount>0</failureCount>
</hudson.plugins.emailext.plugins.trigger.FirstFailureTrigger>
<hudson.plugins.emailext.plugins.trigger.FirstUnstableTrigger>
<email>
<subject>$PROJECT_DEFAULT_SUBJECT</subject>
<body>$PROJECT_DEFAULT_CONTENT</body>
<replyTo>$PROJECT_DEFAULT_REPLYTO</replyTo>
<contentType>project</contentType>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.DevelopersRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.RequesterRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.CulpritsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.ListRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.FailingTestSuspectsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.FirstFailingBuildSuspectsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider/>
</recipientProviders>
<attachmentsPattern/>
<attachBuildLog>false</attachBuildLog>
<compressBuildLog>false</compressBuildLog>
</email>
</hudson.plugins.emailext.plugins.trigger.FirstUnstableTrigger>
<hudson.plugins.emailext.plugins.trigger.NotBuiltTrigger>
<email>
<subject>$PROJECT_DEFAULT_SUBJECT</subject>
<body>$PROJECT_DEFAULT_CONTENT</body>
<replyTo>$PROJECT_DEFAULT_REPLYTO</replyTo>
<contentType>project</contentType>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.DevelopersRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.RequesterRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.CulpritsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.ListRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.FailingTestSuspectsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.FirstFailingBuildSuspectsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider/>
</recipientProviders>
<attachmentsPattern/>
<attachBuildLog>false</attachBuildLog>
<compressBuildLog>false</compressBuildLog>
</email>
</hudson.plugins.emailext.plugins.trigger.NotBuiltTrigger>
<hudson.plugins.emailext.plugins.trigger.AbortedTrigger>
<email>
<subject>$PROJECT_DEFAULT_SUBJECT</subject>
<body>$PROJECT_DEFAULT_CONTENT</body>
<replyTo>$PROJECT_DEFAULT_REPLYTO</replyTo>
<contentType>project</contentType>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.DevelopersRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.RequesterRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.CulpritsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.ListRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.FailingTestSuspectsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.FirstFailingBuildSuspectsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider/>
</recipientProviders>
<attachmentsPattern/>
<attachBuildLog>false</attachBuildLog>
<compressBuildLog>false</compressBuildLog>
</email>
</hudson.plugins.emailext.plugins.trigger.AbortedTrigger>
<hudson.plugins.emailext.plugins.trigger.RegressionTrigger>
<email>
<subject>$PROJECT_DEFAULT_SUBJECT</subject>
<body>$PROJECT_DEFAULT_CONTENT</body>
<replyTo>$PROJECT_DEFAULT_REPLYTO</replyTo>
<contentType>project</contentType>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.DevelopersRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.RequesterRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.CulpritsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.ListRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.FailingTestSuspectsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.FirstFailingBuildSuspectsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider/>
</recipientProviders>
<attachmentsPattern/>
<attachBuildLog>false</attachBuildLog>
<compressBuildLog>false</compressBuildLog>
</email>
</hudson.plugins.emailext.plugins.trigger.RegressionTrigger>
<hudson.plugins.emailext.plugins.trigger.FailureTrigger>
<email>
<subject>$PROJECT_DEFAULT_SUBJECT</subject>
<body>$PROJECT_DEFAULT_CONTENT</body>
<replyTo>$PROJECT_DEFAULT_REPLYTO</replyTo>
<contentType>project</contentType>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.DevelopersRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.RequesterRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.CulpritsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.ListRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.FailingTestSuspectsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.FirstFailingBuildSuspectsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider/>
</recipientProviders>
<attachmentsPattern/>
<attachBuildLog>false</attachBuildLog>
<compressBuildLog>false</compressBuildLog>
</email>
</hudson.plugins.emailext.plugins.trigger.FailureTrigger>
<hudson.plugins.emailext.plugins.trigger.SecondFailureTrigger>
<email>
<subject>$PROJECT_DEFAULT_SUBJECT</subject>
<body>$PROJECT_DEFAULT_CONTENT</body>
<replyTo>$PROJECT_DEFAULT_REPLYTO</replyTo>
<contentType>project</contentType>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.DevelopersRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.RequesterRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.CulpritsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.ListRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.FailingTestSuspectsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.FirstFailingBuildSuspectsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider/>
</recipientProviders>
<attachmentsPattern/>
<attachBuildLog>false</attachBuildLog>
<compressBuildLog>false</compressBuildLog>
</email>
<failureCount>0</failureCount>
</hudson.plugins.emailext.plugins.trigger.SecondFailureTrigger>
<hudson.plugins.emailext.plugins.trigger.ImprovementTrigger>
<email>
<subject>$PROJECT_DEFAULT_SUBJECT</subject>
<body>$PROJECT_DEFAULT_CONTENT</body>
<replyTo>$PROJECT_DEFAULT_REPLYTO</replyTo>
<contentType>project</contentType>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.DevelopersRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.RequesterRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.CulpritsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.ListRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.FailingTestSuspectsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.FirstFailingBuildSuspectsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider/>
</recipientProviders>
<attachmentsPattern/>
<attachBuildLog>false</attachBuildLog>
<compressBuildLog>false</compressBuildLog>
</email>
</hudson.plugins.emailext.plugins.trigger.ImprovementTrigger>
<hudson.plugins.emailext.plugins.trigger.StillFailingTrigger>
<email>
<subject>$PROJECT_DEFAULT_SUBJECT</subject>
<body>$PROJECT_DEFAULT_CONTENT</body>
<replyTo>$PROJECT_DEFAULT_REPLYTO</replyTo>
<contentType>project</contentType>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.DevelopersRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.RequesterRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.CulpritsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.ListRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.FailingTestSuspectsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.FirstFailingBuildSuspectsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider/>
</recipientProviders>
<attachmentsPattern/>
<attachBuildLog>false</attachBuildLog>
<compressBuildLog>false</compressBuildLog>
</email>
</hudson.plugins.emailext.plugins.trigger.StillFailingTrigger>
<hudson.plugins.emailext.plugins.trigger.SuccessTrigger>
<email>
<subject>$PROJECT_DEFAULT_SUBJECT</subject>
<body>$PROJECT_DEFAULT_CONTENT</body>
<replyTo>$PROJECT_DEFAULT_REPLYTO</replyTo>
<contentType>project</contentType>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.DevelopersRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.RequesterRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.CulpritsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.ListRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.FailingTestSuspectsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.FirstFailingBuildSuspectsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider/>
</recipientProviders>
<attachmentsPattern/>
<attachBuildLog>false</attachBuildLog>
<compressBuildLog>false</compressBuildLog>
</email>
</hudson.plugins.emailext.plugins.trigger.SuccessTrigger>
<hudson.plugins.emailext.plugins.trigger.FixedTrigger>
<email>
<subject>$PROJECT_DEFAULT_SUBJECT</subject>
<body>$PROJECT_DEFAULT_CONTENT</body>
<replyTo>$PROJECT_DEFAULT_REPLYTO</replyTo>
<contentType>project</contentType>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.DevelopersRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.RequesterRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.CulpritsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.ListRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.FailingTestSuspectsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.FirstFailingBuildSuspectsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider/>
</recipientProviders>
<attachmentsPattern/>
<attachBuildLog>false</attachBuildLog>
<compressBuildLog>false</compressBuildLog>
</email>
</hudson.plugins.emailext.plugins.trigger.FixedTrigger>
<hudson.plugins.emailext.plugins.trigger.FixedUnhealthyTrigger>
<email>
<subject>$PROJECT_DEFAULT_SUBJECT</subject>
<body>$PROJECT_DEFAULT_CONTENT</body>
<replyTo>$PROJECT_DEFAULT_REPLYTO</replyTo>
<contentType>project</contentType>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.DevelopersRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.RequesterRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.CulpritsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.ListRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.FailingTestSuspectsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.FirstFailingBuildSuspectsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider/>
</recipientProviders>
<attachmentsPattern/>
<attachBuildLog>false</attachBuildLog>
<compressBuildLog>false</compressBuildLog>
</email>
</hudson.plugins.emailext.plugins.trigger.FixedUnhealthyTrigger>
<hudson.plugins.emailext.plugins.trigger.StillUnstableTrigger>
<email>
<subject>$PROJECT_DEFAULT_SUBJECT</subject>
<body>$PROJECT_DEFAULT_CONTENT</body>
<replyTo>$PROJECT_DEFAULT_REPLYTO</replyTo>
<contentType>project</contentType>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.DevelopersRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.RequesterRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.CulpritsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.ListRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.FailingTestSuspectsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.FirstFailingBuildSuspectsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider/>
</recipientProviders>
<attachmentsPattern/>
<attachBuildLog>false</attachBuildLog>
<compressBuildLog>false</compressBuildLog>
</email>
</hudson.plugins.emailext.plugins.trigger.StillUnstableTrigger>
<hudson.plugins.emailext.plugins.trigger.PreBuildTrigger>
<email>
<subject>$PROJECT_DEFAULT_SUBJECT</subject>
<body>$PROJECT_DEFAULT_CONTENT</body>
<replyTo>$PROJECT_DEFAULT_REPLYTO</replyTo>
<contentType>project</contentType>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.DevelopersRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.RequesterRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.CulpritsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.ListRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.FailingTestSuspectsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.FirstFailingBuildSuspectsRecipientProvider/>
<hudson.plugins.emailext.plugins.recipients.UpstreamComitterRecipientProvider/>
</recipientProviders>
<attachmentsPattern/>
<attachBuildLog>false</attachBuildLog>
<compressBuildLog>false</compressBuildLog>
</email>
</hudson.plugins.emailext.plugins.trigger.PreBuildTrigger>
</configuredTriggers>
<contentType>text/html</contentType>
<defaultSubject>Subject for Build ${BUILD_NUMBER}</defaultSubject>
<defaultContent>The build has finished</defaultContent>
<attachmentsPattern>*/foo*.log</attachmentsPattern>
<presendScript>cancel=true</presendScript>
<postsendScript>cancel=true</postsendScript>
<attachBuildLog>false</attachBuildLog>
<compressBuildLog>false</compressBuildLog>
<saveOutput>true</saveOutput>
<disabled>false</disabled>
<replyTo>foo@example.com</replyTo>
<from>lorem@ipsum.dolor</from>
<matrixTriggerMode>ONLY_CONFIGURATIONS</matrixTriggerMode>
</hudson.plugins.emailext.ExtendedEmailPublisher>
</publishers>
</project>

View File

@ -0,0 +1,39 @@
publishers:
- email-ext:
recipients: foo@example.com, bar@example.com
reply-to: foo@example.com
from: lorem@ipsum.dolor
content-type: html
subject: Subject for Build ${BUILD_NUMBER}
body: The build has finished
attach-build-log: false
compress-log: false
attachments: "*/foo*.log"
always: true
unstable: true
first-failure: true
first-unstable: true
not-built: true
aborted: true
regression: true
failure: true
second-failure: true
improvement: true
still-failing: true
success: true
fixed: true
fixed-unhealthy: true
still-unstable: true
pre-build: true
matrix-trigger: only-configurations
presend-script: "cancel=true"
postsend-script: "cancel=true"
save-output: true
send-to:
- developers
- requester
- culprits
- recipients
- upstream-committers
- failing-test-suspects-recipients
- first-failing-build-suspects-recipients

View File

@ -0,0 +1,3 @@
- longName: 'Extended Email Publisher'
shortName: 'email-ext'
version: "2.54"

View File

@ -0,0 +1,65 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<publishers>
<hudson.plugins.emailext.ExtendedEmailPublisher>
<recipientList>foo@example.com, bar@example.com</recipientList>
<configuredTriggers>
<hudson.plugins.emailext.plugins.trigger.AlwaysTrigger>
<email>
<subject>$PROJECT_DEFAULT_SUBJECT</subject>
<body>$PROJECT_DEFAULT_CONTENT</body>
<replyTo>$PROJECT_DEFAULT_REPLYTO</replyTo>
<contentType>project</contentType>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.ListRecipientProvider/>
</recipientProviders>
<attachmentsPattern/>
<attachBuildLog>false</attachBuildLog>
<compressBuildLog>false</compressBuildLog>
</email>
</hudson.plugins.emailext.plugins.trigger.AlwaysTrigger>
<hudson.plugins.emailext.plugins.trigger.UnstableTrigger>
<email>
<subject>$PROJECT_DEFAULT_SUBJECT</subject>
<body>$PROJECT_DEFAULT_CONTENT</body>
<replyTo>$PROJECT_DEFAULT_REPLYTO</replyTo>
<contentType>project</contentType>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.ListRecipientProvider/>
</recipientProviders>
<attachmentsPattern/>
<attachBuildLog>false</attachBuildLog>
<compressBuildLog>false</compressBuildLog>
</email>
</hudson.plugins.emailext.plugins.trigger.UnstableTrigger>
<hudson.plugins.emailext.plugins.trigger.FailureTrigger>
<email>
<subject>$PROJECT_DEFAULT_SUBJECT</subject>
<body>$PROJECT_DEFAULT_CONTENT</body>
<replyTo>$PROJECT_DEFAULT_REPLYTO</replyTo>
<contentType>project</contentType>
<recipientProviders>
<hudson.plugins.emailext.plugins.recipients.ListRecipientProvider/>
</recipientProviders>
<attachmentsPattern/>
<attachBuildLog>false</attachBuildLog>
<compressBuildLog>false</compressBuildLog>
</email>
</hudson.plugins.emailext.plugins.trigger.FailureTrigger>
</configuredTriggers>
<contentType>text/html</contentType>
<defaultSubject>Subject for Build ${BUILD_NUMBER}</defaultSubject>
<defaultContent>The build has finished</defaultContent>
<attachmentsPattern>*/foo*.log</attachmentsPattern>
<presendScript>cancel=true</presendScript>
<postsendScript>cancel=true</postsendScript>
<attachBuildLog>false</attachBuildLog>
<compressBuildLog>false</compressBuildLog>
<saveOutput>true</saveOutput>
<disabled>false</disabled>
<replyTo>foo@example.com</replyTo>
<from>lorem@ipsum.dolor</from>
<matrixTriggerMode>ONLY_CONFIGURATIONS</matrixTriggerMode>
</hudson.plugins.emailext.ExtendedEmailPublisher>
</publishers>
</project>

View File

@ -0,0 +1,17 @@
publishers:
- email-ext:
recipients: foo@example.com, bar@example.com
reply-to: foo@example.com
from: lorem@ipsum.dolor
content-type: html
subject: Subject for Build ${BUILD_NUMBER}
body: The build has finished
attach-build-log: false
compress-log: false
attachments: "*/foo*.log"
always: true
unstable: true
matrix-trigger: only-configurations
presend-script: "cancel=true"
postsend-script: "cancel=true"
save-output: true

View File

@ -0,0 +1,3 @@
- longName: 'Extended Email Publisher'
shortName: 'email-ext'
version: "2.38"