拉风的咖菲猫
Parvez 的使用 REST API 的建议非常好。但是,如果 REST API 不直接提供您要查找的数据,则它使用起来很尴尬,从而导致对 REST API 的复杂调用和多次调用。这很慢,它使您依赖该 API 的稳定性。除了最基本的查询之外,我通常更喜欢运行一个小的 groovy 脚本,该脚本将从 Jenkins 的内部结构中提取所需的数据。这更快,而且通常使用起来也更简单。这是一个小脚本,它将获取您要查找的数据:import jenkins.model.*import hudson.plugins.promoted_builds.*import groovy.json.JsonOutputdef job = Jenkins.instance.getItemByFullName( 'TESTJOB' )def buildInfos = []for ( build in job.getBuilds() ) { def promotionList = [] for ( promotion in build.getAction(PromotedBuildAction.class).getPromotions() ) { promotionList += promotion.getName() } buildInfos += [ result : build.getResult().toString(), number : build.getNumber(), time : build.getTime().toString(), promotions: promotionList ]}println( JsonOutput.toJson( buildInfos ) )该脚本将以 JSON 格式生成结果,如下所示(美化):[ { "number": 2, "promotions": [ "promotionA" ], "result": "SUCCESS", "time": "Thu Oct 18 11:50:37 EEST 2018" }, { "number": 1, "promotions": [], "result": "SUCCESS", "time": "Thu Oct 18 11:50:34 EEST 2018" }]您可以通过 Jenkins“脚本控制台”GUI 或通过 REST API 运行此类脚本以运行 groovy 脚本(原文如此)。还有一个用于执行此操作的 CLI 界面命令。