使用groovy获取詹金斯的所有主/子工作详细信息

时间:2018-10-08 09:43:47

标签: json jenkins groovy

我需要获取jenkins所有主/子作业的详细信息,例如开始时间,结束时间,评论id,这些ID已集成到当前jenkin作业中的所有master和child作业中,并将它们放在json数组中。我已经写了下面的脚本来获取详细信息,但无法获取主/子作业的开始和结束时间,以及如何区分主作业详细信息和子作业详细数据。

    import hudson.model.*

map1=[:]
map1["BUILD_NUMBER"]=(build.getEnvVars()['BUILD_NUMBER'])
map1["PARENT_BUILD_NUMBER"]=(build.getEnvVars()['BUILD_NUMBER'])
map1["JOB_NAME"]=(build.getEnvVars()['JOB_NAME'])
map1["PHASE_NAME"]=(build.getEnvVars()['JOB_NAME'])
map1["Status"]=(build.getEnvVars()['PHASE_RESULT'])
map1["Branch"]="master"
map1["JOB_URL"]=(build.getEnvVars()['JOB_URL'])
map1["START_TIME"]=(build.getEnvVars()['timestamp'])
map1["END_TIME"]=(build.getEnvVars()['buildEndTime'])

def json = new groovy.json.JsonBuilder()
json MasterJob: map1
println "json output: "
println groovy.json.JsonOutput.prettyPrint(json.toString())

Jenkin job image

1 个答案:

答案 0 :(得分:0)

您可以使用Jenkins的REST API获得该信息。它以各种格式(包括JSON)提供构建信息。网址示例:

http://JENKINS_HOST:8080/job/JOB_NAME/lastSuccessfulBuild/api/json?pretty=true

您还可以在Jenkins实例的右下角找到REST API文档的链接。