Как получить только успешные сборки за последние 24 часа, используя отличный скрипт в Jenkins?
Мне нужно получить список заданий, которые были успешно выполнены за последние 24 часа с текущего времени выполнения скрипта. В настоящее время я получаю только успешные вакансии на текущий день, но, тем не менее, я ищу последние 24 часа, которые могут быть и работой последних дней, которые подпадают под 24 часа.
Написали сценарий и получаем результаты на сегодняшний день, а не на 24 часа
import hudson.model.*
Date date = new Date()
String present = date.format("MM-dd-yyyy")
def str_view = "GitLab_jobs"
def view = Hudson.instance.getView(str_view)
def successfulJobs = view.getItems().findAll {
job - > job.lastBuild != null && job.lastBuild.result == hudson.model.Result.SUCCESS && !job.name.contains("maintenance")
}
def faildJobs = view.getItems().findAll {
job - > job.lastBuild != null && job.lastBuild.result == hudson.model.Result.FAILURE && !job.name.contains("maintenance")
}
def disabledJob = view.getItems().findAll {
job - > job.disabled == true && !job.name.contains("maintenance")
}
def enabledJob = view.getItems().findAll {
job - > job.disabled != true && !job.name.contains("maintenance")
}
println "Total jobs: " + view.getItems().size + " Successful: " + successfulJobs.size +
" Failed: " + faildJobs.size + " Enabled jobs: " + enabledJob.size + " Disabled jobs: " + disabledJob.size
println "Current Successful job Today:"
successfulJobs.each {
job - > printInfo(job)
}
def printInfo(job) {
Date date = new Date()
String datePart = date.format("MM-dd-yyyy")
String timePart = date.format("HH:mm:ss")
x = "${datePart}"
y = "${job.lastBuild.getTime().format("
MM - dd - yyyy ")}"
if ("$x" == "$y") {
println "Job: ${job.name} build on ${job.getAssignedLabelString()}, " +
"Date ${job.lastBuild.getTime().format("
MM - dd - yyyy ")}, is disabled : ${job.disabled}"
}
}
1 ответ
Пытаться
Date previousDayFromNow = new Date() - 1
if (previousDayFromNow < job.lastBuild.getTime()) {
println "...job info..."
}