Я хотел бы создать переменную, которая позволит мне получить доступ к различным структурам YAML.
envFile - это файл YAML, содержащий данные типа:
ENVNAME:
MYSYS:
MYSUBSYS:
MYDETAIL:
version: 1.0.0
path: C:\wwwroot\sys
MYSYS2:
MYSUBSYS2:
version: 1.0.1
path: C:\wwwroot\sys2
Важно то, что MYSYS2 не имеет уровня MYDETAIL
В конвейере Дженкинса я использую:
envs = readYaml file: envFile
Тогда я могу получить значение версии, используя:
verNum = envs."${environment}"."${sysName}"."${subSysName}"."${detailName}".version
Но когда я хочу получить версию для MYSYS2, тогда я должен использовать (без detailName):
verNum = envs."${environment}"."${sysName}"."${subSysName}".version
Так что мне нужна переменная зависит от sysName ..
Я хотел бы использовать синтаксис, такой как:
if (sysName == 'MYSYS'){
mySuperVariable = "${environment}"."${sysName}"."${subSysName}"."${detailName}"
}
else if (sysName == 'MYSYS2'){
mySuperVariable = "${environment}"."${sysName}"."${subSysName}"
}
(...)
sysVer = envs."${mySuperVariable}".version