summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortanhengyeow <E0032242@u.nus.edu>2018-08-31 22:56:16 +0800
committertanhengyeow <E0032242@u.nus.edu>2018-08-31 22:56:55 +0800
commit2fba7e6058ff9c8e7c272bc3ea521ea77ac389f6 (patch)
tree248c5dee6e23b62f702e080bf52c3468819eb600
parentde4fb862f3469fc711e8adefcb2f2471427a3a84 (diff)
downloadpython-jenkins-job-builder-2fba7e6058ff9c8e7c272bc3ea521ea77ac389f6.tar.gz
python-jenkins-job-builder-2fba7e6058ff9c8e7c272bc3ea521ea77ac389f6.tar.xz
python-jenkins-job-builder-2fba7e6058ff9c8e7c272bc3ea521ea77ac389f6.zip
github-pull-request: Utilize convert_mapping_to_xml
Change-Id: I8a5f3ade27d7aeba8054c814ad0dc2bf7993dd42 Signed-off-by: Tan Heng Yeow <E0032242@u.nus.edu>
-rw-r--r--jenkins_jobs/modules/triggers.py32
-rw-r--r--tests/triggers/fixtures/github-pull-request-comments.xml6
-rw-r--r--tests/triggers/fixtures/github-pull-request-full.xml6
-rw-r--r--tests/triggers/fixtures/github-pull-request-minimal.xml6
-rw-r--r--tests/triggers/fixtures/github-pull-request-multiple-extensions.xml6
-rw-r--r--tests/triggers/fixtures/github-pull-request-status.xml6
6 files changed, 30 insertions, 32 deletions
diff --git a/jenkins_jobs/modules/triggers.py b/jenkins_jobs/modules/triggers.py
index 34eff76e..1b83ba03 100644
--- a/jenkins_jobs/modules/triggers.py
+++ b/jenkins_jobs/modules/triggers.py
@@ -1023,11 +1023,21 @@ def github_pull_request(registry, xml_parent, data):
"""
ghprb = XML.SubElement(xml_parent, 'org.jenkinsci.plugins.ghprb.'
'GhprbTrigger')
- XML.SubElement(ghprb, 'spec').text = data.get('cron', '')
+ mapping = [
+ ('cron', 'spec', ''),
+ ('allow-whitelist-orgs-as-admins',
+ 'allowMembersOfWhitelistedOrgsAsAdmin', False),
+ ('cron', 'cron', ''),
+ ('trigger-phrase', 'triggerPhrase', ''),
+ ('skip-build-phrase', 'skipBuildPhrase', ''),
+ ('only-trigger-phrase', 'onlyTriggerPhrase', False),
+ ('github-hooks', 'useGitHubHooks', False),
+ ('permit-all', 'permitAll', False),
+ ('auto-close-on-fail',
+ 'autoCloseFailedPullRequests', False),
+ ]
admin_string = "\n".join(data.get('admin-list', []))
XML.SubElement(ghprb, 'adminlist').text = admin_string
- XML.SubElement(ghprb, 'allowMembersOfWhitelistedOrgsAsAdmin').text = str(
- data.get('allow-whitelist-orgs-as-admins', False)).lower()
white_string = "\n".join(data.get('white-list', []))
XML.SubElement(ghprb, 'whitelist').text = white_string
org_string = "\n".join(data.get('org-list', []))
@@ -1036,7 +1046,6 @@ def github_pull_request(registry, xml_parent, data):
XML.SubElement(ghprb, 'whiteListLabels').text = white_list_labels_string
black_list_labels_string = "\n".join(data.get('black-list-labels', []))
XML.SubElement(ghprb, 'blackListLabels').text = black_list_labels_string
- XML.SubElement(ghprb, 'cron').text = data.get('cron', '')
excluded_regions_string = "\n".join(data.get('excluded-regions', []))
XML.SubElement(ghprb, 'excludedRegions').text = excluded_regions_string
included_regions_string = "\n".join(data.get('included-regions', []))
@@ -1047,19 +1056,8 @@ def github_pull_request(registry, xml_parent, data):
XML.SubElement(ghprb, 'buildDescTemplate').text = str(
build_desc_template)
- XML.SubElement(ghprb, 'triggerPhrase').text = \
- data.get('trigger-phrase', '')
- XML.SubElement(ghprb, 'skipBuildPhrase').text = str(
- data.get('skip-build-phrase', '')).lower()
- XML.SubElement(ghprb, 'onlyTriggerPhrase').text = str(
- data.get('only-trigger-phrase', False)).lower()
- XML.SubElement(ghprb, 'useGitHubHooks').text = str(
- data.get('github-hooks', False)).lower()
- XML.SubElement(ghprb, 'permitAll').text = str(
- data.get('permit-all', False)).lower()
- XML.SubElement(ghprb, 'autoCloseFailedPullRequests').text = str(
- data.get('auto-close-on-fail', False)).lower()
-
+ helpers.convert_mapping_to_xml(
+ ghprb, data, mapping, fail_required=False)
white_list_target_branches = data.get('white-list-target-branches', [])
if white_list_target_branches:
ghprb_wltb = XML.SubElement(ghprb, 'whiteListTargetBranches')
diff --git a/tests/triggers/fixtures/github-pull-request-comments.xml b/tests/triggers/fixtures/github-pull-request-comments.xml
index 76683abd..7b2c151e 100644
--- a/tests/triggers/fixtures/github-pull-request-comments.xml
+++ b/tests/triggers/fixtures/github-pull-request-comments.xml
@@ -2,19 +2,19 @@
<project>
<triggers class="vector">
<org.jenkinsci.plugins.ghprb.GhprbTrigger>
- <spec>* * * * *</spec>
<adminlist>user1
user2</adminlist>
- <allowMembersOfWhitelistedOrgsAsAdmin>true</allowMembersOfWhitelistedOrgsAsAdmin>
<whitelist>user3
user4</whitelist>
<orgslist>org1
org2</orgslist>
<whiteListLabels/>
<blackListLabels/>
- <cron>* * * * *</cron>
<excludedRegions/>
<includedRegions/>
+ <spec>* * * * *</spec>
+ <allowMembersOfWhitelistedOrgsAsAdmin>true</allowMembersOfWhitelistedOrgsAsAdmin>
+ <cron>* * * * *</cron>
<triggerPhrase>retest this please</triggerPhrase>
<skipBuildPhrase/>
<onlyTriggerPhrase>true</onlyTriggerPhrase>
diff --git a/tests/triggers/fixtures/github-pull-request-full.xml b/tests/triggers/fixtures/github-pull-request-full.xml
index 3f282fda..7bfe2e3c 100644
--- a/tests/triggers/fixtures/github-pull-request-full.xml
+++ b/tests/triggers/fixtures/github-pull-request-full.xml
@@ -2,10 +2,8 @@
<project>
<triggers class="vector">
<org.jenkinsci.plugins.ghprb.GhprbTrigger>
- <spec>* * * * *</spec>
<adminlist>user1
user2</adminlist>
- <allowMembersOfWhitelistedOrgsAsAdmin>true</allowMembersOfWhitelistedOrgsAsAdmin>
<whitelist>user3
user4</whitelist>
<orgslist>org1
@@ -14,12 +12,14 @@ org2</orgslist>
label2</whiteListLabels>
<blackListLabels>label3
label4</blackListLabels>
- <cron>* * * * *</cron>
<excludedRegions>exclude
region</excludedRegions>
<includedRegions>include
region</includedRegions>
<buildDescTemplate>build description</buildDescTemplate>
+ <spec>* * * * *</spec>
+ <allowMembersOfWhitelistedOrgsAsAdmin>true</allowMembersOfWhitelistedOrgsAsAdmin>
+ <cron>* * * * *</cron>
<triggerPhrase>retest this please</triggerPhrase>
<skipBuildPhrase>no tests</skipBuildPhrase>
<onlyTriggerPhrase>true</onlyTriggerPhrase>
diff --git a/tests/triggers/fixtures/github-pull-request-minimal.xml b/tests/triggers/fixtures/github-pull-request-minimal.xml
index 755b16d4..dbeac30a 100644
--- a/tests/triggers/fixtures/github-pull-request-minimal.xml
+++ b/tests/triggers/fixtures/github-pull-request-minimal.xml
@@ -2,16 +2,16 @@
<project>
<triggers class="vector">
<org.jenkinsci.plugins.ghprb.GhprbTrigger>
- <spec/>
<adminlist/>
- <allowMembersOfWhitelistedOrgsAsAdmin>false</allowMembersOfWhitelistedOrgsAsAdmin>
<whitelist/>
<orgslist/>
<whiteListLabels/>
<blackListLabels/>
- <cron/>
<excludedRegions/>
<includedRegions/>
+ <spec/>
+ <allowMembersOfWhitelistedOrgsAsAdmin>false</allowMembersOfWhitelistedOrgsAsAdmin>
+ <cron/>
<triggerPhrase/>
<skipBuildPhrase/>
<onlyTriggerPhrase>false</onlyTriggerPhrase>
diff --git a/tests/triggers/fixtures/github-pull-request-multiple-extensions.xml b/tests/triggers/fixtures/github-pull-request-multiple-extensions.xml
index 35f517a0..f2d8d14b 100644
--- a/tests/triggers/fixtures/github-pull-request-multiple-extensions.xml
+++ b/tests/triggers/fixtures/github-pull-request-multiple-extensions.xml
@@ -2,19 +2,19 @@
<project>
<triggers class="vector">
<org.jenkinsci.plugins.ghprb.GhprbTrigger>
- <spec>* * * * *</spec>
<adminlist>user1
user2</adminlist>
- <allowMembersOfWhitelistedOrgsAsAdmin>true</allowMembersOfWhitelistedOrgsAsAdmin>
<whitelist>user3
user4</whitelist>
<orgslist>org1
org2</orgslist>
<whiteListLabels/>
<blackListLabels/>
- <cron>* * * * *</cron>
<excludedRegions/>
<includedRegions/>
+ <spec>* * * * *</spec>
+ <allowMembersOfWhitelistedOrgsAsAdmin>true</allowMembersOfWhitelistedOrgsAsAdmin>
+ <cron>* * * * *</cron>
<triggerPhrase>retest this please</triggerPhrase>
<skipBuildPhrase/>
<onlyTriggerPhrase>true</onlyTriggerPhrase>
diff --git a/tests/triggers/fixtures/github-pull-request-status.xml b/tests/triggers/fixtures/github-pull-request-status.xml
index f499478d..c12373cf 100644
--- a/tests/triggers/fixtures/github-pull-request-status.xml
+++ b/tests/triggers/fixtures/github-pull-request-status.xml
@@ -2,19 +2,19 @@
<project>
<triggers class="vector">
<org.jenkinsci.plugins.ghprb.GhprbTrigger>
- <spec>* * * * *</spec>
<adminlist>user1
user2</adminlist>
- <allowMembersOfWhitelistedOrgsAsAdmin>true</allowMembersOfWhitelistedOrgsAsAdmin>
<whitelist>user3
user4</whitelist>
<orgslist>org1
org2</orgslist>
<whiteListLabels/>
<blackListLabels/>
- <cron>* * * * *</cron>
<excludedRegions/>
<includedRegions/>
+ <spec>* * * * *</spec>
+ <allowMembersOfWhitelistedOrgsAsAdmin>true</allowMembersOfWhitelistedOrgsAsAdmin>
+ <cron>* * * * *</cron>
<triggerPhrase>retest this please</triggerPhrase>
<skipBuildPhrase/>
<onlyTriggerPhrase>true</onlyTriggerPhrase>