Для этого нужно выполнить несколько шагов. Во-первых, нам нужно исправить выполнение вашего метода оболочки. Мы преобразуем его в действительное выполнение оболочки, которое возвращает стандарт из выполнения и присваивает его переменной:
build_json = sh(label: 'Retrieve Build Info', script: "curl ${APP_ARTIFACTORY_URL}/${XRAY_PLATFORM}/builds/latest.json", returnStdout: true)
Это допустимое выполнение метода оболочки, которое также вернет стандарт и назначит его к переменной. См. Дополнительную информацию в документации .
Затем нам нужно проанализировать полученный JSON и присвоить это возвращаемое значение переменной:
build_map = readJSON(text: build_json)
См. документация для получения дополнительной информации.
Наконец, теперь у нас есть карта, где мы можем получить доступ к значению для ключа latest_version
и присвоить его переменной. Мы можем получить доступ с помощью этого синтаксиса:
latest_version = build_map['version']
или этого:
latest_version = build_map.version
Обратите внимание, что, хотя это отвечает на ваш вопрос, вы не можете передавать значения c * environment
в *1022* block во время выполнения конвейера (что из вашего вопроса подразумевает, что вы хотите выполнить позже). Итак, вам нужно будет попробовать другой маршрут для этого, и, возможно, потребуется задать дополнительный вопрос по этому поводу.