我想先说一下,在SCM重设詹金斯实例之前,这一切都是可行的,我不确定它们发生了什么变化,但它破坏了这一点。
我有一个配置:
program {
AS{
server=["serv1","serv2","serv3"]
}
}
在我的脚本中,我用它来获取配置
def String groovy_properties_file = "/path/to/scripts/config.groovy"
def config = new ConfigSlurper().parse(new File(groovy_properties_file).toURL())
我本来是要为要使用的程序输入参数的,但是现在当使用字符串而不是对配置进行硬编码时,似乎给了我一个错误。
例如:
def programConfig = config.program.AS
和
def programConfig = config.program."AS"
工作正常。
但将AS设置为变量
String progString = "AS"
def programConfig = config.program."${progString}"
if(!programConfig ){
//Error Case
}
这将导致错误情况并引发异常。我无法完全弄清差异或造成此差异的原因。