From e4da33d13b1814aeeae23376a179a1753f152351 Mon Sep 17 00:00:00 2001 From: David Pursehouse Date: Tue, 26 Jan 2016 14:43:03 +0900 Subject: [PATCH] Allow to omit list of projects in Gerrit trigger config In some cases, for example when using the dynamic trigger config, the list of projects is not needed. Allow to omit the 'projects' section of the configuration. Change-Id: I7c9d2ed03b305ee7c7379564c4b73de1991278f4 --- jenkins_jobs/modules/triggers.py | 4 +-- tests/triggers/fixtures/gerrit009.xml | 40 ++++++++++++++++++++++++++ tests/triggers/fixtures/gerrit009.yaml | 8 ++++++ 3 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 tests/triggers/fixtures/gerrit009.xml create mode 100644 tests/triggers/fixtures/gerrit009.yaml diff --git a/jenkins_jobs/modules/triggers.py b/jenkins_jobs/modules/triggers.py index 0efd57be1..410c55634 100644 --- a/jenkins_jobs/modules/triggers.py +++ b/jenkins_jobs/modules/triggers.py @@ -80,7 +80,7 @@ def gerrit_handle_legacy_configuration(data): 'skipVote', ]) - for project in data['projects']: + for project in data.get('projects', []): convert_dict(project, [ 'projectCompareType', 'projectPattern', @@ -443,7 +443,7 @@ def gerrit(parser, xml_parent, data): gerrit_handle_legacy_configuration(data) - projects = data['projects'] + projects = data.get('projects', []) gtrig = XML.SubElement(xml_parent, 'com.sonyericsson.hudson.plugins.gerrit.trigger.' 'hudsontrigger.GerritTrigger') diff --git a/tests/triggers/fixtures/gerrit009.xml b/tests/triggers/fixtures/gerrit009.xml new file mode 100644 index 000000000..f7ef95fcb --- /dev/null +++ b/tests/triggers/fixtures/gerrit009.xml @@ -0,0 +1,40 @@ + + + + + + + + false + false + false + false + + false + false + true + false + false + + + True + http://myhost/mytrigger + false + + + APRV + -1 + + + + + + + + + + + __ANY__ + + + diff --git a/tests/triggers/fixtures/gerrit009.yaml b/tests/triggers/fixtures/gerrit009.yaml new file mode 100644 index 000000000..e5053d201 --- /dev/null +++ b/tests/triggers/fixtures/gerrit009.yaml @@ -0,0 +1,8 @@ +triggers: + - gerrit: + trigger-on-comment-added-event: true + trigger-approval-category: 'APRV' + trigger-approval-value: -1 + trigger-on-change-abandoned-event: true + dynamic-trigger-enabled: true + dynamic-trigger-url: http://myhost/mytrigger