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

Jenkins-cli - help required to get list of builds in the job

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

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

提前致谢

我使用 REST api 而不是他们提供的 cli。我发现它更快更灵活。

对于你的情况,我会从作业名称生成一个 URL,该作业名称 returns XML 所有成功构建的数据,然后遍历每个构建并获取控制台另一个生成的 URL.

的输出

URL 将 return XML 包含所有成功构建的构建编号的数据。

jenkins:8080/job/example_job/api/xml?tree=allBuilds[result,number]&xpath=//allBuild[result='SUCCESS']/number&wrapper=nums

jenkins:8080/job/example_job/api/xml? - Jenkins 服务器 XML api 在作业中打开。

tree=allBuilds[result,number]& - 仅要求属于作业的所有构建的 numberresult

xpath=//allBuild[result='SUCCESS']/number& - 让 Jenkins 处理该数据 filter 到属于 allBuild 标签的 number 标签列表result 具有值 SUCCESS 的标签。

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

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

jenkins:8080/job/example_job/132/consoleText

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