avijendr avijendr - 3 months ago 22
Groovy Question

groovy.lang.MissingPropertyException: No such property: manager for class: Script1

I am trying to invoke Groovy inside Hudson (using groovy plugin) to get some properties for our build. But I am getting this exception:

groovy.lang.MissingPropertyException: No such property: manager for class: Script1

I get this with the following line:

def buildNUmber = manager.build.number


This happens when I run as an inline command within Jenkins as well as using a script:

I tried the solution below, but it fails during the declaration itself (line two):

Binding binding = new Binding();
binding.setVariable("manager", manager);
GroovyShell shell = new GroovyShell(binding);
shell.evaluate(new File("d:/dev/others/hudson/userContent/ScriptStuff.groovy").text);


The above is run using: Groovy command. And when I run the build it errors and complains about the line -
binding.setVariable("manager", manager);


When I use the Groovy script file, then it complains about:

def buildNumber = manager.build.number


Both errors are : groovy.lang.MissingPropertyException: No such property: manager for class: Script1

Tried everything mentioned in this thread as well:

I am using Hudson 2.2.1 and Groovy 2.1.3. What could be wrong?

Answer

Maybe I'm missing some part of your code, but where do you define the manager? If that's the complete Groovy script, you're trying to bind a variable which isn't declared anything, so it's not to weird that it fails, right?

Just define a manager it that's what you want, like:

def manager = "my manager" // probably not what you want

And should should be rid of your current error.