列出Jenkins中所有永久构建的内容?

时间:2012-03-08 22:43:15

标签: jenkins jenkins-plugins

Jenkins是否有一种简单的方法可以列出所有标记为keep-forever的构建?然后,理想情况下,只需单击一下即可将构建标记为永久保留或立即删除它?

在我们的流程中,如果构建涉及某种特定类型的故障,我们会将构建标记为永久保留;这是为了防止Jenkins随着时间的推移自动删除。我需要一种简单的方法来获取所有那些永久构建的列表,这样它们就不会占用我们所有的磁盘空间。

2 个答案:

答案 0 :(得分:9)

以下针对Jenkins的XPath查询将列出标记为“Keep Forever”的所有构建的URL:

http://[jenkins_server]/api/xml?depth=2&xpath=/hudson/job/build[keepLog="true"]/url&wrapper=forever

在浏览器中输入它并查看它返回的内容。

现在,您可以将其嵌入到基于XSLT的HTML中,以获取包含指向这些构建的链接的列表。要删除构建,您可以提供一个调用Jenkins CLI的按钮:

java -jar jenkins-cli.jar -s http://[jenkins_server]/ delete-builds [job-name] [build-num]

不幸的是,我不知道如何使用CLI禁用'keep build forever'而不删除它。

答案 1 :(得分:6)

我一直在寻找同样的东西,而且我们的jenkins也非常大并尝试了这个链接:

 http://[jenkins_server]/api/xml?depth=2&xpath=/hudson/job/build[keepLog="true"]/url&wrapper=forever

我最终崩溃了。

但事实证明,我一次只需要最后一次“永远保持”构建一份工作,这似乎更快。所以我使用以下代码:

http://[jenkisn_server]/job/[job_name]/api/xml/?depth=2&xpath=/freeStyleProject/build[keepLog="true"]/number&wrapper=forever

返回xml,其中包含标记为“永远保留”的所有构建数量 您可以修改xpath以满足您的需求。