为什么我的 Jenkins httpRequest 插件没有内容?

Why does my Jenkins httpRequest plugin have no content?

我正在尝试向代理发送 httpRequest,以确定它是否在线。我管道中的代码如下所示。

@NonCPS
def isNodeOffline() {
    def response = httpRequest url: "http://jenkinsServer/computer/NodeName/api/json"
    def json = new groovy.json.JsonSlurper().parseText(response.content)
    return json.offline
}

我在舞台上调用函数并打印结果。

def nodeOffline = isNodeOffline()
println("NodeOffline: "+nodeOffline)

但是,当我运行这段代码时,结果是

NodeOffline: Status: 200

出于某种原因,httpRequest 仅返回状态。我做错了什么吗?

去掉@NonCPS注解。您不能在非 cps 方法中调用步骤 (httpRequest)。查看 CPS 上的文档 - https://github.com/cloudbees/groovy-cps