我正在尝试使用 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)
最佳答案
我看到 Folder.java
在 jenkinsci/cloudbees-folder-plugin
.
这意味着您需要:
- 检查你是否有 JENKINS/CloudBees Folders Plugin安装,否则您的 groovy 脚本将无法解决该依赖关系。
- 添加“
import com.cloudbees.hudson.plugins.folder.*
”以确保脚本能够使instanceOf
正常工作。
关于java - 无法解析类 com.cloudbees.hudson.plugins.folder.Folder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43459580/