У меня есть файл Jenkins с некоторыми свойствами, например
trace = false
userNotifications = [
build_master : [name : 'name',
email : 'email',
slackid: 'slack id',
slackchannel: 'slack channel']
]
env.aProperty = "aValue"
node('COMPILE')
{
...
}
Я хочу проанализировать указанный выше файл Jenkins внутри groovy кода, чтобы получить доступ к некоторым значениям свойств.
Когда я использую GroovyShell следующим образом
Binding binding = new Binding()
GroovyShell shell = new GroovyShell(binding)
Object groovyDsl = shell.evaluate(clean)
, я получаю эту ошибку
groovy.lang.MissingMethodException: No signature of method: Script1.node() is applicable for argument types: (String, Script1$_run_closure1) values: [COMPILE, Script1$_run_closure1@7d804e7]
Я могу обойти конкретную ошибку с помощью некоторого Groovy метапрограммирования, однако я Я не уверен, что это правильное направление. Мой вопрос в том, как лучше всего разобрать файл Jenkins в коде Groovy? В конце концов, это Groovy DSL, и я ожидал бы, что он будет более простым.