I'm unable to extract the jenkins console output of a given job using python-jenkins. I must to extract the full console output of a given build #.
Here is how my jenkins url looks like:
http://jenkins.abc.xyz.io:8080/job/myapp-build/46/consoleFull
and It has valid output.
As per https://python-jenkins.readthedocs.io/en/latest/api.html#jenkins.Jenkins.get_build_console_output
get_build_console_output(name, number)
Get build console text.
Parameters:
name – Job name, str
number – Build number, int
Returns:
Build console output, str
I tried
import jenkins
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'
number=46
print server.get_build_console_output(name, number)
But it aborts saying
Traceback (most recent call last):
File "test_jenkins.py", line 20, in <module>
print server.get_build_console_output(name, number)
File "/home/myapp/jenkins_py/env/jenkins/local/lib/python2.7/site-packages/jenkins/__init__.py", line 1630, in get_build_console_output
% (name, number))
jenkins.JenkinsException: job[/myapp-build] number[46] does not exist
Expected result would be the console output.
What am I missing?
Please help me extract the console output from jenkins using python. are there any alternate ways or libraries to accomplish it?