summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--jenkins_jobs/modules/scm.py8
-rw-r--r--tests/scm/fixtures/empty.xml4
-rw-r--r--tests/scm/fixtures/empty.yaml1
3 files changed, 12 insertions, 1 deletions
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 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project>
+ <scm class="hudson.scm.NullSCM"/>
+</project>
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: []