Итак, у меня есть конвейер Jenkins, который читает текстовый файл (JSON) с использованием метода readFile, предоставляемого Jenkins Pipeline. В текстовом файле app.JSON есть несколько переменных, которые уже определены в конвейере Jenkins.
Хотя readFile читает файл и преобразует его в строку, он не интерполирует эти переменные. Каковы мои варианты интерполяции этих переменных, кроме простой замены строки (чего я хочу избежать)
Я знаю, что могу использовать синтаксический анализатор readJSON или JSON, но мне нужен вывод в виде строки, чтобы мне было проще просто прочитать его как строку и передать его.
Я пытался использовать Gstrings, $ {-> variable} и метод .toString (). У меня ничего не получалось.
Код трубопровода Дженкинса
appServerName = 'gaga'
def appMachine = readFile file: 'util-silo-create-v2/app.json'
println appMachine
app.json
{
"name":"${appServerName}",
"fqdn":"${appServerName}"
}
В конвейере и в app.json имеется более одной переменной, которую я хочу заменить
Проблема связана с методом readFile, предоставляемым Jenkins Pipeline. Хотя он очень аккуратный и простой в использовании, он не интерполирует строки.
Я ожидаю ниже выходной
println appMachine
{
"name":"gaga",
"fqdn":"gaga"
}
Вывод получаю
{
"name":"${appServerName}",
"fqdn":"${appServerName}"
}