Retrieve all properties of env in Jenkinsfile

2019-02-16 07:52发布

I would like to print all available properties (and their values) in env object inside Jenkinsfile.

When I do

print env

I get:

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

So it looks like toString is not implemented there, how can I access properties that are in this object if I don't know their names?

3条回答
聊天终结者
2楼-- · 2019-02-16 08:10

As said over here: https://stackoverflow.com/a/42138466/618253

The declarative pipeline way of doing things:

node {
   echo sh(returnStdout: true, script: 'env')
}
查看更多
我欲成王,谁敢阻挡
3楼-- · 2019-02-16 08:16

To retrieve all env properties using a Jenkinsfile written in either declarative or scripted DSL you can use:

sh 'env'                       

or

sh 'printenv'
查看更多
小情绪 Triste *
4楼-- · 2019-02-16 08:29

Make sure you're not running the pipeline script in sandboxed mode and you should be able to use:

env.getEnvironment()

Note, if you're running in sandbox mode in a pipeline, you should approve the method at the script approval page: http://jenkins-host/scriptApproval/

查看更多
登录 后发表回答