I have a script that pulls artifacts from a jenkins job and installs it on our test system. Now, today I need to downgrade to a rather old version. Unfortunately, the jenkins API only returns the last few builds.
I am using jenkinsapi python API. It does not work as follows:
/usr/local/lib/python2.7/dist-packages/jenkinsapi-0.1.6-py2.7.egg/jenkinsapi/job.pyc in get_build(self, buildnumber) 177 def get_build( self, buildnumber ): 178 assert type(buildnumber) == int --> 179 url = self.get_build_dict()[ buildnumber ] 180 return Build( url, buildnumber, job=self ) 181
The python API goes to the URL http://jenkins/job/job-name/api/python/ . If I do this myself, I get the following answer:
{"actions":[{},{},{},{},{},{},{}], "description":"text", "displayName":"job-name", "displayNameOrNull":None, "name":"job-name", "url":"http://jenkins/job/job-name/", "buildable":True, "builds":[ {"number":437,"url":"http://jenkins/job/job-name/437/"}, {"number":436,"url":"http://jenkins/job/job-name/436/"}, {"number":435,"url":"http://jenkins/job/job-name/435/"}, {"number":434,"url":"http://jenkins/job/job-name/434/"}, {"number":433,"url":"http://jenkins/job/job-name/433/"}, {"number":432,"url":"http://jenkins/job/job-name/432/"}, {"number":431,"url":"http://jenkins/job/job-name/431/"}, {"number":430,"url":"http://jenkins/job/job-name/430/"}, {"number":429,"url":"http://jenkins/job/job-name/429/"}, {"number":428,"url":"http://jenkins/job/job-name/428/"}, {"number":427,"url":"http://jenkins/job/job-name/427/"}, {"number":426,"url":"http://jenkins/job/job-name/426/"}, {"number":425,"url":"http://jenkins/job/job-name/425/"}, {"number":424,"url":"http://jenkins/job/job-name/424/"}, {"number":423,"url":"http://jenkins/job/job-name/423/"}], "color":"yellow_anime", "firstBuild": {"number":311,"url":"http://jenkins/job/job-name/311/"}, "healthReport":[ {"description":"Test Result: 0 tests failing out of a total of 3 tests.","iconUrl":"health-80plus.png","score":100}, {"description":"Build stability: No recent builds failed.","iconUrl":"health-80plus.png","score":100}], "inQueue":False, "keepDependencies":False, "lastBuild":{"number":438,"url":"http://jenkins/job/job-name/438/"}, "lastCompletedBuild":{"number":437,"url":"http://jenkins/job/job-name/437/"}, "lastFailedBuild":{"number":386,"url":"http://jenkins/job/job-name/386/"}, "lastStableBuild":{"number":424,"url":"http://jenkins/job/job-name/424/"}, "lastSuccessfulBuild":{"number":437,"url":"http://jenkins/job/job-name/437/"}, "lastUnstableBuild":{"number":437,"url":"http://jenkins/job/job-name/437/"}, "lastUnsuccessfulBuild":{"number":437,"url":"http://jenkins/job/job-name/437/"}, "nextBuildNumber":439, "property":[], "queueItem":None, "concurrentBuild":False, "downstreamProjects":[], "scm":{}, "upstreamProjects":[]}
Now I wanted to get the job number 315. How do I do this?