Given a jenkins build pipeline, jenkins injects a variable env into the node{}. Variable env holds environment variables and values.
For example, environment variable BRANCH_NAME can be accessed with
node {
echo ${env.BRANCH_NAME}
...
I want to echo all env properties within the jenkins pipeline
...considering that I do not know all properties ahead of time.
I am looking for code like
node {
for(e in env){
echo e + " is " + ${e}
}
...
which would echo something like
BRANCH_NAME is myBranch2
CHANGE_ID is 44
...
I used Jenkins 2.1 for this example.

env.each { name, value -> println "Name: $name -> Value $value" }printsName: org.jenkinsci.plugins.workflow.cps.EnvActionImpl@45c2d1ee -> Value null. - JamesThomasMoonnew ClassName() { ... }), it should work. Or you run it on a method tagged@NonCPS, then closures will work inside that too. - Daniel C. Sobral