25

我想env在 Jenkinsfile 中的对象中打印所有可用的属性(及其值)。

当我做

print env

我得到:

org.jenkinsci.plugins.workflow.cps.EnvActionImpl@112cebc2

所以看起来toString那里没有实现,如果我不知道它们的名字,我怎么能访问这个对象中的属性?

4

3 回答 3

18

确保您没有在沙盒模式下运行管道脚本,并且您应该能够使用:

env.getEnvironment()

请注意,如果您在管道中以沙盒模式运行,则应在脚本批准页面批准该方法:http://jenkins-host/scriptApproval/

于 2016-06-08T20:48:47.840 回答
6

要使用以声明性或脚本化 DSL 编写的 Jenkinsfile 检索所有环境属性,您可以使用:

sh 'env'                       

或者

sh 'printenv'
于 2018-02-15T01:59:52.433 回答
3

正如这里所说:https ://stackoverflow.com/a/42138466/618253

声明式管道的做事方式:

node {
   echo sh(returnStdout: true, script: 'env')
}
于 2017-08-30T21:31:38.887 回答