对于这样的菜鸟请求,我深表歉意,并谦虚地请求您的帮助。
我目前对如何获取过去 24 小时内所有失败作业的列表进行了一些研究,但是我需要将其与管道和多分支管道一起包括在内。
此外,下面的代码仅适用于脚本控制台内的 RunScripts 权限 。但是我需要在管道作业中交付它,并且想知道如何格式化它,以便可以通过电子邮件发送控制台输出
import hudson.model.Job
import hudson.model.Result
import hudson.model.Run
import java.util.Calendar
import jenkins.model.Jenkins
//24 hours in a day, 3600 seconds in 1 hour, 1000 milliseconds in 1 second
long time_in_millis = 24*3600*1000
Calendar rightNow = Calendar.getInstance()
Jenkins.instance.getAllItems(Job.class).findAll { Job job ->
!job.isBuilding()
}.collect { Job job ->
//find all matching items and return a list but if null then return an empty list
job.builds.findAll { Run run ->
job.lastBuild.result == Result.FAILURE && ((rightNow.getTimeInMillis() - run.getStartTimeInMillis()) <= time_in_millis)
} ?: []
}.sum().each{ job ->
println "${job}"
}