3

问题:我正在使用脚本来确定一定数量的作业是否处于成功状态。只要我不使用 cloudbees 文件夹插件,它就可以正常工作。我可以轻松获取项目列表并获得项目结果。但是在我将作业移动到 cloudbee 文件夹后,作业以及作业结果不再可用!

:现在有人如何通过 groovy 从位于 Cloudbees 文件夹中的作业中获取作业结果?

4

2 回答 2

18
def job = Jenkins.instance.getItemByFullName('foldername/jobname');
于 2014-02-12T13:09:34.243 回答
4

文件夹插件提供了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)
        }
    }
}
于 2016-08-24T18:14:02.113 回答