Существует следующий код, который работает правильно (успешно добавляет глобальную переменную), но результат выполнения этого кода в конвейере всегда НЕИСПРАВЕН. Я не могу поймать ошибку, используя try-catch - на консоль конвейера ничего не выводится. Если я создаю код с def (строки закомментированы), FAILED не происходит (конвейер зеленый), но код не работает (переменная не добавляется. Как найти ошибку или убедиться, что конвейер не НЕ УДАЛ?
import hudson.slaves.EnvironmentVariablesNodeProperty
import jenkins.model.*
try {
/*
Jenkins instance = Jenkins.getInstance()
//jenkins = Jenkins.instance //this need script approve
def globalNodeProperties = instance.getGlobalNodeProperties()
def envVarsNodePropertyList = globalNodeProperties.getAll(hudson.slaves.EnvironmentVariablesNodeProperty.class)
def newEnvVarsNodeProperty = null
def envVars = null
*/
instance = Jenkins.getInstance()
globalNodeProperties = instance.getGlobalNodeProperties()
envVarsNodePropertyList = globalNodeProperties.getAll(EnvironmentVariablesNodeProperty.class)
newEnvVarsNodeProperty = null
envVars = null
if ( envVarsNodePropertyList == null || envVarsNodePropertyList.size() == 0 ) {
newEnvVarsNodeProperty = new EnvironmentVariablesNodeProperty();
globalNodeProperties.add(newEnvVarsNodeProperty)
envVars = newEnvVarsNodeProperty.getEnvVars()
} else {
envVars = envVarsNodePropertyList.get(0).getEnvVars()
}
} catch(Exception ex) {
println("Exception error: ${ex}")
}
envVars.put("sample_var", "Sample Groovy Global Var")
instance.save()