diff options
Diffstat (limited to 'jenkins_jobs/parser.py')
-rw-r--r-- | jenkins_jobs/parser.py | 11 |
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') |