Cur*_*arn 1 python jenkins jenkins-cli
我正在使用 jenkins-cli 从我的 shell 脚本与 Jenkins 连接。我需要获取给定作业中前 20 个构建的控制台输出并进行一些计算。
我想知道如何使用 jenkins-cli 或任何其他简单可用的方式获取 jenkins 作业中可用的构建列表,以便我可以使用 jenkins-cli 使用作业的构建号获取作业的控制台输出。
提前致谢
我使用 REST api 而不是他们提供的 cli。我发现它更快、更灵活。
对于您的情况,我将从作业名称生成一个 URL,该 URL 返回所有成功构建的 XML 数据,然后遍历每个构建并从另一个生成的 URL 获取控制台输出。
将返回包含所有成功构建的构建号的 XML 数据的 URL。
jenkins:8080/job/example_job/api/xml?tree=allBuilds[result,number]&xpath=//allBuild[result='SUCCESS']/number&wrapper=nums
Run Code Online (Sandbox Code Playgroud)
jenkins:8080/job/example_job/api/xml?
- Jenkins 服务器在作业上打开 XML api。
tree=allBuilds[result,number]&
- 仅询问属于某个作业的所有构建的number
和。result
xpath=//allBuild[result='SUCCESS']/number&
- 让 Jenkins 处理该数据,将其过滤到属于具有该值的标签的number
标签列表。allBuild
result
SUCCESS
wrapper=nums
- 由于 xpath 已经分割了所有数字,因此它们没有父级,我们需要将它们包装在另一个标签下,nums
。
有了这些 XML 标签,您就可以创建一个 URL 来获取控制台输出。
jenkins:8080/job/example_job/132/consoleText
Run Code Online (Sandbox Code Playgroud)
我看到你有一个 Python 标签,所以我假设你的脚本是用 Python 编写的。这意味着您可以使用minidom和urllib2来解析 XML 数据并检索网页。
归档时间: |
|
查看次数: |
2554 次 |
最近记录: |