Skip to content

Instantly share code, notes, and snippets.

@xseignard
Created December 2, 2011 09:35
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save xseignard/1422531 to your computer and use it in GitHub Desktop.
Save xseignard/1422531 to your computer and use it in GitHub Desktop.
python script to get the status of a jenkins build
#!/usr/bin/python
import json
import sys
import urllib2
import base64
user = XXXXX
password = XXXXX
jenkinsUrl = XXXXX
def urlopen(url, data=None):
'''Open a URL using the urllib2 opener.'''
request = urllib2.Request(url, data)
base64string = base64.encodestring('%s:%s' % (user, password)).replace('\n', '')
request.add_header("Authorization", "Basic %s" % base64string)
response = urllib2.urlopen(request)
return response
if len( sys.argv ) > 1 :
jobName = sys.argv[1]
else :
sys.exit(1)
try:
jenkinsStream = urlopen(jenkinsUrl + jobName + "/lastBuild/api/json")
except urllib2.HTTPError, e:
print "URL Error: " + str(e.code)
print " (job name [" + jobName + "] probably wrong)"
sys.exit(2)
try:
buildStatusJson = json.load( jenkinsStream )
except:
print "Failed to parse json"
sys.exit(3)
if buildStatusJson.has_key( "result" ):
print "[" + jobName + " #" + str(buildStatusJson["number"]) + "]: " + buildStatusJson["result"]
if buildStatusJson["result"] != "SUCCESS" :
exit(4)
else:
sys.exit(5)
sys.exit(0)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment