如果调用多分支管道Build,如何从其他项目中获取Trigger / call中的最后一个构建号?

时间:2017-07-28 10:22:10

标签: jenkins jenkins-plugins jenkins-pipeline

我使用Jenkins的参数化触发器插件来触发Multibranch Pipeline项目(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_参数?

请求帮助 克里斯

1 个答案:

答案 0 :(得分:0)

您可以查询jenkins服务器的json api,例如使用httpRequest plugin

@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
}
相关问题