summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIgor Lakhtenkov <lakhtenkov@gmail.com>2020-05-22 16:32:44 +0300
committerIgor Lakhtenkov <lakhtenkov@gmail.com>2020-05-22 17:04:49 +0300
commit2eb74a15cd8e237902578321b2f131cffe7757fc (patch)
treee157b22ffe2a3411b137a1e36fa54d9d1b713e0f
parent4e1e1c7524dcf5edc1a91ef2663b9bf25ae577d3 (diff)
downloadpython-jenkins-job-builder-2eb74a15cd8e237902578321b2f131cffe7757fc.tar.gz
python-jenkins-job-builder-2eb74a15cd8e237902578321b2f131cffe7757fc.tar.xz
python-jenkins-job-builder-2eb74a15cd8e237902578321b2f131cffe7757fc.zip
Added trim option for String parameter.
Task: #22637 Change-Id: Ic2722aac586d3911e3ff5ab4c2d3c5a7a03fa14e
-rw-r--r--jenkins_jobs/modules/parameters.py8
-rw-r--r--tests/macros/fixtures/wrapper/release_inner-macro-expansion-001.xml1
-rw-r--r--tests/parameters/string-param001.xml15
-rw-r--r--tests/parameters/string-param001.yaml5
-rw-r--r--tests/parameters/string-param002.xml15
-rw-r--r--tests/parameters/string-param002.yaml6
-rw-r--r--tests/wrappers/fixtures/release001.xml1
-rw-r--r--tests/yamlparser/fixtures/variable_default_values.xml2
8 files changed, 52 insertions, 1 deletions
diff --git a/jenkins_jobs/modules/parameters.py b/jenkins_jobs/modules/parameters.py
index fca02e1c..37030617 100644
--- a/jenkins_jobs/modules/parameters.py
+++ b/jenkins_jobs/modules/parameters.py
@@ -61,6 +61,8 @@ def string_param(registry, xml_parent, data):
:arg str name: the name of the parameter
:arg str default: the default value of the parameter (optional)
:arg str description: a description of the parameter (optional)
+ :arg bool trim: strip whitespaces from the begnning and end
+ of the string (optional, default: false)
Example::
@@ -69,11 +71,15 @@ def string_param(registry, xml_parent, data):
name: FOO
default: bar
description: "A parameter named FOO, defaults to 'bar'."
+ trim: true
"""
- base_param(
+ pdef = base_param(
registry, xml_parent, data, True, "hudson.model.StringParameterDefinition"
)
+ mapping = [("trim", "trim", False)]
+ helpers.convert_mapping_to_xml(pdef, data, mapping, fail_required=True)
+
def promoted_param(registry, xml_parent, data):
"""yaml: promoted build
diff --git a/tests/macros/fixtures/wrapper/release_inner-macro-expansion-001.xml b/tests/macros/fixtures/wrapper/release_inner-macro-expansion-001.xml
index f6fe354e..d3cf435a 100644
--- a/tests/macros/fixtures/wrapper/release_inner-macro-expansion-001.xml
+++ b/tests/macros/fixtures/wrapper/release_inner-macro-expansion-001.xml
@@ -21,6 +21,7 @@
<name>RELEASE_BRANCH</name>
<description>Git branch to release from.</description>
<defaultValue/>
+ <trim>false</trim>
</hudson.model.StringParameterDefinition>
<hudson.model.BooleanParameterDefinition>
<name>FOO</name>
diff --git a/tests/parameters/string-param001.xml b/tests/parameters/string-param001.xml
new file mode 100644
index 00000000..39e81402
--- /dev/null
+++ b/tests/parameters/string-param001.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project>
+ <properties>
+ <hudson.model.ParametersDefinitionProperty>
+ <parameterDefinitions>
+ <hudson.model.StringParameterDefinition>
+ <name>FOO</name>
+ <description>A parameter named FOO, defaults to 'bar'.</description>
+ <defaultValue>bar</defaultValue>
+ <trim>false</trim>
+ </hudson.model.StringParameterDefinition>
+ </parameterDefinitions>
+ </hudson.model.ParametersDefinitionProperty>
+ </properties>
+</project>
diff --git a/tests/parameters/string-param001.yaml b/tests/parameters/string-param001.yaml
new file mode 100644
index 00000000..b63de8e4
--- /dev/null
+++ b/tests/parameters/string-param001.yaml
@@ -0,0 +1,5 @@
+parameters:
+ - string:
+ name: FOO
+ default: bar
+ description: A parameter named FOO, defaults to 'bar'.
diff --git a/tests/parameters/string-param002.xml b/tests/parameters/string-param002.xml
new file mode 100644
index 00000000..7300cebf
--- /dev/null
+++ b/tests/parameters/string-param002.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project>
+ <properties>
+ <hudson.model.ParametersDefinitionProperty>
+ <parameterDefinitions>
+ <hudson.model.StringParameterDefinition>
+ <name>FOO</name>
+ <description>A parameter named FOO, defaults to 'bar'.</description>
+ <defaultValue>bar</defaultValue>
+ <trim>true</trim>
+ </hudson.model.StringParameterDefinition>
+ </parameterDefinitions>
+ </hudson.model.ParametersDefinitionProperty>
+ </properties>
+</project>
diff --git a/tests/parameters/string-param002.yaml b/tests/parameters/string-param002.yaml
new file mode 100644
index 00000000..4c93586e
--- /dev/null
+++ b/tests/parameters/string-param002.yaml
@@ -0,0 +1,6 @@
+parameters:
+ - string:
+ name: FOO
+ default: bar
+ description: A parameter named FOO, defaults to 'bar'.
+ trim: true
diff --git a/tests/wrappers/fixtures/release001.xml b/tests/wrappers/fixtures/release001.xml
index 78af55cb..db64b5d3 100644
--- a/tests/wrappers/fixtures/release001.xml
+++ b/tests/wrappers/fixtures/release001.xml
@@ -10,6 +10,7 @@
<name>RELEASE_BRANCH</name>
<description>Git branch to release from.</description>
<defaultValue/>
+ <trim>false</trim>
</hudson.model.StringParameterDefinition>
<hudson.model.BooleanParameterDefinition>
<name>FOO</name>
diff --git a/tests/yamlparser/fixtures/variable_default_values.xml b/tests/yamlparser/fixtures/variable_default_values.xml
index a051363d..61119939 100644
--- a/tests/yamlparser/fixtures/variable_default_values.xml
+++ b/tests/yamlparser/fixtures/variable_default_values.xml
@@ -14,6 +14,7 @@
<name>INT_DEFAULT</name>
<description/>
<defaultValue>0</defaultValue>
+ <trim>false</trim>
</hudson.model.StringParameterDefinition>
</parameterDefinitions>
</hudson.model.ParametersDefinitionProperty>
@@ -39,6 +40,7 @@
<name>INT_DEFAULT</name>
<description/>
<defaultValue>1</defaultValue>
+ <trim>false</trim>
</hudson.model.StringParameterDefinition>
</parameterDefinitions>
</hudson.model.ParametersDefinitionProperty>