Guest User

Untitled

a guest
Jun 22nd, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.91 KB | None | 0 0
  1. import hudson.model.*
  2. import groovy.json.*
  3.  
  4. def result_json = new JsonSlurper().parseText('{}')
  5. def jobs_array = []
  6.  
  7. Jenkins.instance.getAllItems(AbstractProject.class).each {item ->
  8. def json_job = new JsonSlurper().parseText('{}')
  9. def json_job_last_build_info = new JsonSlurper().parseText('{}')
  10. if(item.getBuilds().size() > 0) {
  11. def buildDurationList = []
  12. def success_builds = item.builds.findAll{ it.result == hudson.model.Result.SUCCESS && it.badgeActions }.size();
  13. def failed_builds = item.builds.findAll{ it.result ==hudson.model.Result.FAILURE && it.badgeActions }.size();
  14. def cancelled_builds = item.builds.findAll{ it.result == hudson.model.Result.ABORTED && it.badgeActions }.size();
  15. def unstable_builds = item.builds.findAll{ it.result == hudson.model.Result.UNSTABLE && it.badgeActions }.size();
  16.  
  17. item.getBuilds().each { buildJob -> // we get all build durations for the builds of the given branch_job.
  18. buildDurationList.push(buildJob.duration)
  19. }
  20. json_job << [job_name: item.fullName, nb_build: item.getBuilds().size(), build_maxduration: buildDurationList.max(), build_minduration: buildDurationList.min(), build_avgduration: (buildDurationList.sum() / buildDurationList.size()), failed_builds: failed_builds, success_builds: success_builds, cancelled_builds: cancelled_builds, unstable_builds: unstable_builds, last_build_status: item.getLastBuild().getResult().toString(), last_build_duration: item.getLastBuild().duration]
  21.  
  22. }
  23. else {
  24. //there are no builds
  25. json_job << [job_name: item.fullName, nb_build: 0, build_maxduration: 0, build_minduration: 0, build_avgduration: 0, failed_builds: 0, success_builds: 0, cancelled_builds: 0, unstable_builds: 0, last_build_status: "NULL", last_build_duration: 0 ]
  26.  
  27. }
  28. jobs_array.push(json_job);
  29. }
  30. result_json << [nb_jobs: Jenkins.instance.getAllItems(AbstractProject.class).size(), jobs_array: jobs_array ]
  31.  
  32. println(JsonOutput.toJson(result_json))
Add Comment
Please, Sign In to add comment