general java
[jenkins] 인증이 필요한 jenkin job의 모니터링하기
'김용환'
2016. 4. 18. 15:48
인증이 필요한 jenkins job에서 job을 모니터링할 때, 쓸만한 python 예시 코드이다.
헤더에 인증 관련 base64 인코딩이 필요하고, python urllib2을 잘 사용하면 테스트할 수 있는 코드이다.
아래 코드는 재시작하는 jenkins job이 동작중이면, 모니터링을 하지 않으려는 코드이다. 재시작할 때는 모니터링하지 않으려 했다.
#!/usr/bin/python
import base64
import urllib2
import json
def auth_headers(username, password):
return base64.encodestring('%s:%s' % (username, password))[:-1]
auth_header = auth_headers('develop', 'devteam')
headers={'Content-Type': 'text/xml; charset=UTF-8','Authorization': 'Basic %s' % auth_header}
jenkins_url = 'http://jenkins.google.com8080/job/elasticsearch-batch/lastBuild/api/json'
req = urllib2.Request(url=jenkins_url, headers=headers)
isJobWorking=json.load(urllib2.urlopen(req))['building']
print isJobWorking