我在测试 Jenkinsfile 中有以下代码:
node {
stage 'Build'
def job1 = build 'Sample_Freestyle'
def dur = job1.getDuration()
println dur
def vars = job1.getBuildVariables()
println vars
def myMap = [k1:'v1', k2:'v2', k3:'v3']
println myMap
}
Run Code Online (Sandbox Code Playgroud)
据我了解,当我使用构建步骤时,会返回一个 RunWrapper 对象。我正在尝试获取名为“Sample_Freestyle”的测试作业的构建变量,它现在运行一个简单的 Windows 批处理命令:
echo "Hello World"
Run Code Online (Sandbox Code Playgroud)
每当我运行它时,它都会正确执行,但是我留下了一张空地图。我测试了 getDuration() 方法并按预期返回。我在这里查看了 RunWrapper 类,可能是 env 为空(大约第 212 行),但这只是一个假设。
有谁知道为什么我在调用 getBuildVariables() 时会得到一张空地图?我是否以错误的方式解决这个问题?