我可以通过另一个项目的复制关系图来获取存档文件。 此归档文件采用JSON格式。我需要从这个JSON文件中提取一个值,并将此参数传递给下一个构建。我已经使用python脚本来执行此操作(Execute Shell),但该变量的范围在Execute Shell外部不可见。还有其他方法,我该怎么做?
答案 0 :(得分:0)
将参数传递给下一个版本的一种方法是在Groovy postbuild步骤中使用Jenkins API。
例如,这是一个快速脚本:
// Parse the json file
def json = new groovy.json.JsonSlurper().parse(new File(manager.build.artifactsDir.path + "\\myJsonFile.json"))
// Get the target json value
def myValue = json.myJsonParameter
// Kick off downstream job passing in json value as Param1
manager.hudson.getItem("myDownstreamJob").scheduleBuild(5, new hudson.model.Cause.UpstreamCause(manager.build), new hudson.model.ParametersAction([ new hudson.model.StringParameterValue( "Param1", myValue ) ]));