How do I retrieve last console output of a jenkins job using python-jenkins? How do I retrieve last console output of a jenkins job using python-jenkins? jenkins jenkins

How do I retrieve last console output of a jenkins job using python-jenkins?


Ok. I feel really stupid at 2:18am. The script works.

Just needed to remove the preceding '/' in front of the job name.

Now I'm able to retrieve the full output.

server = jenkins.Jenkins('http://jenkins.abc.xyz.io:8080', username='foo', password='foo!')jenkins_url = "http://jenkins.abc.xyz.io:8080"user = server.get_whoami()version = server.get_version()print('Hello %s from Jenkins %s' % (user['fullName'], version))#name='myapp-build' #without the /number=46print server.get_build_console_output(name, number)


This code will continuously compare old job == current job number. Once the current job will finish. The whole output will be in console_output.

      def jenkins_wait():            global BuildID, BuildStatus            server = jenkins.Jenkins(Jenkins_url, username=jenkins_user, password=jenkins_pwd)            time.sleep(5)            while True:                temptime = datetime.now()                Job_time = temptime.strftime("%H:%M:%S")                print('Jenkins build ID :',(server.get_job_info(jOBnAmE)['lastBuild']['number'])," Time:", Job_time)                time.sleep(5)                processLoading() #Display processing bar.                if server.get_job_info(jOBnAmE)['lastCompletedBuild']['number'] == server.get_job_info(jOBnAmE)['lastBuild']['number']:                    print("Last ID %s, Current ID %s"  % (server.get_job_info(jOBnAmE)['lastCompletedBuild']['number'], server.get_job_info(jOBnAmE)['lastBuild']['number']))                    BuildID = server.get_job_info(jOBnAmE)['lastBuild']['number']                    print (BuildID)                    break            time.sleep(25)            print('Job execution has been completed.')            console_output = server.get_build_console_output(jOBnAmE, server.get_job_info(jOBnAmE)['lastBuild']['number'])            console_output = re.split('\r\n',console_output)