EnvInject不读环境变量

EnvInject不读环境变量

问题描述:

在Jenkins中,我试图设置一个动态环境变量。EnvInject不读环境变量

我已经使用Scriptler创建Groovy脚本并将结果写入文件。

然后,我用EnvInject来读取该文件的内容。

的Groovy脚本:

import jenkins.model.* 

def GB = build.getEnvVars()["GIT_BRANCH"] 
def FORMATED_BRANCH = "com.my.package%3Amy-project%3A" + "${GB}".replace("/", "%2F") 

def file = new File('groovyFile') 
file.write "FORMATED_BRANCH=${FORMATED_BRANCH}" 

的设置:

enter image description here

不过,我想还是设置环境变量无法识别:

javax.servlet.ServletException: quality.gates.jenkins.plugin.QGException: Environment variable with name 'FORMATED_BRANCH' does not exist. 
    at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:796) 
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) 
    at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:236) 
    at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) 
    at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746) 

任何想法为什么环境变量不被识别?

+0

你可以尝试返回该变量,例如: - return [FORMATED_BRANCH:$ {FORMATED_BRANCH}] – DevD

+0

如果我返回它,那我该如何从文件中读取它?我怎样才能将它传递给EnvInject? – octavian

+0

请提供您如何在Quality Gates插件中准确使用此环境变量。 –

您点击此插件问题JENKINS-39638“不可能将环境变量用作项目键”。