Jenkins pipeline 如何访问上次成功构建时定义的环境变量

Jenkins pipeline 如何访问上次成功构建时定义的环境变量,jenkins-pipeline,Jenkins Pipeline,我正在尝试从另一个作业“B”访问我在作业“A”中定义的环境变量 作业“A”定义为: evn.upload_loaction = "loc" 在作业B中,我试图访问作业A的上一次成功构建,并获取该变量- def item = Jenkins.instance.getItem("deploy-artifact-pipeline") def dev_deployed_build=item.getLastSuccessfulBuild() def env

我正在尝试从另一个作业“B”访问我在作业“A”中定义的环境变量

作业“A”定义为:

evn.upload_loaction = "loc"
在作业B中,我试图访问作业A的上一次成功构建,并获取该变量-

        def item = Jenkins.instance.getItem("deploy-artifact-pipeline")
        def dev_deployed_build=item.getLastSuccessfulBuild()
        def envVars= dev_deployed_build.getEnvVars()
        echo envVars['upload_loaction']   // prints null
        echo envVars['BUILD_NUMBER'] // prints 21
我的自定义变量无法识别,但可以使用build_number之类的通用变量

当我触发作业A作为下游作业时,我可以使用-

def jLz = build (job: 'deploy-artifact-pipeline')
echo jLz.buildVariables.PROCESSOR_UPLOAD_LOCATION // prints loc

有人能帮我吗?或者有没有更好的方法来存储和访问以前版本中的变量?

EnvInject插件和管道作业不会同时进行,如果需要存储某个环境变量,我通常希望该作业是一个自由风格的作业,您可以在构建结束时发送您的环境变量进行存储,并且可以通过“InjectedEnvArs/api/json”访问特定的构建,如果需要存储某个环境变量,我通常希望该作业是一个自由风格的作业,您可以在构建结束时发送要存储的环境变量,并且可以通过“InjectedEnvArs/api/json”访问特定构建

我处理的另一种方法是创建一个包含所需信息的工件文件。在另一个Jenkins管道中,我下载工件文件并读取其中的信息。

我处理的另一种方法是使用所需信息创建工件文件。在另一个Jenkins管道中,我下载工件文件并读取其中的信息。

好的,那么在管道作业中没有办法做到这一点吗?据我所知,noOk,那么在管道作业中没有办法做到这一点吗?据我所知,没有