From f37444423bca233ae7b96518ae090fc7817df9bb Mon Sep 17 00:00:00 2001 From: tanhengyeow Date: Wed, 23 May 2018 01:17:51 +0800 Subject: [PATCH] Improve support for Extended Choice Parameters Adds support for extended choice parameters with regards to default groovy scripts. Change-Id: I9d2a61013f041e7b81a80b5618781dbefeace329 Story: #2001931 Task: #14461 --- jenkins_jobs/modules/parameters.py | 12 ++++++++++++ .../fixtures/extended-choice-param-full.xml | 12 ++++++++++++ .../extended-choice-param-minimal-groovy.xml | 4 ++++ .../fixtures/extended-choice-param-minimal.xml | 4 ++++ 4 files changed, 32 insertions(+) diff --git a/jenkins_jobs/modules/parameters.py b/jenkins_jobs/modules/parameters.py index 9fa1e8926..957320614 100644 --- a/jenkins_jobs/modules/parameters.py +++ b/jenkins_jobs/modules/parameters.py @@ -398,6 +398,14 @@ def extended_choice_param(registry, xml_parent, data): :arg str groovy-script: the groovy script contents (optional, default ',') :arg str classpath: the classpath for the groovy script (optional, default ',') + :arg str default-groovy-script: the default groovy + script contents (optional, default '') + :arg str default-groovy-classpath: the default classpath for the + groovy script (optional, default '') + :arg str description-groovy-script: location of groovy script when value + description needs to come from a groovy script (optional, default '') + :arg str description-groovy-classpath: classpath for the value description + groovy script (optional, default '') Minimal Example: @@ -443,6 +451,10 @@ def extended_choice_param(registry, xml_parent, data): ('description-property-key', 'descriptionPropertyKey', ''), ('groovy-script', 'groovyScript', ''), ('classpath', 'groovyClasspath', ''), + ('default-groovy-script', 'defaultGroovyScript', ''), + ('default-groovy-classpath', 'defaultGroovyClasspath', ''), + ('description-groovy-script', 'descriptionGroovyScript', ''), + ('description-groovy-classpath', 'descriptionGroovyClasspath', ''), ] convert_mapping_to_xml(pdef, data, mapping, fail_required=True) diff --git a/tests/parameters/fixtures/extended-choice-param-full.xml b/tests/parameters/fixtures/extended-choice-param-full.xml index 40560c999..7de58f63a 100644 --- a/tests/parameters/fixtures/extended-choice-param-full.xml +++ b/tests/parameters/fixtures/extended-choice-param-full.xml @@ -21,6 +21,10 @@ + + + + OPTIONS_CHECKBOX @@ -40,6 +44,10 @@ + + + + MULTISELECTOPTIONS @@ -59,6 +67,10 @@ + + + + diff --git a/tests/parameters/fixtures/extended-choice-param-minimal-groovy.xml b/tests/parameters/fixtures/extended-choice-param-minimal-groovy.xml index a8e92e3cc..96b5157af 100644 --- a/tests/parameters/fixtures/extended-choice-param-minimal-groovy.xml +++ b/tests/parameters/fixtures/extended-choice-param-minimal-groovy.xml @@ -21,6 +21,10 @@ return 'value1, value2, value3' + + + + diff --git a/tests/parameters/fixtures/extended-choice-param-minimal.xml b/tests/parameters/fixtures/extended-choice-param-minimal.xml index b4c3c780b..dca2aaf5e 100644 --- a/tests/parameters/fixtures/extended-choice-param-minimal.xml +++ b/tests/parameters/fixtures/extended-choice-param-minimal.xml @@ -21,6 +21,10 @@ + + + +