From ab9d80cc793e4bf3a23c140236411c3f9a267791 Mon Sep 17 00:00:00 2001 From: Thomas Meeus Date: Wed, 6 Dec 2017 13:02:23 +0100 Subject: [PATCH] Enable groovy-script includes for extended_choice_param Change-Id: I3e0f4dec04d20b1603774a483b2776caa8504b9c --- jenkins_jobs/modules/parameters.py | 8 +++++- .../fixtures/extended-choice-param-full.xml | 2 ++ .../extended-choice-param-minimal-groovy.xml | 28 +++++++++++++++++++ .../extended-choice-param-minimal-groovy.yaml | 7 +++++ .../extended-choice-param-minimal.xml | 2 ++ 5 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 tests/parameters/fixtures/extended-choice-param-minimal-groovy.xml create mode 100644 tests/parameters/fixtures/extended-choice-param-minimal-groovy.yaml diff --git a/jenkins_jobs/modules/parameters.py b/jenkins_jobs/modules/parameters.py index 7fe577241..40b34fcc9 100644 --- a/jenkins_jobs/modules/parameters.py +++ b/jenkins_jobs/modules/parameters.py @@ -394,7 +394,11 @@ def extended_choice_param(registry, xml_parent, data): :arg str description-property-key: key for the value description property file (optional, default '') :arg str multi-select-delimiter: value between selections when the - parameter is a multi-select (optiona, default ',') + parameter is a multi-select (optional, default ',') + :arg str groovy-script: the groovy script contents (optional, default ',') + :arg str classpath: the classpath for the groovy script + (optional, default ',') + Minimal Example: @@ -436,6 +440,8 @@ def extended_choice_param(registry, xml_parent, data): ('default-property-key', 'defaultPropertyKey', ''), ('description-property-file', 'descriptionPropertyFile', ''), ('description-property-key', 'descriptionPropertyKey', ''), + ('groovy-script', 'groovyScript', ''), + ('classpath', 'groovyClasspath', ''), ] 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 38e29147f..f3716a90c 100644 --- a/tests/parameters/fixtures/extended-choice-param-full.xml +++ b/tests/parameters/fixtures/extended-choice-param-full.xml @@ -19,6 +19,8 @@ fookey + + diff --git a/tests/parameters/fixtures/extended-choice-param-minimal-groovy.xml b/tests/parameters/fixtures/extended-choice-param-minimal-groovy.xml new file mode 100644 index 000000000..a8e92e3cc --- /dev/null +++ b/tests/parameters/fixtures/extended-choice-param-minimal-groovy.xml @@ -0,0 +1,28 @@ + + + + + + + OPTIONS + Available options + + 5 + , + false + + + PT_CHECKBOX + + + + + + + return 'value1, value2, value3' + + + + + + diff --git a/tests/parameters/fixtures/extended-choice-param-minimal-groovy.yaml b/tests/parameters/fixtures/extended-choice-param-minimal-groovy.yaml new file mode 100644 index 000000000..555a0e770 --- /dev/null +++ b/tests/parameters/fixtures/extended-choice-param-minimal-groovy.yaml @@ -0,0 +1,7 @@ +parameters: + - extended-choice: + name: OPTIONS + description: "Available options" + type: 'PT_CHECKBOX' + groovy-script: "return 'value1, value2, value3'" + classpath: '' diff --git a/tests/parameters/fixtures/extended-choice-param-minimal.xml b/tests/parameters/fixtures/extended-choice-param-minimal.xml index dcf9f9483..b4c3c780b 100644 --- a/tests/parameters/fixtures/extended-choice-param-minimal.xml +++ b/tests/parameters/fixtures/extended-choice-param-minimal.xml @@ -19,6 +19,8 @@ + +