From 1d90d0d5ba4dc83d399b07a9c1ddc343939b84c8 Mon Sep 17 00:00:00 2001 From: Daniel Watkins Date: Wed, 30 May 2018 17:00:54 -0400 Subject: [PATCH] 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 --- jenkins_jobs/modules/triggers.py | 6 +-- tests/triggers/fixtures/gerrit010.xml | 58 ++++++++++++++++++++++++++ tests/triggers/fixtures/gerrit010.yaml | 23 ++++++++++ 3 files changed, 83 insertions(+), 4 deletions(-) create mode 100644 tests/triggers/fixtures/gerrit010.xml create mode 100644 tests/triggers/fixtures/gerrit010.yaml diff --git a/jenkins_jobs/modules/triggers.py b/jenkins_jobs/modules/triggers.py index 4c0c4c249..65ba6550d 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 000000000..c9cc24993 --- /dev/null +++ b/tests/triggers/fixtures/gerrit010.xml @@ -0,0 +1,58 @@ + + + + + + + + PLAIN + test-project + + + ANT + ** + + + + + ANT + subdirectory/** + + + false + + + + false + false + false + false + + false + false + false + false + false + + + True + http://myhost/mytrigger + + false + + + APRV + 1 + + + + + + + + + + __ANY__ + + + diff --git a/tests/triggers/fixtures/gerrit010.yaml b/tests/triggers/fixtures/gerrit010.yaml new file mode 100644 index 000000000..45df8b123 --- /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