Description Setter Plugin support added
This plugin sets the description for each build, based upon a RegEx test of the build log file. Change-Id: If3c8b3ec6e9c23ffe74a5e857618267936a0e989
This commit is contained in:
parent
04be0f43ad
commit
7c4a7203df
|
@ -2916,6 +2916,45 @@ def stash(parser, xml_parent, data):
|
|||
data.get('include-build-number', False)).lower()
|
||||
|
||||
|
||||
def description_setter(parser, xml_parent, data):
|
||||
"""yaml: description-setter
|
||||
This plugin sets the description for each build,
|
||||
based upon a RegEx test of the build log file.
|
||||
|
||||
Requires the Jenkins `Description Setter Plugin.
|
||||
<https://wiki.jenkins-ci.org/display/JENKINS/Description+Setter+Plugin>`_
|
||||
|
||||
:arg str regexp: A RegEx which is used to scan the build log file
|
||||
:arg str regexp-for-failed: A RegEx which is used for failed builds
|
||||
(optional)
|
||||
:arg str description: The description to set on the build (optional)
|
||||
:arg str description-for-failed: The description to set on
|
||||
the failed builds (optional)
|
||||
:arg bool set-for-matrix: Also set the description on
|
||||
a multi-configuration build (Default False)
|
||||
|
||||
Example:
|
||||
|
||||
.. literalinclude:: ../../tests/publishers/fixtures/description-setter.yaml
|
||||
|
||||
"""
|
||||
|
||||
descriptionsetter = XML.SubElement(
|
||||
xml_parent,
|
||||
'hudson.plugins.descriptionsetter.DescriptionSetterPublisher')
|
||||
XML.SubElement(descriptionsetter, 'regexp').text = data.get('regexp', '')
|
||||
XML.SubElement(descriptionsetter, 'regexpForFailed').text = \
|
||||
data.get('regexp-for-failed', '')
|
||||
if 'description' in data:
|
||||
XML.SubElement(descriptionsetter, 'description').text = \
|
||||
data['description']
|
||||
if 'description-for-failed' in data:
|
||||
XML.SubElement(descriptionsetter, 'descriptionForFailed').text = \
|
||||
data['description-for-failed']
|
||||
for_matrix = str(data.get('set-for-matrix', False)).lower()
|
||||
XML.SubElement(descriptionsetter, 'setForMatrix').text = for_matrix
|
||||
|
||||
|
||||
class Publishers(jenkins_jobs.modules.base.Base):
|
||||
sequence = 70
|
||||
|
||||
|
|
2
setup.py
2
setup.py
|
@ -130,6 +130,8 @@ setuptools.setup(
|
|||
'copy-to-master=jenkins_jobs.modules.publishers:copy_to_master',
|
||||
'coverage=jenkins_jobs.modules.publishers:coverage',
|
||||
'cppcheck=jenkins_jobs.modules.publishers:cppcheck',
|
||||
('description-setter=jenkins_jobs.modules.publishers:'
|
||||
'description_setter'),
|
||||
'email=jenkins_jobs.modules.publishers:email',
|
||||
'email-ext=jenkins_jobs.modules.publishers:email_ext',
|
||||
('emotional-jenkins=jenkins_jobs.modules.publishers:'
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" ?>
|
||||
<project>
|
||||
<publishers>
|
||||
<hudson.plugins.descriptionsetter.DescriptionSetterPublisher>
|
||||
<regexp>.*(<a href=.*a>)</regexp>
|
||||
<regexpForFailed>.*(<a href=.*a>)</regexpForFailed>
|
||||
<description>some description</description>
|
||||
<descriptionForFailed>another description</descriptionForFailed>
|
||||
<setForMatrix>true</setForMatrix>
|
||||
</hudson.plugins.descriptionsetter.DescriptionSetterPublisher>
|
||||
</publishers>
|
||||
</project>
|
|
@ -0,0 +1,7 @@
|
|||
publishers:
|
||||
- description-setter:
|
||||
regexp: ".*(<a href=.*a>)"
|
||||
regexp-for-failed: ".*(<a href=.*a>)"
|
||||
description: "some description"
|
||||
description-for-failed: "another description"
|
||||
set-for-matrix: true
|
Loading…
Reference in New Issue