我想创建一个jenkins作业,它可以列出我所有的jenkins作业,它是它执行的构建数量的计数。Jenkins API或Groovy可能工作。下面的API为我提供了特定作业的所有构建ID的列表,但我正在寻找为该作业执行的构建数量。http://[jenkins_server]/job/[jobname]/api/xml?tree=builds[id]
我也在写这个:https://stackoverflow.com/a/28039134/12897205
让我知道如果我可以去任何插件
我想创建一个jenkins作业,它可以列出我所有的jenkins作业,它是它执行的构建数量的计数。Jenkins API或Groovy可能工作。下面的API为我提供了特定作业的所有构建ID的列表,但我正在寻找为该作业执行的构建数量。http://[jenkins_server]/job/[jobname]/api/xml?tree=builds[id]
我也在写这个:https://stackoverflow.com/a/28039134/12897205
让我知道如果我可以去任何插件
2条答案
按热度按时间eni9jsuy1#
在管道中使用构建步骤。
为了简单起见,我将简单地将一个简单的bash放在sh步骤中,并获得每个作业的构建数量。另外请注意,只有当您不设置自定义构建数量时,这才有效。:)
要获取工作列表,
字符串
要获得所有相关构建的列表,请将上面的命令中的值传递到下面的for循环的jobname参数。
型
EDIT-1复制下面的脚本,并在Jenkinsfile中调用它。您可以将要保留的作业数量作为参数传递。根据作业中的需要更改build/job url,或者也可以将其作为参数传递。
型
上面的脚本将首先打印要删除的作业数量作为逗号分隔值,然后循环遍历每个作业并使用curl命令(Jenkins Rest API)删除它们。
r1zk6ea12#
您可以尝试Jenkins提供的global-build-stats插件。它提供了每个管道中执行的构建总数的图形表示,以及执行时间,状态,执行者等更多细节。您还可以通过添加开始和结束日期进行过滤。
https://plugins.jenkins.io/global-build-stats/