Почему мой плагин Jenkins httpRequest не имеет содержимого? - PullRequest
0 голосов
/ 29 октября 2019

Я пытаюсь отправить 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 только возвращает статус. Я что-то не так делаю?

1 Ответ

1 голос
/ 30 октября 2019

Удалить аннотацию @NonCPS. Вы не можете вызывать шаги (httpRequest) в не-cps методах. Посмотрите документы на CPS - https://github.com/cloudbees/groovy-cps

...