【发布时间】:2017-05-24 09:43:49
【问题描述】:
我正在开发一个插件,我需要知道一个工作是挂起还是正在进行,调试我看到有一个我似乎无法访问的 'inProgress' 列表来自java。我怎样才能访问它?
我发现唯一可能相关的方法是 jenkins.getQueue().isPending(); 但这不会返回此列表中的项目。
谢谢
【问题讨论】:
我正在开发一个插件,我需要知道一个工作是挂起还是正在进行,调试我看到有一个我似乎无法访问的 'inProgress' 列表来自java。我怎样才能访问它?
我发现唯一可能相关的方法是 jenkins.getQueue().isPending(); 但这不会返回此列表中的项目。
谢谢
【问题讨论】:
您可以通过执行此脚本来获取队列中的作业是否处于挂起状态的信息:
Jenkins.instance.queue.items.each {
println it.isPending()
}
它是用 Groovy 编写的,我从 Jenkins 脚本控制台执行。基本上getQueue() 返回一个你应该迭代的列表。
【讨论】:
所以经过大量研究后,我发现这是一种不受支持的行为。 我最终解决的问题是执行器上的一个循环(使用计算机->getExecutors)并询问他们(使用getCurrentExecutable->getParent)他们的父任务是什么任务。
【讨论】: