diff --git a/jenkins_jobs/modules/publishers.py b/jenkins_jobs/modules/publishers.py index a23146e28..bc1640314 100644 --- a/jenkins_jobs/modules/publishers.py +++ b/jenkins_jobs/modules/publishers.py @@ -77,6 +77,24 @@ def archive(parser, xml_parent, data): latest.text = 'false' +def blame_upstream(parser, xml_parent, data): + """yaml: blame-upstream + Notify upstream commiters when build fails + Requires the Jenkins `Blame upstream commiters Plugin. + `_ + + Example: + + .. literalinclude:: /../../tests/publishers/fixtures/blame001.yaml + + """ + + XML.SubElement(xml_parent, + 'hudson.plugins.blame__upstream__commiters.' + 'BlameUpstreamCommitersPublisher') + + def emotional_jenkins(parser, xml_parent, data): """yaml: emotional-jenkins Emotional Jenkins. diff --git a/setup.py b/setup.py index 4c51e4c2d..f50c05f8a 100644 --- a/setup.py +++ b/setup.py @@ -120,6 +120,7 @@ setuptools.setup( 'jenkins_jobs.publishers': [ 'aggregate-tests=jenkins_jobs.modules.publishers:aggregate_tests', 'archive=jenkins_jobs.modules.publishers:archive', + 'blame-upstream=jenkins_jobs.modules.publishers:blame_upstream', 'build-publisher=jenkins_jobs.modules.publishers:build_publisher', 'checkstyle=jenkins_jobs.modules.publishers:checkstyle', 'cifs=jenkins_jobs.modules.publishers:cifs', diff --git a/tests/publishers/fixtures/blame001.xml b/tests/publishers/fixtures/blame001.xml new file mode 100644 index 000000000..ef2ff74da --- /dev/null +++ b/tests/publishers/fixtures/blame001.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/tests/publishers/fixtures/blame001.yaml b/tests/publishers/fixtures/blame001.yaml new file mode 100644 index 000000000..73e030c33 --- /dev/null +++ b/tests/publishers/fixtures/blame001.yaml @@ -0,0 +1,2 @@ +publishers: + - blame-upstream