如何检查哈德森是否忙碌?

aks*_*hay 6 java hudson jenkins

如何检查哈德森是否忙碌?意思是我想检查它当前是否正在执行任何构建.

目前正在使用以下内容:

    if(lastBuild == lastCompletedBuild){
        // hudson is free
    }
    else{
      //hudson is busy
   }
Run Code Online (Sandbox Code Playgroud)

这是正确的逻辑吗?如果机器在上次构建更新后重新启动/崩溃并且lastCompletedbuild不是,那该怎么办?

是否有暴露的API可以直接使用?

hig*_*ted 8

如果要查看构建队列中当前有哪些项目,可以向其发出请求http://your.hudson.server/hudson/queue/api/[xml|json].


Rev*_*nzo 1

看看Hudson 的 API

具体来说:您可以添加/api/[xml|json]到 Hudson 中的任何路径以获取该页面的机器可读数据。例如hudsonserver:8080/api/xml将返回作业列表及其当前状态。

然而,真正的问题是这段代码在哪里执行?上面有lastBuildlastCompletedBuild,但是这些变量是在哪里设置的呢?