From e46a3be4fee3a13d954c9038622305dbd1aac608 Mon Sep 17 00:00:00 2001 From: tanhengyeow Date: Fri, 14 Sep 2018 21:35:24 +0800 Subject: [PATCH] jclouds: Utilize convert_mapping_to_xml Change-Id: I319aee86daf63f17778f020dea6b3756db04127d Co-Authored-By: Anil Belur Signed-off-by: Tan Heng Yeow Signed-off-by: Anil Belur --- jenkins_jobs/modules/publishers.py | 21 ++++++++++----------- tests/publishers/fixtures/jclouds001.xml | 4 ++-- tests/publishers/fixtures/jclouds001.yaml | 2 +- 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/jenkins_jobs/modules/publishers.py b/jenkins_jobs/modules/publishers.py index 70031f57b..2347eafb4 100644 --- a/jenkins_jobs/modules/publishers.py +++ b/jenkins_jobs/modules/publishers.py @@ -186,28 +186,27 @@ def jclouds(registry, xml_parent, data): deployer = XML.SubElement(xml_parent, 'jenkins.plugins.jclouds.blobstore.' 'BlobStorePublisher') - - if 'profile' not in data: - raise JenkinsJobsException('profile parameter is missing') - XML.SubElement(deployer, 'profileName').text = data.get('profile') - entries = XML.SubElement(deployer, 'entries') - deployer_entry = XML.SubElement(entries, 'jenkins.plugins.jclouds.blobstore.' 'BlobStoreEntry') - + deployer_mapping = [ + ('profile', 'profileName', None), + ] + helpers.convert_mapping_to_xml( + deployer, data, deployer_mapping, fail_required=True) try: XML.SubElement(deployer_entry, 'container').text = data['container'] - XML.SubElement(deployer_entry, 'path').text = data.get('basedir', '') XML.SubElement(deployer_entry, 'sourceFile').text = data['files'] except KeyError as e: raise JenkinsJobsException("blobstore requires '%s' to be set" % e.args[0]) - - mapping = [('hierarchy', 'keepHierarchy', False)] + deployer_entry_mapping = [ + ('hierarchy', 'keepHierarchy', False), + ('basedir', 'path', ''), + ] helpers.convert_mapping_to_xml( - deployer_entry, data, mapping, fail_required=True) + deployer_entry, data, deployer_entry_mapping, fail_required=True) def javadoc(registry, xml_parent, data): diff --git a/tests/publishers/fixtures/jclouds001.xml b/tests/publishers/fixtures/jclouds001.xml index 3f47cd2b2..2b3a3f1f2 100644 --- a/tests/publishers/fixtures/jclouds001.xml +++ b/tests/publishers/fixtures/jclouds001.xml @@ -2,15 +2,15 @@ - hp jenkins - *.tar.gz false + test base dir + hp diff --git a/tests/publishers/fixtures/jclouds001.yaml b/tests/publishers/fixtures/jclouds001.yaml index 3e6fba166..85fd4b24f 100644 --- a/tests/publishers/fixtures/jclouds001.yaml +++ b/tests/publishers/fixtures/jclouds001.yaml @@ -3,4 +3,4 @@ publishers: profile: hp files: '*.tar.gz' container: jenkins - basedir: + basedir: test base dir