Jenkins-cli - 获取工作中的构建列表所需的帮助

Cur*_*arn 1 python jenkins jenkins-cli

我正在使用 jenkins-cli 从我的 shell 脚本与 Jenkins 连接。我需要获取给定作业中前 20 个构建的控制台输出并进行一些计算。

我想知道如何使用 jenkins-cli 或任何其他简单可用的方式获取 jenkins 作业中可用的构建列表,以便我可以使用 jenkins-cli 使用作业的构建号获取作业的控制台输出。

提前致谢

Son*_*ngy 5

我使用 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标签列表。allBuildresultSUCCESS

wrapper=nums- 由于 xpath 已经分割了所有数字,因此它们没有父级,我们需要将它们包装在另一个标签下,nums

有了这些 XML 标签,您就可以创建一个 URL 来获取控制台输出。

jenkins:8080/job/example_job/132/consoleText
Run Code Online (Sandbox Code Playgroud)

我看到你有一个 Python 标签,所以我假设你的脚本是用 Python 编写的。这意味着您可以使用minidomurllib2来解析 XML 数据并检索网页。