diff --git a/doc/source/configuration.rst b/doc/source/configuration.rst
index 32dfd6b95..88f4fa737 100644
--- a/doc/source/configuration.rst
+++ b/doc/source/configuration.rst
@@ -298,11 +298,6 @@ definitions unless they specify a different Default object with the
Will set the job description for every job created.
-Template variables can also be used to specify an appropriate set of
-defaults for each generated job:
-
-.. literalinclude:: /../../tests/yamlparser/fixtures/templates003.yaml
-
.. _advanced:
Advanced
diff --git a/jenkins_jobs/builder.py b/jenkins_jobs/builder.py
index a6d2bfa36..f21d3d3cc 100644
--- a/jenkins_jobs/builder.py
+++ b/jenkins_jobs/builder.py
@@ -172,7 +172,10 @@ class YamlParser(object):
return self.data.get('job-group', {}).get(name, None)
def getJobTemplate(self, name):
- return self.data.get('job-template', {}).get(name, None)
+ job = self.data.get('job-template', {}).get(name, None)
+ if not job:
+ return job
+ return self.applyDefaults(job)
def applyDefaults(self, data):
whichdefaults = data.get('defaults', 'global')
@@ -278,7 +281,7 @@ class YamlParser(object):
expanded_values[k] = v
params.update(expanded_values)
- expanded = self.applyDefaults(deep_format(template, params))
+ expanded = deep_format(template, params)
# Keep track of the resulting expansions to avoid
# regenerating the exact same job. Whenever a project has
diff --git a/tests/yamlparser/fixtures/templates003.xml b/tests/yamlparser/fixtures/templates003.xml
deleted file mode 100644
index 9d22458f4..000000000
--- a/tests/yamlparser/fixtures/templates003.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-
- <!-- Managed by Jenkins Job Builder -->
- false
- false
- false
- true
- false
- true
-
-
-
-
-
-
-
- false
-
-
-
-
-
-
-
- <!-- Managed by Jenkins Job Builder -->
- false
- false
- false
- false
- false
- true
-
-
-
-
-
-
-
-
diff --git a/tests/yamlparser/fixtures/templates003.yaml b/tests/yamlparser/fixtures/templates003.yaml
deleted file mode 100644
index e160d8a80..000000000
--- a/tests/yamlparser/fixtures/templates003.yaml
+++ /dev/null
@@ -1,29 +0,0 @@
-- defaults:
- name: Foo
- disabled: false
- block-downstream: false
- block-upstream: false
- wrappers:
- - timestamps
-
-- defaults:
- name: Bar
- disabled: false
- block-downstream: false
- block-upstream: true
- wrappers:
- - timestamps
- - workspace-cleanup
-
-- job-template:
- name: '{component}-Test'
- project-type: freestyle
- defaults: '{component}'
-
-- project:
- name: Test-project
- component:
- - Foo
- - Bar
- jobs:
- - '{component}-Test'