У меня есть constants.groovy, как показано ниже
import groovy.transform.Field
@Field
def emailDistributionList = ['catalogSuccess':'ccc@ff.com, fff.ddd@gmail.com', 'catalogFailure':'fffee@ofr.com']
return this;
Теперь у меня есть основной сценарий конвейера Jenkins, как показано ниже
node ('node1') {
stage("Read Constants") {
script {
def constants = evaluate readTrusted('jenkins_pipeline/constants.groovy')
def catalogDistributionList = "${constants.emailDistributionList}"
echo "${catalogDistributionList}"
def successList = "${catalogDistributionList.catalogSuccess}"
echo "${successList}"
}
}
}
Теперь сначала echo
печатает Field
изфайл констант успешно.Но когда я пытаюсь прочитать ключ и распечатать его, используя второй echo
, он выдает ошибку
groovy.lang.MissingPropertyException: No such property: catalogSuccess for class: org.codehaus.groovy.runtime.GStringImpl
Я думаю, что он читает Field
из constants.groovy
как String
, а не какMap