Script qui cherche les builds dont l’ancienneté est plus faible que la valeur indiquée, puis calcule le temps d’exécution total de tous les builds identifiés.
def numberOfHoursBack = 7*24
def totalBuildTime =
Jenkins.instance.getItems(Job.class).collect { job ->
job.getBuilds().byTimestamp(
System.currentTimeMillis()-numberOfHoursBack*60*60*1000,
System.currentTimeMillis()
)
}
.flatten()
.collect { build -> build.getDuration() }
.sum()
def totalBuildTimeInMinutes = (int)totalBuildTime/(60*1000)
println "During the last $numberOfHoursBack hours"
println "\t $totalBuildTimeInMinutes minutes total"
println "\t ${totalBuildTimeInMinutes/numberOfHoursBack} minutes per hour in average"