From 815b7f0f6969c8772603eb856e557d6f9abe274e Mon Sep 17 00:00:00 2001 From: Wayne Date: Fri, 19 Jun 2015 08:23:37 -0700 Subject: Validate the use of `[]` as an `scm` value This is necessary in the case where global defaults sets a templated `scm` value used by most jobs but which is undesirable for a minority of jobs and where it would be inconvenient to copy all the desired settings out of the global defaults into a custom defaults just for that particular set of jobs. Change-Id: I201c29215a7090b81e84b9d494bd2cf6ea0370ad --- jenkins_jobs/modules/scm.py | 8 +++++++- tests/scm/fixtures/empty.xml | 4 ++++ tests/scm/fixtures/empty.yaml | 1 + 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 tests/scm/fixtures/empty.xml create mode 100644 tests/scm/fixtures/empty.yaml diff --git a/jenkins_jobs/modules/scm.py b/jenkins_jobs/modules/scm.py index eaa3106b..7f54a27a 100644 --- a/jenkins_jobs/modules/scm.py +++ b/jenkins_jobs/modules/scm.py @@ -16,7 +16,10 @@ """ The SCM module allows you to specify the source code location for the project. It adds the ``scm`` attribute to the :ref:`Job` definition, -which accepts any number of scm definitions. +which accepts any number of scm definitions. It is also possible to pass +``[]`` to the ``scm`` attribute. This is useful when a set of configs has a +global default ``scm`` and you want to a particular job to override that +default with no SCM. **Component**: scm :Macro: scm @@ -28,6 +31,9 @@ Note: Adding more than one scm definition requires the Jenkins Example of multiple repositories in a single job: .. literalinclude:: /../../tests/macros/fixtures/scm/multi-scms001.yaml + +Example of an empty ``scm``: + .. literalinclude:: /../../tests/scm/fixtures/empty.yaml """ import logging diff --git a/tests/scm/fixtures/empty.xml b/tests/scm/fixtures/empty.xml new file mode 100644 index 00000000..3d3881e7 --- /dev/null +++ b/tests/scm/fixtures/empty.xml @@ -0,0 +1,4 @@ + + + + diff --git a/tests/scm/fixtures/empty.yaml b/tests/scm/fixtures/empty.yaml new file mode 100644 index 00000000..17a84dc4 --- /dev/null +++ b/tests/scm/fixtures/empty.yaml @@ -0,0 +1 @@ +scm: [] -- cgit