cloudbees,groovy,jobs,folders:如果作业在cloudbees文件夹中,如何确定作业结果?

时间:2014-02-12 12:32:12

标签: groovy jenkins directory cloudbees jenkins-scriptler

问题:我正在使用脚本来确定某些数量的作业是否处于SUCCESS状态。 只要我没有使用cloudbees文件夹插件,它就可以正常工作。我可以很容易地获得项目列表并获得项目结果。但是,在将作业移动到cloudbee文件夹后,作业以及作业结果将不再可用!

:现在有人如何通过位于Cloudbees文件夹中的作业使用groovy来获得作业结果吗?

2 个答案:

答案 0 :(得分:15)

def job = Jenkins.instance.getItemByFullName('foldername/jobname');

答案 1 :(得分:4)

文件夹插件提供了getItems()方法,可用于获取文件夹下的所有直接项目(作业/文件夹)。

folder.getItems()

选中此link以遍历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)
        }
    }
}