我正在尝试在声明性管道中配置一个触发器,以在另一个构建之后执行。 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:当给定参数是与另一个内部版本名称匹配的硬编码字符串时,它可以完美工作。