jenkins - 如何在 Jenkins 中使用 groovy 脚本仅获取过去 24 小时的成功构建?
问题描述
我需要获取从当前脚本执行时间开始在过去 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}"
}
}
解决方案
尝试
Date previousDayFromNow = new Date() - 1
if (previousDayFromNow < job.lastBuild.getTime()) {
println "...job info..."
}
推荐阅读
- go - 使用hashmap在golang中查找重复数字
- typo3 - TYPO3 TCA selectMultiple config
- reactjs - 如何在 nextjs 项目中使用 redux 工具包在 localStorage 中保存状态
- javascript - 在服务器上检测/查找 *.pdf(使用 php?)并将其传递给 .js 文件
- javascript - 图像 Javascript 的旋转和平移
- php - 如何解决 Windows 中的 WSL bash not found 错误?
- javascript - 如何在反应中显示此对象
- javascript - 我对这个 JQUERY 和 CSS 做错了什么?
- qt - QCursor::pos(); 呈现错误的坐标
- javascript - 使用 async/await 函数的问题