Дженкинс Groovy, чтобы получить дату и время для кода ниже - PullRequest
0 голосов
/ 05 февраля 2019

Jenkins GroovyCodeLink обрезается в соответствии с моим требованием Я пытался получить UserID и Timestamp / Date для приведенного ниже кода jenkins Groovy, предоставленного самой Jenkins, и я пытался добавить различные параметры, чтобы получить идентификатор пользователя иметка времени / дата конкретной сборки, которая извлекается из заводного кода.Спасибо, если кто-нибудь, пожалуйста, помогите мне, как:

Я ожидаю дату начала сборки и метки времени в человеко-читабельном формате, такие как мм / дд / гггг, время и идентификатор пользователя.

import hudson.model.FreeStyleBuild
import hudson.model.Job
import hudson.model.Result
import hudson.model.Run
import java.util.Calendar
import jenkins.model.Jenkins
import org.jenkinsci.plugins.workflow.job.WorkflowRun
import org.jenkinsci.plugins.workflow.support.steps.StageStepExecution

//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 ->
    run.isBuilding() && ((rightNow.getTimeInMillis() -   run.getStartTimeInMillis()) > time_in_millis)
} ?: []
}.sum().each { Run item ->
if(item in WorkflowRun) {
    WorkflowRun run = (WorkflowRun) item
    //release pipeline concurrency locks
    StageStepExecution.exit(run)
    println "JOBS: ${run}"
} else if(item in FreeStyleBuild) {
    FreeStyleBuild run = (FreeStyleBuild) item
    println "JOBS: ${run}"
} else {
    println "WARNING: Don't know how to handle ${item.class}"
}
}

//null means there will be no return result for the script
null
...