Можно ли пропустить шаг properties()
в конвейере Jenkins, если определенное свойство уже установлено?Например, у нас есть:
def props = [
buildDiscarder(logRotator(daysToKeepStr: '3', numToKeepStr: '25')),
parameters([
string(defaultValue: "", description: "", name: "example")
])
]
properties(props)
позже по конвейеру, мы проверяем, нужно ли запускать задание в будущем с помощью триггера cron с:
props = props.plus(pipelineTriggers([cron(cronTrigger)]))
properties(props)
Прямо сейчаспервый фрагмент кода всегда настроен на запуск, который устанавливает определенные параметры, которые нам нужны для работы конвейера, но это удалит cron и оставит задание в состоянии, которое уязвимо для сбоя без сброса cron для его повторного запуска.Только определенные задания, которые запускают этот конвейер, должны быть зарезервированы, поэтому мы не можем просто добавить cron в начальный массив props.Есть ли способ проверить наличие ранее установленного триггера cron в конвейере и повторно запустить только первый шаг properties()
, если он не включен cron.Пример псевдо-кода, который я ищу:
if (properties.include(pipelineTriggers([cron(cronTrigger)]))) {
properties(props)
}