У меня есть скрипт, который запускает сборку. За этой сборкой следует конвейер Release. В моем скрипте я могу выяснить, что такое URL для Release, но я не понимаю, как скрипт может решить, когда будет выполнен конвейер Release.
Предположим, интерактивных утверждений нет. Тем не менее:
- Кажется, что статус релиза застрял на «активном», не имеет значения, все ли стадии уже достигли какого-то окончательного статуса.
- Этапы могут быть "notStarted", "inProgress", "rejected", "отменен" или "успешно".
Полагаю, можно разобраться, выполнив некоторый анализ состояния всех этапов с учетом топологии конвейера, но это кажется слишком сложным.
Можно ли вообще ждать в скрипте, пока какой-нибудь релиз не войдет в конечное состояние, из которого невозможно измениться?
РЕДАКТИРОВАТЬ 1
Я в порядке, пишу цикл опроса. Это то, что я делаю, чтобы понять, когда сборка окончена. Но для выпусков у меня есть проблема с условием остановки - я просто не знаю, что это такое.
РЕДАКТИРОВАТЬ 2
Рассмотрим следующий конвейер:
+---> A
/ \
Start + -[Promoted only if (*) is true]-> C ---> D
\ /
+---> B
(нет ручных утверждений)
Теперь предположим, что сборка не удовлетворяет условию (*), и поэтому выпуск эффективно останавливается после выполнения на A и B, но не на C. Состояния в средах будут такими:
- A = успешно или отклонено
- B = успешно или отклонено
- C = notStarted
- D = notStarted
Итак, каково условие остановки для цикла ожидания, которое остановит его в этой ситуации? Возможно ли это сделать без определения топологии конвейера выпуска?