java无法解析类com。云蜂。哈德逊。插件。文件夹文件夹
我正在尝试使用groovy脚本从jenkins收集数据,但出现了一个错误:
unable to resolve class 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.MultipleCompilationErrorsException: startup failed: Script1.groovy: 12: unable to resolve class com.cloudbees.hudson.plugins.folder.Folder @ line 12, column 20. if (j instanceof com.cloudbees.hudson.plugins.folder.Folder) { return } ^ 1 error at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:302)
# 1 楼答案
我在^{} 中看到^{}
这意味着你需要:
import com.cloudbees.hudson.plugins.folder.*
”以确保脚本能够使instanceOf
工作李># 2 楼答案
在运行在Jenkins中导入库的groovy脚本时,请检查Jenkins构建步骤是否是“执行系统groovy脚本”,而不是普通的“执行groovy脚本”
“系统”脚本在现有JVM上运行,而不是生成一个新的JVM,因此无法访问原始Jenkins JVM实例可用的共享库
Groovy脚本与系统Groovy脚本https://plugins.jenkins.io/groovy/