Groovy Map в конвейере Jenkins, обрезающем символы - PullRequest
0 голосов
/ 31 октября 2018

Я столкнулся с проблемой в моем конвейере сборки Jenkins с использованием скрипта groovy.

Вот часть моего отличного сценария:

// Create a map out of our string
di.envVarString = "key1=value1|key2=value2"
def envVars = [:]
envVars = di.envVarString.tokenize("|").collectEntries {
    it.split("=").with {
        [ (it[0]): it[1]]
    }
}

Теперь предполагается создать карту [ключ1: значение1, ключ2: значение2]

Запуск этого сценария на компьютере с Linux или использование онлайн-среды в веб-браузере дает мне ожидаемое поведение ... Однако по какой-то причине при запуске этого скрипта Groovy в составе конвейера jenkins он разбивает карту на отдельные символы.

например, я получаю [k: e, k: e] в качестве карты. Что здесь происходит? Я не очень знаком с Groovy, но я думал, что у меня все получилось.

1 Ответ

0 голосов
/ 31 октября 2018

Узнайте больше о сплит против токенизации. Split создает строку, в которой tokenize создает список. Обновил внутреннюю строку из it.split ("=") в it.tokenize ("="), и это сработало.

Разместите это, чтобы все могли знать.

...