summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Watkins <daniel.watkins@canonical.com>2018-05-30 17:00:54 -0400
committerDaniel Watkins <daniel.watkins@canonical.com>2018-05-30 17:00:54 -0400
commit1d90d0d5ba4dc83d399b07a9c1ddc343939b84c8 (patch)
treed5b743be8b70a8d0c7fd0980ed9bb10872ecf82a
parent307c09cff3ef030a72859cdc63ce555810af486d (diff)
downloadpython-jenkins-job-builder-1d90d0d5ba4dc83d399b07a9c1ddc343939b84c8.tar.gz
python-jenkins-job-builder-1d90d0d5ba4dc83d399b07a9c1ddc343939b84c8.tar.xz
python-jenkins-job-builder-1d90d0d5ba4dc83d399b07a9c1ddc343939b84c8.zip
Handle string skip-vote parameters in gerrit trigger
Prior to this commit, the code assumes that the parameters given in the YAML will parse as Python bools. This fails when, for example, the string "false" is given. Change-Id: Ia7d0f5954929d13acc268f878ce992808b258a12 Story: 2001466 Task: 6183
-rw-r--r--jenkins_jobs/modules/triggers.py6
-rw-r--r--tests/triggers/fixtures/gerrit010.xml58
-rw-r--r--tests/triggers/fixtures/gerrit010.yaml23
3 files changed, 83 insertions, 4 deletions
diff --git a/jenkins_jobs/modules/triggers.py b/jenkins_jobs/modules/triggers.py
index 4c0c4c24..65ba6550 100644
--- a/jenkins_jobs/modules/triggers.py
+++ b/jenkins_jobs/modules/triggers.py
@@ -204,10 +204,8 @@ def build_gerrit_skip_votes(xml_parent, data):
skip_vote_node = XML.SubElement(xml_parent, 'skipVote')
skip_vote = data.get('skip-vote', {})
for result_kind, tag_name in outcomes:
- if skip_vote.get(result_kind, False):
- XML.SubElement(skip_vote_node, tag_name).text = 'true'
- else:
- XML.SubElement(skip_vote_node, tag_name).text = 'false'
+ setting = skip_vote.get(result_kind, False)
+ XML.SubElement(skip_vote_node, tag_name).text = str(setting).lower()
def gerrit(registry, xml_parent, data):
diff --git a/tests/triggers/fixtures/gerrit010.xml b/tests/triggers/fixtures/gerrit010.xml
new file mode 100644
index 00000000..c9cc2499
--- /dev/null
+++ b/tests/triggers/fixtures/gerrit010.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project>
+ <triggers class="vector">
+ <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger>
+ <spec/>
+ <gerritProjects>
+ <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.data.GerritProject>
+ <compareType>PLAIN</compareType>
+ <pattern>test-project</pattern>
+ <branches>
+ <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.data.Branch>
+ <compareType>ANT</compareType>
+ <pattern>**</pattern>
+ </com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.data.Branch>
+ </branches>
+ <filePaths>
+ <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.data.FilePath>
+ <compareType>ANT</compareType>
+ <pattern>subdirectory/**</pattern>
+ </com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.data.FilePath>
+ </filePaths>
+ <disableStrictForbiddenFileVerification>false</disableStrictForbiddenFileVerification>
+ </com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.data.GerritProject>
+ </gerritProjects>
+ <skipVote>
+ <onSuccessful>false</onSuccessful>
+ <onFailed>false</onFailed>
+ <onUnstable>false</onUnstable>
+ <onNotBuilt>false</onNotBuilt>
+ </skipVote>
+ <silentMode>false</silentMode>
+ <silentStartMode>false</silentStartMode>
+ <escapeQuotes>false</escapeQuotes>
+ <noNameAndEmailParameters>false</noNameAndEmailParameters>
+ <readableMessage>false</readableMessage>
+ <dependencyJobsNames/>
+ <notificationLevel/>
+ <dynamicTriggerConfiguration>True</dynamicTriggerConfiguration>
+ <triggerConfigURL>http://myhost/mytrigger</triggerConfigURL>
+ <triggerInformationAction/>
+ <allowTriggeringUnreviewedPatches>false</allowTriggeringUnreviewedPatches>
+ <triggerOnEvents>
+ <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginCommentAddedEvent>
+ <verdictCategory>APRV</verdictCategory>
+ <commentAddedTriggerApprovalValue>1</commentAddedTriggerApprovalValue>
+ </com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginCommentAddedEvent>
+ </triggerOnEvents>
+ <buildStartMessage/>
+ <buildFailureMessage/>
+ <buildSuccessfulMessage/>
+ <buildUnstableMessage/>
+ <buildNotBuiltMessage/>
+ <buildUnsuccessfulFilepath/>
+ <customUrl/>
+ <serverName>__ANY__</serverName>
+ </com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger>
+ </triggers>
+</project>
diff --git a/tests/triggers/fixtures/gerrit010.yaml b/tests/triggers/fixtures/gerrit010.yaml
new file mode 100644
index 00000000..45df8b12
--- /dev/null
+++ b/tests/triggers/fixtures/gerrit010.yaml
@@ -0,0 +1,23 @@
+triggers:
+ - gerrit:
+ trigger-on-comment-added-event: true
+ trigger-approval-category: 'APRV'
+ trigger-approval-value: 1
+ projects:
+ - project-compare-type: 'PLAIN'
+ project-pattern: 'test-project'
+ branch-compare-type: 'ANT'
+ branch-pattern: '**'
+ file-paths:
+ - compare-type: ANT
+ pattern: subdirectory/**
+ skip-vote:
+ successful: 'false'
+ failed: 'false'
+ unstable: 'false'
+ notbuilt: 'false'
+ silent: false
+ escape-quotes: false
+ no-name-and-email: false
+ dynamic-trigger-enabled: true
+ dynamic-trigger-url: http://myhost/mytrigger