2017-07-28 27 views
0

我使用Jenkins的Parameterized Trigger Plugin来触发多分支管道项目(RED Outlook Addin)。构建完成后,我想通过Copy Artifact Plugin复制工件。 我添加一个构建步骤“从其他项目复制工件”,项目名称为“RED Outlook Addin/$ {CIOS_BRANCH_NAME}”,因为我将分支名称作为参数。如果我指定内部版本号如“12”,这将起作用。但是,如果将内部版本号设置为$ TRIGGERED_BUILD_NUMBER_RED_Outlook_Addin _ $ {CIOS_BRANCH_NAME},则会出现此错误:无法找到工件副本的项目。如果多分支管道构建被调用,如何从触发器/调用中获取最后的内部版本号建立在其他项目上?

如何使用指定分支调用$ TRIGGERED_BUILD_NUMBER_参数?

THX的帮助 克里斯

回答

0

你可以使用httpRequest plugin查询您詹金斯服务器的JSON API使用,例如:

@NonCPS 
def parseJson(String text) { 
    def sup = new JsonSlurper() 
    def json = sup.parseText(text) 
    sup = null 
    return json 
} 

def getLastStableBuildNumber(String project, String branchName = 'master') { 
    def response = httpRequest url: "http://jenkins/job/${project}/job/${branchName}/lastStableBuild/api/json", validResponseCodes: '200' 
    def json = parseJson(response.content) 
    return json.number 
} 
相关问题