问题:我正在使用脚本来确定一定数量的作业是否处于成功状态。只要我不使用 cloudbees 文件夹插件,它就可以正常工作。我可以轻松获取项目列表并获得项目结果。但是在我将作业移动到 cloudbee 文件夹后,作业以及作业结果不再可用!
问:现在有人如何通过 groovy 从位于 Cloudbees 文件夹中的作业中获取作业结果?
问题:我正在使用脚本来确定一定数量的作业是否处于成功状态。只要我不使用 cloudbees 文件夹插件,它就可以正常工作。我可以轻松获取项目列表并获得项目结果。但是在我将作业移动到 cloudbee 文件夹后,作业以及作业结果不再可用!
问:现在有人如何通过 groovy 从位于 Cloudbees 文件夹中的作业中获取作业结果?
def job = Jenkins.instance.getItemByFullName('foldername/jobname');
文件夹插件提供了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)
}
}
}