简体   繁体   中英

Accessing Variables Specified for Jenkins Groovy Plugin Script

When writing a script that is run by Jenkins Groovy Plugin as a build step ( Execute System Groovy Script ) one can specify 'variable bindings'. The helpline says: Define varibale bingings (in the properties file format). Spefified variables can be addressed from the script. [sic] How do I access those variables from the script? They are not set as environment variables for the build, neither are they present among System properties.

this.getBinding().getVariables()

或者只是binding.variables

I wasn't able to use binding.variables directly, I only got listener , build , launcher and out from binding.variables.

Instead I was able to use build.environment(listener) to retrieve the environment variables as suggested in the responses to this question: Access to build environment variables from a groovy script in a Jenkins build step ( Windows)

def config = new HashMap()
config.putAll(binding.variables)
def logger = config['out']
def envvars = new HashMap()
envvars.putAll(build.getEnvironment(listener))
def myvar= envvars['myvar']

This might have been different for me since I am only looking for system-wide environmental variables:

(checked) Prepare an environment for the run \\ Keep Jenkins Environment Variables \\ Keep Jenkins Build Variables

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM