summaryrefslogtreecommitdiffstats
path: root/jenkins_jobs/builder.py
diff options
context:
space:
mode:
authorZuul <zuul@review.openstack.org>2018-04-12 19:08:55 +0000
committerGerrit Code Review <review@openstack.org>2018-04-12 19:08:55 +0000
commitd0b438cf253d5d88a6d690d0d9ccaf6bbf95c666 (patch)
treec542e849d8e6f25f755da6c579ea18b6928e9f2b /jenkins_jobs/builder.py
parentb72235c462cbbd48f4673c47a157d3ce112cc554 (diff)
parente0f19f39cd22baf5b90d88bb11319b5fce186189 (diff)
downloadpython-jenkins-job-builder-d0b438cf253d5d88a6d690d0d9ccaf6bbf95c666.tar.gz
python-jenkins-job-builder-d0b438cf253d5d88a6d690d0d9ccaf6bbf95c666.tar.xz
python-jenkins-job-builder-d0b438cf253d5d88a6d690d0d9ccaf6bbf95c666.zip
Merge "Delete old managed folders when calling update subcommand with --delete-old option"
Diffstat (limited to 'jenkins_jobs/builder.py')
-rw-r--r--jenkins_jobs/builder.py13
1 files changed, 7 insertions, 6 deletions
diff --git a/jenkins_jobs/builder.py b/jenkins_jobs/builder.py
index 421d097a..b2484ce0 100644
--- a/jenkins_jobs/builder.py
+++ b/jenkins_jobs/builder.py
@@ -132,12 +132,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):
@@ -200,7 +199,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']))