Not sure if anyone cares, but this is what I got working based on an 
example I found on the groovy plugin page:
(there is likely way better ways to manage this)

import hudson.util.*
import hudson.model.*

// get current thread / Executor
def thr = Thread.currentThread()
// get current build
def build = thr?.executable

// ... or if you want the parameter by name ...
def hardcoded_param = "NEW_PROP"
def resolver = build.buildVariableResolver
def hardcoded_param_value = resolver.resolve(hardcoded_param)


for (nodeproperty in hudson.model.Hudson.instance.globalNodeProperties)
{ 
   println(nodeproperty.getEnvVars());
   if(nodeproperty.getEnvVars().get("FOO") != null)
   {
     nodeproperty.getEnvVars().put("FOO", hardcoded_param_value);
     hudson.model.Hudson.instance.save();
     println(nodeproperty.getEnvVars());
   }
}

On Tuesday, April 24, 2012 4:06:46 PM UTC-4, Maven User wrote:
>
> Hi all - 
>
> I have a job that needs to execute a groovy pre- step that sets a global 
> environment variable.
>
> Is there anyway to do this?
>
> I have tried the following:
>
> for (nodeproperty in hudson.model.Hudson.instance.globalNodeProperties)
> { 
>    println(nodeproperty.getEnvVars());
>    nodeproperty.getEnvVars().put("FOO", nextdevversion);
>    hudson.model.Hudson.instance.save();
>    println(nodeproperty.getEnvVars());
> }
>
> and then set:
>
> nextdevversion=NEXT_DEV_VERSION
>
> In the variable bindings - but that just set the global environment 
> variable to "NEXT_DEV_VERSION". 
>
> I've tried:
>
> ${NEXT_DEV_VERSION}
> $NEXT_DEV_VERSION
> ${env.NEXT_DEV_VERSION}
>
> None of these are the actual parameter.
>
> Is this just not possible?
>

Reply via email to