0

对于这样的菜鸟请求,我深表歉意,并谦虚地请求您的帮助。

我目前对如何获取过去 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}" 
}
4

0 回答 0