如何将上游触发器用于多分支声明式管道

时间:2019-04-17 14:52:16

标签: jenkins jenkins-pipeline pipeline jenkins-groovy jenkins-declarative-pipeline

我正在尝试在声明性管道中配置一个触发器,以在另一个构建之后执行。 Jenkins为此提供了上游触发器,我想使用变量来防止在参数中硬编码分支的名称 这是我想做的:

pipeline {
    agent {
     node {
            label 'LINUX'
          }
    }
    // Environment
    environment {
        def jobnameparts = "${env.JOB_NAME}".tokenize('/')
        def service  = "${jobnameparts[2]}"
            def temp = "${service}".split('-ear')
            def upstreamProject = "${temp[0]}"
            def upstreamBuild = "${upstreamProject}" + "/" + "${env.BRANCH_NAME.replaceAll('/', '%2')}"
    }
    triggers {
            upstream(upstreamProjects: "${env.upstreamBuild}")
    }
....

我尝试传递不带$号,不带env等的上游项目参数,但是我的尝试均无效

这样做的好方法是什么?

PS:当给定参数是与另一个内部版本名称匹配的硬编码字符串时,它可以完美工作。

0 个答案:

没有答案