From 843929143b78a5af413d21aa55bf952be09d7ba3 Mon Sep 17 00:00:00 2001 From: Yolande Amate Date: Mon, 24 Jul 2017 00:18:10 +0100 Subject: [PATCH] Add support for new option in config_file_provider_builder Change-Id: Iab4ab936a44868abd4e0dbf3033107c0cf33e312 Task: 4669 story: 2001062 --- jenkins_jobs/modules/builders.py | 3 +++ jenkins_jobs/modules/helpers.py | 1 + jenkins_jobs/modules/wrappers.py | 3 +++ tests/builders/fixtures/config-file-provider01.xml | 1 + tests/builders/fixtures/config-file-provider01.yaml | 1 + tests/wrappers/fixtures/config-file-provider001.xml | 1 + tests/wrappers/fixtures/config-file-provider001.yaml | 1 + tests/wrappers/fixtures/config-file-provider002.xml | 1 + tests/wrappers/fixtures/config-file-provider003.xml | 2 ++ tests/wrappers/fixtures/config-file-provider003.yaml | 1 + 10 files changed, 15 insertions(+) diff --git a/jenkins_jobs/modules/builders.py b/jenkins_jobs/modules/builders.py index 98bdbeacd..f67cef764 100644 --- a/jenkins_jobs/modules/builders.py +++ b/jenkins_jobs/modules/builders.py @@ -2060,6 +2060,9 @@ def config_file_provider(registry, xml_parent, data): (default '') * **variable** (`str`) -- Define an environment variable to be used (default '') + * **replace-tokens** (`bool`) -- Replace tokens in config file. For + example "password: ${PYPI_JENKINS_PASS}" will be replaced with + the global variable configured in Jenkins. Example: diff --git a/jenkins_jobs/modules/helpers.py b/jenkins_jobs/modules/helpers.py index 725da2adb..94c14315f 100644 --- a/jenkins_jobs/modules/helpers.py +++ b/jenkins_jobs/modules/helpers.py @@ -101,6 +101,7 @@ def config_file_provider_builder(xml_parent, data): ('file-id', 'fileId', None), ('target', 'targetLocation', ''), ('variable', 'variable', ''), + ('replace-tokens', 'replaceTokens', False), ] convert_mapping_to_xml(xml_file, file, mapping, fail_required=True) diff --git a/jenkins_jobs/modules/wrappers.py b/jenkins_jobs/modules/wrappers.py index 4421f9823..1bc58cae3 100644 --- a/jenkins_jobs/modules/wrappers.py +++ b/jenkins_jobs/modules/wrappers.py @@ -200,6 +200,9 @@ def config_file_provider(registry, xml_parent, data): (default '') * **variable** (`str`) -- Define an environment variable to be used (default '') + * **replace-tokens** (`bool`) -- Replace tokens in config file. + For example "password: ${PYPI_JENKINS_PASS}" will be replaced + with the global variable configured in Jenkins. Example: diff --git a/tests/builders/fixtures/config-file-provider01.xml b/tests/builders/fixtures/config-file-provider01.xml index 3d1b3a925..9e8ecad1a 100644 --- a/tests/builders/fixtures/config-file-provider01.xml +++ b/tests/builders/fixtures/config-file-provider01.xml @@ -7,6 +7,7 @@ org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig0123456789012 target variable + true diff --git a/tests/builders/fixtures/config-file-provider01.yaml b/tests/builders/fixtures/config-file-provider01.yaml index 4166e9c05..aa4042705 100644 --- a/tests/builders/fixtures/config-file-provider01.yaml +++ b/tests/builders/fixtures/config-file-provider01.yaml @@ -4,3 +4,4 @@ builders: - file-id: org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig0123456789012 target: target variable: variable + replace-tokens: true diff --git a/tests/wrappers/fixtures/config-file-provider001.xml b/tests/wrappers/fixtures/config-file-provider001.xml index b0cb6726b..09d772917 100644 --- a/tests/wrappers/fixtures/config-file-provider001.xml +++ b/tests/wrappers/fixtures/config-file-provider001.xml @@ -7,6 +7,7 @@ org.jenkinsci.plugins.configfiles.custom.CustomConfig1409250932722 tmp/bar.txt varname + true diff --git a/tests/wrappers/fixtures/config-file-provider001.yaml b/tests/wrappers/fixtures/config-file-provider001.yaml index d8da6bf34..f02c31426 100644 --- a/tests/wrappers/fixtures/config-file-provider001.yaml +++ b/tests/wrappers/fixtures/config-file-provider001.yaml @@ -4,3 +4,4 @@ wrappers: - file-id: org.jenkinsci.plugins.configfiles.custom.CustomConfig1409250932722 target: tmp/bar.txt variable: varname + replace-tokens: true diff --git a/tests/wrappers/fixtures/config-file-provider002.xml b/tests/wrappers/fixtures/config-file-provider002.xml index cfbf86b70..d10b964ad 100644 --- a/tests/wrappers/fixtures/config-file-provider002.xml +++ b/tests/wrappers/fixtures/config-file-provider002.xml @@ -7,6 +7,7 @@ org.jenkinsci.plugins.configfiles.custom.CustomConfig1234 + false diff --git a/tests/wrappers/fixtures/config-file-provider003.xml b/tests/wrappers/fixtures/config-file-provider003.xml index ad265d788..d8f9a0a5a 100644 --- a/tests/wrappers/fixtures/config-file-provider003.xml +++ b/tests/wrappers/fixtures/config-file-provider003.xml @@ -7,11 +7,13 @@ org.jenkinsci.plugins.configfiles.custom.CustomConfig1234 + false org.jenkinsci.plugins.configfiles.custom.CustomConfig5678 /foo.txt varName + true diff --git a/tests/wrappers/fixtures/config-file-provider003.yaml b/tests/wrappers/fixtures/config-file-provider003.yaml index dba4d333a..6f65ab564 100644 --- a/tests/wrappers/fixtures/config-file-provider003.yaml +++ b/tests/wrappers/fixtures/config-file-provider003.yaml @@ -5,3 +5,4 @@ wrappers: - file-id: org.jenkinsci.plugins.configfiles.custom.CustomConfig5678 target: /foo.txt variable: varName + replace-tokens: true