我试图在Hudson内调用Groovy(使用groovy插件)来获取我们构建的一些属性。但是我得到了这个例外:
groovy.lang.MissingPropertyException:无此类属性:类的管理器:Script1
我得到以下行:
def buildNUmber = manager.build.number
当我在Jenkins中作为内联命令以及使用脚本运行时,会发生这种情况:
我尝试了以下解决方案,但在声明本身(第二行)期间失败:
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);
上面的命令使用:Groovy命令运行。当我运行构建时,它出错并抱怨该行-binding.setVariable("manager", manager);
binding.setVariable("manager", manager);
当我使用Groovy脚本文件时,它抱怨:
def buildNumber = manager.build.number
这两个错误都是:groovy.lang.MissingPropertyException:无此类属性:类Script1的管理器
还尝试了该线程中提到的所有内容:
我正在使用Hudson 2.2.1和Groovy 2.1.3。有什么事吗
也许我缺少了部分代码,但是您在哪里定义管理器?如果那是完整的Groovy脚本,那么您正在尝试绑定未声明任何内容的变量,因此不要怪异它失败了,对吧?
只需定义一个您想要的经理即可,例如:
def manager = "my manager" // probably not what you want
并且应该清除您当前的错误。