问题
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?
回答1:
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/
回答2:
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:
To retrieve all env properties using a Jenkinsfile written in either declarative or scripted DSL you can use:
sh 'env'
or
sh 'printenv'
来源:https://stackoverflow.com/questions/36836806/retrieve-all-properties-of-env-in-jenkinsfile