无法解析类com.cloudbees.hudson.plugins.folder.Folder

时间:2017-04-17 21:04:03

标签: java jenkins groovy

我正在尝试使用groovy脚本从jenkins收集数据并收到错误:

  

无法解析类com.cloudbees.hudson.plugins.folder.Folder

以下是代码:

import jenkins.model.*
import hudson.model.*
import groovy.time.TimeCategory
use ( TimeCategory ) {
    // e.g. find jobs not run in last 1 year
    sometimeago = (new Date() - 1.year)
}

jobs = Jenkins.instance.getAllItems()
lastabort = null
jobs.each { j ->
    if (j instanceof com.cloudbees.hudson.plugins.folder.Folder) { return }

    numbuilds = j.builds.size()

    if (numbuilds == 0) {
        println 'JOB: ' + j.fullName
        println '  -> no build'
        return
    }

    lastbuild = j.builds[numbuilds - 1]
    if (lastbuild.timestamp.getTime() < sometimeago) {
        println 'JOB: ' + j.fullName
        println '  -> lastbuild: ' + lastbuild.displayName + ' = ' + lastbuild.result + ', time: ' + lastbuild.timestampString2
    }
}

错误是:

  

rg.codehaus.groovy.control.MultipleCompilationErrorsExceptio N:   启动失败:Script1.groovy:12:无法解析课程   com.cloudbees.hudson.plugins.folder.Folder @第12行,第20栏。如果(j   instanceof com.cloudbees.hudson.plugins.folder.Folder){return} ^ 1   错误   org.codehaus.groovy.control.ErrorCollector.failIfErrors(ERRO rCollector.java:302)

1 个答案:

答案 0 :(得分:1)

我在Folder.java中看到jenkinsci/cloudbees-folder-plugin

这意味着你需要:

  • 检查您是否安装了JENKINS/CloudBees Folders Plugin,否则您的groovy脚本将无法解决该依赖关系。
  • 添加“import com.cloudbees.hudson.plugins.folder.*”以确保脚本能够使instanceOf正常工作。