Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- import os
- from elasticsearch import Elasticsearch
- import jenkins
- import requests
- import json
- import urllib
- # change to your here
- jenkinsUrl = "http://user:password@localhost:8080"
- elasticUrl = "http://localhost:9200"
- #server = jenkins.Jenkins(jenkinsUrl)
- #server = jenkins.Jenkins(jenkinsUrl, username=jenkins_user, password=jenkins_password)
- es = Elasticsearch([elasticUrl])
- env = os.environ
- body = env.data
- #print body
- r = requests.get(jenkinsUrl + "/view/All/api/json")
- allJob = json.loads(r.text)
- #print allJob
- jobs = allJob['jobs']
- for job in jobs:
- jobname = job['name']
- print jobname
- urlName = urllib.pathname2url(job['name'])
- jobUrl = jenkinsUrl + "/job/" + urlName + "/api/json"
- r = requests.get(jobUrl)
- jobInfo = json.loads(r.text)
- #print jobInfo
- #buildinfo = server.get_job_info(job['name'])
- try:
- buildnumber = jobInfo['lastBuild']['number']
- except:
- buildnumber = 1
- #print buildnumber
- body['JOB_NAME'] = jobname
- body['JOB_URL'] = job['url']
- body['BUILD_DISPLAY_NAME'] = "#" + str(buildnumber)
- body['BUILD_ID'] = buildnumber
- body['BUILD_NUMBER'] = buildnumber
- res = es.index(index="jenkins_env", doc_type='env', id=job['name'], body=body)
Add Comment
Please, Sign In to add comment