【问题标题】:How to get only Successful builds from last 24hrs using groovy script in Jenkins?如何在 Jenkins 中使用 groovy 脚本仅获取过去 24 小时的成功构建?
【发布时间】:2020-01-15 04:49:07
【问题描述】:

我需要获取从当前脚本执行时间开始在过去 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}"
  }

}
实际结果应打印在过去 24 小时内成功完成的作业列表

【问题讨论】:

    标签: jenkins groovy script-console


    【解决方案1】:

    试试

    Date previousDayFromNow = new Date() - 1
    
    if (previousDayFromNow < job.lastBuild.getTime()) {
        println "...job info..."
    }
    

    【讨论】:

    • previousDayFromNow 日期解析为从现在开始持续 24 小时,但在这种情况下工作仍然没有得到。它与日期的格式有关吗?示例输出: 总作业:3651 成功:1253 失败:459 启用作业:2193 禁用作业:14 当前成功作业今天:2019 年 9 月 12 日星期四 11:25:24 CDT 2019 年 4 月 28 日星期六 22:03:09 CDT 2018 作业:trunk_app_360Shipper,构建于:快照,日期:2018 年 4 月 28 日,晚上 10:03,已禁用:true
    猜你喜欢
    • 1970-01-01
    • 2018-12-19
    • 1970-01-01
    • 1970-01-01
    • 2012-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-17
    相关资源
    最近更新 更多