diff --git a/jenkins_jobs/modules/wrappers.py b/jenkins_jobs/modules/wrappers.py index 59b8ea52d..a45507f65 100644 --- a/jenkins_jobs/modules/wrappers.py +++ b/jenkins_jobs/modules/wrappers.py @@ -490,50 +490,43 @@ def build_keeper(registry, xml_parent, data): .. literalinclude:: /../../tests/wrappers/fixtures/build-keeper0002.yaml """ - root = XML.SubElement(xml_parent, 'org.jenkins__ci.plugins.build__keeper.BuildKeeper') valid_policies = ('by-day', 'keep-since', 'build-number', 'keep-first-failed') policy = data.get('policy') - build_period = str(data.get('build-period', 0)) - dont_keep_failed = str(data.get('dont-keep-failed', False)).lower() + + mapping = [ + ('build-period', 'buildPeriod', 0), + ('dont-keep-failed', 'dontKeepFailed', False)] if policy == 'by-day': policy_element = XML.SubElement(root, 'policy', {'class': 'org.jenkins_ci.plugins.' 'build_keeper.ByDayPolicy'}) - XML.SubElement(policy_element, 'buildPeriod').text = build_period - XML.SubElement(policy_element, - 'dontKeepFailed').text = dont_keep_failed elif policy == 'keep-since': policy_element = XML.SubElement(root, 'policy', {'class': 'org.jenkins_ci.plugins.' 'build_keeper.KeepSincePolicy'}) - XML.SubElement(policy_element, 'buildPeriod').text = build_period - XML.SubElement(policy_element, - 'dontKeepFailed').text = dont_keep_failed elif policy == 'build-number': policy_element = XML.SubElement(root, 'policy', {'class': 'org.jenkins_ci.plugins.' 'build_keeper.BuildNumberPolicy'}) - XML.SubElement(policy_element, 'buildPeriod').text = build_period - XML.SubElement(policy_element, - 'dontKeepFailed').text = dont_keep_failed elif policy == 'keep-first-failed': policy_element = XML.SubElement(root, 'policy', {'class': 'org.jenkins_ci.plugins.' 'build_keeper.KeepFirstFailedPolicy'}) - XML.SubElement(policy_element, 'numberOfFails').text = str( - data.get('number-of-fails', 0)) + mapping = [('number-of-fails', 'numberOfFails', 0)] else: InvalidAttributeError('policy', policy, valid_policies) + convert_mapping_to_xml(policy_element, data, mapping, fail_required=True) + def live_screenshot(registry, xml_parent, data): """yaml: live-screenshot