我目前的情况是,我需要在 Jenkins 服务器上触发状态为“icon-red”的所有作业,这些作业由给定的用户特定视图(my-views)选择。问题是列表很长,我们不想手动触发它们。这就是为什么我想到使用 Groovy 脚本(Jenkins 的脚本控制台)的原因。
我可以使用如下编码触发给定全局视图的所有红色作业:
def viewName = "globalviewname"
def jobsToBuild = Jenkins.instance.getView(viewName).items.findAll { job ->
job.getBuildStatusIconClassName() == "icon-red"
}
jobsToBuild.each { job ->
println "Scheduling matching job ${job.name}"
job.scheduleBuild(new Cause.UserIdCause())
}
但是,我缺乏访问当前用户视图的方法(稍后将成为参数):调用
Jenkins.instance.getViews()
仅提供所有全局视图的列表。我目前正在玩
Jenkins.instance.getMyViewsTabBar()
(另见http://javadoc.jenkins-ci.org/jenkins/model/Jenkins.html#getMyViewsTabBar()),但显然我没有掌握它。
任何线索如何访问与用户特定列表视图关联的项目列表?