使用 getAllItems API 调用的不完整作业列表
Incomplete list of jobs using getAllItems API call
我正在使用以下代码片段检索 Jenkins plugin 中的职位列表:
SecurityContext old = ACL.impersonate(ACL.SYSTEM);
for (AbstractProject<?, ?> job : Jenkins.getInstance()
.getAllItems(AbstractProject.class)) {
// useful work on jobs
}
SecurityContextHolder.setContext(old);
不幸的是,根据 Jenkins 日志,并非所有作业都通过循环处理。
我有 Maven 和 FreeStyle 工作,只有少数被丢弃。根据 class 层次结构,过滤器 "AbstractProject.class" 应该 return 一切。
有人可以指出文档或我缺少的东西吗?提前致谢
通过重构循环修复了错误:
SecurityContext old = ACL.impersonate(ACL.SYSTEM);
for (AbstractProject<?, ?> job : Jenkins.getInstance()
.getAllItems(AbstractProject.class)) {
// useful work on jobs
}
SecurityContextHolder.setContext(old);
与 :
ACL.impersonate(ACL.SYSTEM, new Runnable() {
@Override
public void run() {
for (AbstractProject<?, ?> job : Jenkins.getInstance()
.getAllItems(AbstractProject.class)) {
try {
processJob(job, remote, scm);
} catch (Exception jobProcessingException) {
LOGGER.severe("Something bad occured processing job "
+ job.getName());
jobProcessingException.printStackTrace();
}
}
}
});
我正在使用以下代码片段检索 Jenkins plugin 中的职位列表:
SecurityContext old = ACL.impersonate(ACL.SYSTEM);
for (AbstractProject<?, ?> job : Jenkins.getInstance()
.getAllItems(AbstractProject.class)) {
// useful work on jobs
}
SecurityContextHolder.setContext(old);
不幸的是,根据 Jenkins 日志,并非所有作业都通过循环处理。 我有 Maven 和 FreeStyle 工作,只有少数被丢弃。根据 class 层次结构,过滤器 "AbstractProject.class" 应该 return 一切。 有人可以指出文档或我缺少的东西吗?提前致谢
通过重构循环修复了错误:
SecurityContext old = ACL.impersonate(ACL.SYSTEM);
for (AbstractProject<?, ?> job : Jenkins.getInstance()
.getAllItems(AbstractProject.class)) {
// useful work on jobs
}
SecurityContextHolder.setContext(old);
与 :
ACL.impersonate(ACL.SYSTEM, new Runnable() {
@Override
public void run() {
for (AbstractProject<?, ?> job : Jenkins.getInstance()
.getAllItems(AbstractProject.class)) {
try {
processJob(job, remote, scm);
} catch (Exception jobProcessingException) {
LOGGER.severe("Something bad occured processing job "
+ job.getName());
jobProcessingException.printStackTrace();
}
}
}
});