【问题标题】:How to get the 'inProgress' items from Jenkins queue如何从 Jenkins 队列中获取 'inProgress' 项目
【发布时间】:2017-05-24 09:43:49
【问题描述】:

我正在开发一个插件,我需要知道一个工作是挂起还是正在进行,调试我看到有一个我似乎无法访问的 'inProgress' 列表来自java。我怎样才能访问它?

我发现唯一可能相关的方法是 jenkins.getQueue().isPending(); 但这不会返回此列表中的项目。

谢谢

【问题讨论】:

    标签: java jenkins plugins


    【解决方案1】:

    您可以通过执行此脚本来获取队列中的作业是否处于挂起状态的信息:

    Jenkins.instance.queue.items.each {
        println it.isPending()
    }
    

    它是用 Groovy 编写的,我从 Jenkins 脚本控制台执行。基本上getQueue() 返回一个你应该迭代的列表。

    【讨论】:

    • 谢谢,但是待处理的列表是空的(你可以在我发布的图片中看到这个,距离所选的位置只有几个位置),经过一些调试后,我看到工作到达那里然后离开一旦开始构建,这是我想要的信息,当工作获得/保持在这个“当前构建”状态时
    【解决方案2】:

    所以经过大量研究后,我发现这是一种不受支持的行为。 我最终解决的问题是执行器上的一个循环(使用计算机->getExecutors)并询问他们(使用getCurrentExecutable->getParent)他们的父任务是什么任务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-05
      • 2015-07-12
      • 2012-04-11
      • 2021-02-06
      相关资源
      最近更新 更多