From 86374bab1533af2fd2041f67b214f7aace97f9d5 Mon Sep 17 00:00:00 2001 From: Tomas Bezdek Date: Thu, 15 Oct 2015 14:55:51 +0100 Subject: [PATCH] Add support for Rebuild Plugin Change-Id: I3b23dbf66d211797af8735f211df9509eac95a3d --- jenkins_jobs/modules/properties.py | 24 ++++++++++++++++++++++++ setup.cfg | 1 + tests/properties/fixtures/rebuild.xml | 9 +++++++++ tests/properties/fixtures/rebuild.yaml | 4 ++++ 4 files changed, 38 insertions(+) create mode 100644 tests/properties/fixtures/rebuild.xml create mode 100644 tests/properties/fixtures/rebuild.yaml diff --git a/jenkins_jobs/modules/properties.py b/jenkins_jobs/modules/properties.py index fb215de79..a7c505d7b 100644 --- a/jenkins_jobs/modules/properties.py +++ b/jenkins_jobs/modules/properties.py @@ -616,6 +616,30 @@ def zeromq_event(parser, xml_parent, data): XML.SubElement(zmq_event, 'enabled').text = 'true' +def rebuild(parser, xml_parent, data): + """yaml: rebuild + Requires the Jenkins :jenkins-wiki:`Rebuild Plugin + `. + + :arg bool auto-rebuild: Rebuild without asking for parameters + (default: False) + :arg bool rebuild-disabled: Disable rebuilding for this job + (default: False) + + Example: + + .. literalinclude:: \ + /../../tests/properties/fixtures/rebuild.yaml + """ + sub_element = XML.SubElement(xml_parent, + 'com.sonyericsson.rebuild.RebuildSettings') + + XML.SubElement(sub_element, 'autoRebuild').text = str( + data.get('auto-rebuild', False)).lower() + XML.SubElement(sub_element, 'rebuildDisabled').text = str( + data.get('rebuild-disabled', False)).lower() + + class Properties(jenkins_jobs.modules.base.Base): sequence = 20 diff --git a/setup.cfg b/setup.cfg index cb2ab759f..0e29c19fe 100644 --- a/setup.cfg +++ b/setup.cfg @@ -108,6 +108,7 @@ jenkins_jobs.properties = priority-sorter=jenkins_jobs.modules.properties:priority_sorter promoted-build=jenkins_jobs.modules.properties:promoted_build raw=jenkins_jobs.modules.general:raw + rebuild=jenkins_jobs.modules.properties:rebuild sidebar=jenkins_jobs.modules.properties:sidebar slave-utilization=jenkins_jobs.modules.properties:slave_utilization throttle=jenkins_jobs.modules.properties:throttle diff --git a/tests/properties/fixtures/rebuild.xml b/tests/properties/fixtures/rebuild.xml new file mode 100644 index 000000000..87111ddc0 --- /dev/null +++ b/tests/properties/fixtures/rebuild.xml @@ -0,0 +1,9 @@ + + + + + true + true + + + diff --git a/tests/properties/fixtures/rebuild.yaml b/tests/properties/fixtures/rebuild.yaml new file mode 100644 index 000000000..0f22fbf43 --- /dev/null +++ b/tests/properties/fixtures/rebuild.yaml @@ -0,0 +1,4 @@ +properties: + - rebuild: + auto-rebuild: true + rebuild-disabled: true