List all keep-forever builds in Jenkins?

谁说胖子不能爱 提交于 2019-12-19 02:38:25

问题


Is there an easy way in Jenkins to list all all builds marked as keep-forever? And then, ideally, one click to either unmark the build as keep-forever or to immediately delete it?

In our process, we mark a build as keep-forever if it involves some specific type of failure; that's to keep Jenkins from automatically deleting over time. I need an easy way to get a list of all those keep-forever builds so they don't take up all our disk space over time.


回答1:


The following XPath query against Jenkins will list the URLs of all builds marked 'Keep Forever':

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

Enter it in the browser and see what it returns.

Now, you can embed it into XSLT-based HTML to get a list with links to those builds. To delete the build you can provide a button that invokes Jenkins CLI:

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

Unfortunately, I do not know how to disable 'keep build forever' with CLI without deleting it.




回答2:


I was looking for the same thing, and our jenkins is pretty big as well and trying the link:

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

I ended up crashing it.

But as it turns out I only require the last 'keep forever' build of one job at a time, which seems to work way faster. So I use the following instead:

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

which returns the xml with all the numbers of build that are marked as 'keep forever' You can modify the xpath to fit your needs.



来源:https://stackoverflow.com/questions/9626186/list-all-keep-forever-builds-in-jenkins

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!