python-2.7 - 如何使用 python-jenkins 检索 jenkins 作业的最后一个控制台输出?

标签 python-2.7 jenkins jenkins-pipeline

我无法使用 python-jenkins 提取给定作业的 jenkins 控制台输出。我必须提取给定构建#的完整控制台输出。

这是我的 Jenkins 网址的样子:
http://jenkins.abc.xyz.io:8080/job/myapp-build/46/consoleFull 并且它有有效的输出。

根据 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

我试过了

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)

但它中止说

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

预期结果将是控制台输出。

我错过了什么?

请帮我使用 python 从 jenkins 中提取控制台输出。 有没有其他方法或库可以实现它?

最佳答案

好的。凌晨2点18分我感觉自己真的很蠢。 该脚本有效。

只需删除作业名称前面的“/”即可。

现在我可以检索完整的输出。

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=46

print server.get_build_console_output(name, number)

关于python-2.7 - 如何使用 python-jenkins 检索 jenkins 作业的最后一个控制台输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56679222/

相关文章:

database - 使用远程 PostgreSQL 数据库的 Jenkins 用户登录

docker - 强制 Jenkins 管道作业从 Dockerhub 中提取新的私有(private)镜像

java - Windows 上不使用 Github 的 Jenkins Pipeline

jenkins - 如何从 Jenkinsfile 调用 groovy 函数?

python - 如何使用 paramiko 保持 ssh session 不过期?

python - 如何在python中将UTF大写字符转换为小写

python - 在Python中减少矩阵元素的系数

java - 强制 Maven 使用内部和外部依赖 jar

python-2.7 - 使用python将shapefile从一个文件夹移动到另一个文件夹

bash - Jenkins 项目中 ${my_variable} 和 $my_variable 的区别