Jenkins-cli - 帮助获得工作中的构建列表

时间:2015-07-23 10:25:20

标签: python jenkins jenkins-cli

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

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

先谢谢

1 个答案:

答案 0 :(得分:4)

我使用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

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

tree=allBuilds[result,number]& - 仅询问​​属于某个职位的所有版本的numberresult

xpath=//allBuild[result='SUCCESS']/number& - 让Jenkins对这些数据进行工作,filter将其归结为属于number代码allBuild代码的result代码列表。 1}}标记的值为SUCCESS

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

使用这些num XML标签,您只需创建一个URL即可获得控制台输出。

jenkins:8080/job/example_job/132/consoleText

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