У меня есть шаг в конвейере, который извлекает объекты из контекста и использует их.Однако мне нужно получить доступ к этим объектам за пределами шагов, чтобы подать их на разные шаги, а второй шаг не раскрывает его.
stage() {
steps {
script {
def status = waitForQualityGate()
// Use the taskId
}
}
}
}
Вызов waitForQualityGate()
возвращает только логическое значение, поэтому я могунет доступа к нему.
Я мог бы вместо этого вручную инициализировать шаг, например так:
script {
def qualityGate = new WaitForQualityGateStep()
def taskId = qualityGate.getTaskId()
}
, но taskId
равно нулю.Если я попытаюсь запустить методы запуска вручную на шаге:
script {
def qualityGate = new WaitForQualityGateStep()
qualityGate.start().start()
def taskId = qualityGate.getTaskId()
}
Ошибка с сообщением:
java.lang.IllegalStateException: вы должны либо передать StepContextв конструктор StepExecution или создать StepExecution автоматически
У WaitForQualityGateStep
есть нужная мне информация, но я не могу ее инициализировать, не имея StepContext (который является классом Abstract).Как я могу получить один из конвейера?