Jenkins管道插件在管道中启动的作业之间传递构建作业参数

Jenkins管道插件在管道中启动的作业之间传递构建作业参数,jenkins,groovy,jenkins-pipeline,Jenkins,Groovy,Jenkins Pipeline,如果您能提供一个完整的代码示例,说明如何在Jenkins管道插件中将参数(参数化构建)从JobA传递到JobB,我们将不胜感激 我正在使用下面这样的脚本,无法从文档中找到如何访问JobA中的参数,例如JobB中的构建步骤shell脚本: build job: 'JobA', parameters: [[$class: 'StringParameterValue', name: 'CVS_TAG', value: 'test']] build job: 'JobB', parameters: [

如果您能提供一个完整的代码示例,说明如何在Jenkins管道插件中将参数(参数化构建)从
JobA
传递到
JobB
,我们将不胜感激

我正在使用下面这样的脚本,无法从文档中找到如何访问
JobA
中的参数,例如
JobB
中的构建步骤shell脚本:

build job: 'JobA', parameters: [[$class: 'StringParameterValue', name: 'CVS_TAG', value: 'test']]

build job: 'JobB', parameters: [[$class: 'StringParameterValue', name: 'CVS_TAG', value: 'test']]

echo env.CVS_TAG  
上面给出了一个错误:

groovy.lang.MissingPropertyException:没有这样的属性:类的CVS_标记:groovy.lang.Binding

并且无法访问
JobB
中的构建步骤shell脚本中的
$CVS\u标记

谢谢

根据您的回答,我也尝试过这个方法,但没有成功:

生成作业:“JobA”,参数:[[$class:'StringParameterValue',名称:'test_param',值:'working']]

环境测试参数=测试参数

echo${test_param}

错误总是:

groovy.lang.MissingPropertyException:没有这样的属性:在groovy.lang.Binding.getVariable(Binding.java:63)上测试groovy.lang.Binding类的参数

//do something
env.CVS_TAG = 'test'
build job: 'JobB'
下游作业B:

import hudson.EnvVars
import org.jenkinsci.plugins.workflow.cps.EnvActionImpl
import hudson.model.Cause

def upstreamEnv = new EnvVars()
node {
    //if the current build is running by another we begin to getting variables
    def upstreamCause = currentBuild.rawBuild.getCause(Cause$UpstreamCause)
    if (upstreamCause) {
        def upstreamJobName = upstreamCause.properties.upstreamProject
        def upstreamBuild = Jenkins.instance
                                .getItemByFullName(upstreamJobName)
                                .getLastBuild()
        upstreamEnv = upstreamBuild.getAction(EnvActionImpl).getEnvironment()
    }
    def CVS_TAG = upstreamEnv.CVS_TAG
    echo CVS_TAG
}

这个答案可能会给您一个线索:您是否在buildjobb中启用了“thisprojectisparameterized”?还请注意,您可以通过${CVS_TAG}的方式访问参数。请仔细查看答案,感谢您的回复,但我无法使其正常工作?有使用build job的工作脚本示例吗?知道我做错了什么吗?这似乎是使用管道时最重要的功能,而如何使用它的文档/示例中几乎没有什么内容?