summaryrefslogtreecommitdiffstats
path: root/jenkins_jobs/parser.py
diff options
context:
space:
mode:
Diffstat (limited to 'jenkins_jobs/parser.py')
-rw-r--r--jenkins_jobs/parser.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/jenkins_jobs/parser.py b/jenkins_jobs/parser.py
index 5dee3cac..1033b9fd 100644
--- a/jenkins_jobs/parser.py
+++ b/jenkins_jobs/parser.py
@@ -226,6 +226,12 @@ class YamlParser(object):
for macro in self.data.get(component_type, {}).values():
self._macro_registry.register(component_type, macro)
+ def _getfullname(self, data):
+ if 'folder' in data:
+ return "%s/%s" % (data['folder'], data['name'])
+
+ return data['name']
+
def expandYaml(self, registry, jobs_glob=None):
changed = True
while changed:
@@ -240,15 +246,17 @@ class YamlParser(object):
self._macro_registry.expand_macros(default)
for job in self.data.get('job', {}).values():
self._macro_registry.expand_macros(job)
+ job = self._applyDefaults(job)
+ job['name'] = self._getfullname(job)
if jobs_glob and not matches(job['name'], jobs_glob):
logger.debug("Ignoring job {0}".format(job['name']))
continue
logger.debug("Expanding job '{0}'".format(job['name']))
- job = self._applyDefaults(job)
self._formatDescription(job)
self.jobs.append(job)
for view in self.data.get('view', {}).values():
+ view['name'] = self._getfullname(view)
logger.debug("Expanding view '{0}'".format(view['name']))
self._formatDescription(view)
self.views.append(view)
@@ -400,6 +408,7 @@ class YamlParser(object):
"Failure formatting template '%s', containing '%s' with "
"params '%s'", template_name, template, params)
raise
+ expanded['name'] = self._getfullname(expanded)
self._macro_registry.expand_macros(expanded, params)
job_name = expanded.get('name')