我需要在环境变量中保留一些构建信息,就像之前在使用EnvInject操作的POFP(普通旧自由式项目)中所做的那样。 目的是能够在其他工作中阅读它们。
我的印象是Jenkins Pipeline开箱即用。
说,我有这个管道代码:
AAA = '123'
env.BBB = '123'
def CCC = '123'
node('local_devkit'){
DDD = '123'
env.EEE = '123'
}
我跑了这份工作并得到了一个版本。然后从Jenkins Groovy控制台我尝试访问它的环境:
b = Jenkins.instance.getItem('test').getBuildByNumber(1)
println b.environment
println b.envVars
我可以看到一些自动变量,如BUILD_NUMBER或JOB_URL。 问题是我想从我的例子中访问在作业运行时创建的自定义变量:AAA,BBB,...等。
即使添加新的ParametersAction技巧也没有帮助,因为在Jenkins管道中访问参数的方式不同。
pa = new ParametersAction([
new StringParameterValue("QWERTY", 'AAAA')
])
currentBuild.rawBuild.addAction(pa)
如何实现理想的行为?
答案 0 :(得分:1)
您的变量正在存储,但我认为不是可以通过您调用的API访问。通过构建REST导出,或通过Java中的EnvAction
导出,或者在上游管道构建中以.buildVariables
导出,调用build
步骤。