Рабочий процесс Jenkins проверяет, выполняется ли задание или запланировано

можно ли проверить, выполняется ли какое-либо задание или запланировано из какого-либо сценария рабочего процесса?

Хотя может показаться достаточным управлять параллелизмом с помощью этапов:

stage name: 'stageName', concurrency: 1 

и запускайте сборки на этих этапах следующим образом:

build job: 'test-job', wait: false

может случиться так, что кто-то запустил задание test-job вручную, и я просто хочу обработать эту ситуацию в своем сценарии рабочего процесса. Например, пропустив сборку или дождавшись завершения сборки.


person vehovmar    schedule 07.09.2015    source источник


Ответы (1)


Это работает в потоках, не использующих Groovy Sandbox:

for (Project job : Hudson.getInstance().getProjects()) {
    if (job.isBuilding() || job.isInQueue()) {
        echo "${job.getName()}"
    }
}
person vehovmar    schedule 08.09.2015
comment
В песочнице это точно не сработает. Также этот стиль цикла for в настоящее время не работает (вам нужно использовать цикл в стиле C со счетчиком). - person Jesse Glick; 11.09.2015