diff options
author | Ayoub Elhamdani <a.elhamdani90@gmail.com> | 2017-11-13 16:46:54 +0100 |
---|---|---|
committer | Sorin Sbarnea <ssbarnea@redhat.com> | 2018-04-05 11:36:36 +0000 |
commit | e0f19f39cd22baf5b90d88bb11319b5fce186189 (patch) | |
tree | 736ee25f793108550061ca4247452939645ea0b9 /jenkins_jobs/builder.py | |
parent | 3b120c3babb47c34559db101139fa6170df7516d (diff) | |
download | python-jenkins-job-builder-e0f19f39cd22baf5b90d88bb11319b5fce186189.tar.gz python-jenkins-job-builder-e0f19f39cd22baf5b90d88bb11319b5fce186189.tar.xz python-jenkins-job-builder-e0f19f39cd22baf5b90d88bb11319b5fce186189.zip |
Delete old managed folders when calling update subcommand with --delete-old option
This should be merged first https://review.openstack.org/#/c/519340/
Change-Id: I8ed1540b024bfcfaad1221d4e4a0da4a56b56c3c
Task: 5834
Story: 2001286
Diffstat (limited to 'jenkins_jobs/builder.py')
-rw-r--r-- | jenkins_jobs/builder.py | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/jenkins_jobs/builder.py b/jenkins_jobs/builder.py index abed1d40..d72cf201 100644 --- a/jenkins_jobs/builder.py +++ b/jenkins_jobs/builder.py @@ -122,12 +122,11 @@ class JenkinsManager(object): self._job_format(job_name))) self.jenkins.create_job(job_name, xml) - def is_job(self, job_name): - # first use cache - if job_name in self.job_list: - return True + def is_job(self, job_name, use_cache=True): + if use_cache: + if job_name in self.job_list: + return True - # if not exists, use jenkins return self.jenkins.job_exists(job_name) def get_job_md5(self, job_name): @@ -190,7 +189,9 @@ class JenkinsManager(object): keep = [] for job in jobs: # python-jenkins stores the folder and name as 'fullname' - if job['fullname'] not in keep: + # Check if the job was deleted when his parent folder was deleted + if job['fullname'] not in keep and \ + self.is_job(job['fullname'], use_cache=False): if self.is_managed(job['fullname']): logger.info("Removing obsolete jenkins job {0}" .format(job['fullname'])) |