我试图使用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.MultipleCompilationErrorsException:启动失败: Script1.groovy: 12:无法解析类com.cloudbees.hudson.plugins.folder.Folder @第12行,第20列。如果(j com.cloudbees.hudson.plugins.folder.Folder) {com.cloudbees.hudson.plugins.folder.Folder}^1在org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:302)上出错
发布于 2017-04-18 04:34:18
我看到Folder.java在jenkinsci/cloudbees-folder-plugin。
这意味着你需要:
import com.cloudbees.hudson.plugins.folder.*“以确保脚本能够使instanceOf工作。发布于 2021-08-25 13:59:18
当在Jenkins中运行导入库的groovy脚本时,请检查Jenkins构建步骤是“脚本”,而不是一个普通的"Execute脚本“。
“system”脚本在现有JVM上运行,而不是产生新的JVM,因此无法访问--原始Jenkins实例可用的共享库。
Groovy脚本与系统Groovy脚本- https://plugins.jenkins.io/groovy/
https://stackoverflow.com/questions/43459580
复制相似问题