Jenkins 如何从共享库中访问全局变量(currentBuild、env等)?

Jenkins 如何从共享库中访问全局变量(currentBuild、env等)?,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,我想从内部访问全局变量,如currentBuild,env,等等 示例1(有效): 示例2(不起作用): 示例3(不起作用): 无论哪种情况,我都希望能够访问变量。如何执行此操作?如果从类定义中使用env变量,Groovy将尝试访问类变量env,而不是全局变量。我认为您需要创建一个构造函数并将env变量传递给它。例如: package com.acme class Lib { def env } 在您的管道中使用: def library = Lib(env: env) 我采用gr

我想从内部访问全局变量,如
currentBuild
env
,等等

示例1(有效):

示例2(不起作用):

示例3(不起作用):


无论哪种情况,我都希望能够访问变量。如何执行此操作?

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

package com.acme
class Lib {
    def env
}
在您的管道中使用:

 def library = Lib(env: env)
我采用groovy构造函数语法

// src/com/acme/Lib.groovy
package com.acme
class Lib {
    def someMethod() {
        echo env.myParameter
    }
}
package com.acme
class Lib {
    def env
}
 def library = Lib(env: env)