Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import hudson.model.*
- import groovy.json.*
- def result_json = new JsonSlurper().parseText('{}')
- def jobs_array = []
- Jenkins.instance.getAllItems(AbstractProject.class).each {item ->
- def json_job = new JsonSlurper().parseText('{}')
- def json_job_last_build_info = new JsonSlurper().parseText('{}')
- if(item.getBuilds().size() > 0) {
- def buildDurationList = []
- def success_builds = item.builds.findAll{ it.result == hudson.model.Result.SUCCESS && it.badgeActions }.size();
- def failed_builds = item.builds.findAll{ it.result ==hudson.model.Result.FAILURE && it.badgeActions }.size();
- def cancelled_builds = item.builds.findAll{ it.result == hudson.model.Result.ABORTED && it.badgeActions }.size();
- def unstable_builds = item.builds.findAll{ it.result == hudson.model.Result.UNSTABLE && it.badgeActions }.size();
- item.getBuilds().each { buildJob -> // we get all build durations for the builds of the given branch_job.
- buildDurationList.push(buildJob.duration)
- }
- 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]
- }
- else {
- //there are no builds
- 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 ]
- }
- jobs_array.push(json_job);
- }
- result_json << [nb_jobs: Jenkins.instance.getAllItems(AbstractProject.class).size(), jobs_array: jobs_array ]
- println(JsonOutput.toJson(result_json))
Add Comment
Please, Sign In to add comment