cloudbees, groovy, jobs, папки: как определить результат работы, если работа находится в папке cloudbees?

Проблема: я использую сценарий, чтобы определить, находится ли определенное количество заданий в состоянии УСПЕШНО. Он работал нормально, пока я не использовал плагин папки cloudbees. Я легко мог получить список проектов и получить результат проекта. Но после того, как я переместил задания в папку cloudbee, задания и, следовательно, результаты работы больше не доступны!

Q: Кто-нибудь теперь, как получить результаты работы с Groovy из заданий, которые находятся в папке Cloudbees?


person alexrjs    schedule 12.02.2014    source источник


Ответы (2)


Плагин Folder предоставляет метод getItems(), который можно использовать для получения всех непосредственных элементов (заданий / папок) в папке.

folder.getItems()

Проверьте эту ссылку, чтобы просмотреть все папки в Jenkins.

Отображая фрагмент кода ниже,

import jenkins.*
import jenkins.model.*
import hudson.*
import hudson.model.*

import hudson.scm.*
import hudson.tasks.*
import com.cloudbees.hudson.plugins.folder.*


jen = Jenkins.instance

jen.getItems().each{
    if(it instanceof Folder){
        processFolder(it)
    }else{
        processJob(it)
    }
}

void processJob(Item job){

}

void processFolder(Item folder){
    folder.getItems().each{
        if(it instanceof Folder){
            processFolder(it)
        }else{
            processJob(it)
        }
    }
}
person Vijay    schedule 24.08.2016

person    schedule
comment
Наконец-то нашел время для тестирования ... Работает как прелесть ... Это было настолько очевидно, что мне интересно, почему я сам не нашел решения ... :-) Большое спасибо ... - person alexrjs; 15.02.2014
comment
Пожалуйста! Не забудьте «принять» ответ, если это именно то, что вы искали. - person Jesse Glick; 01.04.2014
comment
@ jesse-glick Можно ли получить все задания в папке cloudbees или все задания во всех папках cloudbees из верхней части дерева? - person Andrew Gray; 24.08.2016