Я бы настоятельно рекомендовал go с ответом Мэтта , потому что это самый чистый способ.
В любом случае, существуют ситуации, когда нет другого выбора, кроме как использовать оболочку Итак, вот способ оболочки:
script {
def upload_id = sh label: '',
script: 'echo $(cat output_file.json | jq -r \'.upload_id\')',
returnStdout: true
upload_id = upload_id.trim() // remove extraneous whitespace
sh "echo \"$upload_id\""
}
Я уже связался с более подробным моим ответом , но вы, вероятно, не заставляли его работать, потому что вы используете декларативный трубопровод. В декларативном конвейере необходимо использовать блок script
, чтобы иметь возможность хранить возвращаемые значения шагов.