为什么我的Jenkins httpRequest插件没有内容?
我正在尝试向代理发送一个httpRequest,以确定它是否在线。我的管道中的代码如下所示为什么我的Jenkins httpRequest插件没有内容?,jenkins,jenkins-pipeline,httprequest,Jenkins,Jenkins Pipeline,Httprequest,我正在尝试向代理发送一个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
@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:状态:200
出于某种原因,httpRequest只返回状态。我做错什么了吗?去掉@NonCPS注释。不能在非cps方法中调用步骤(httpRequest)。看看CPS上的文档-我仍然不明白为什么它会起作用,但是删除@NonCPS确实有效。文档中的某个地方说非CPS方法不能调用管道步骤(如httpRequest)。不幸的是,当您这样做时,它不会抛出异常,它就是不起作用。