gpt4 book ai didi

jenkins - 如何从共享库中访问全局变量(currentBuild、env、...)?

转载 作者:行者123 更新时间:2023-12-04 03:12:47 24 4
gpt4 key购买 nike

我想访问一个全局变量,如 currentBuild , env等来自 shared Groovy library .

示例 1 (作品):

// vars/customStep.groovy
def call() {
echo env.myParameter
}

示例 2 (不起作用):
// vars/customStep.groovy
class customStep implements Serializable {
def call() {
echo env.myParameter
}
}

示例 3 (不起作用):
// src/com/acme/Lib.groovy
package com.acme
class Lib {
def someMethod() {
echo env.myParameter
}
}

我希望能够在任何一种情况下访问变量。我怎样才能做到这一点?

最佳答案

如果您使用 env类定义中的变量,Groovy 将尝试访问类变量 env , 而不是全局变量。我认为您需要创建一个构造函数并传递 env变进去。例如:

package com.acme
class Lib {
def env
}

并在您的管道中使用:
 def library = Lib(env: env)

我从 here 中采用了 groovy 构造函数语法

关于jenkins - 如何从共享库中访问全局变量(currentBuild、env、...)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43685577/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com