''' Jenkins API via Python-Jenkins!! Ensure you have python-jenkins installed in your environment(pip install python-jenkins). ''' import jenkins import time import datetime SLEEP_TIME = 10 SERVER = jenkins.Jenkins('http://:8080', \ username='', password='') JOB_NAME = "Temp_job" PARAMETERS = {'Key1': datetime.datetime.now()} JOB_INSTANCE = SERVER.build_job(JOB_NAME, PARAMETERS) print "Job sent for execution..." print "Waiting in inQueue..." while True: JOB_INFO = SERVER.get_job_info(JOB_NAME) if JOB_INFO["inQueue"] is False: break time.sleep(SLEEP_TIME) BUILD_NUMBER = JOB_INFO["lastBuild"]["number"] print "BUILD_NUMBER : " + str(BUILD_NUMBER) print "NEXT BUILD_NUMBER : " + str(JOB_INFO["nextBuildNumber"]) # JOB_STATUS = SERVER.get_build_info(JOB_NAME, BUILD_NUMBER)["result"] # print "Job under execution..." # while JOB_STATUS is None: # time.sleep(SLEEP_TIME) # JOB_STATUS = SERVER.get_build_info(JOB_NAME, BUILD_NUMBER)["result"] # CONSOLE_OUTPUT = SERVER.get_build_console_output(JOB_NAME, BUILD_NUMBER) # print "Job execution completed..." # JOB_FINAL_STATUS = {} # JOB_FINAL_STATUS["STATUS"] = JOB_STATUS # JOB_FINAL_STATUS["CONSOLE_OUTPUT"] = CONSOLE_OUTPUT # print "BUILD_NUMBER : " + str(BUILD_NUMBER) # print "JOB_FINAL_STATUS : " + str(JOB_FINAL_STATUS)