"""
Fetch all the build-names on this Jenkins server.
"""
- self._poll_if_needed()
- for info in self._data["jobs"]:
+ jobs = self.poll(tree='jobs[name,url]')['jobs']
+ for info in jobs:
yield info["name"], \
Job(info["url"], info["name"], jenkins_obj=self)
Get the jobs information
:return url, name
"""
- self._poll_if_needed()
- for info in self._data["jobs"]:
+ jobs = self.poll(tree='jobs[name,url]')['jobs']
+ for info in jobs:
yield info["url"], info["name"]
def get_job(self, jobname):
return self.jobs.rename(jobname, newjobname)
def iterkeys(self):
- self._poll_if_needed()
- for info in self._data["jobs"]:
+ jobs = self.poll(tree='jobs[name,color,url]')['jobs']
+ for info in jobs:
yield info["name"]
def iteritems(self):
:param jobname: name of job, str
:return: Job obj
"""
- self._poll_if_needed()
-
- for info in self._data["jobs"]:
+ # We have to ask for 'color' here because folder resolution
+ # relies on it
+ jobs = self.poll(tree='jobs[name,url,color]')['jobs']
+ for info in jobs:
if info["name"] == jobname:
return Job(info["url"], info["name"], jenkins_obj=self)
raise UnknownJob(jobname)
def __len__(self):
- self._poll_if_needed()
- return len(self._data["jobs"])
+ jobs = self.poll(tree='jobs[name]')['jobs']
+ return len(jobs)
def __contains__(self, jobname):
"""