функциональные строки после httpRequest не выполняются в groovy jenkins конвейере - PullRequest
0 голосов
/ 17 ноября 2018

Ни одна из строк после выполнения httpRequest не выполняется. Все остальное прекрасно работает в этой функции. Что здесь может пойти не так?

Однако сетевой запрос выполняется нормально, и я вижу ответ в консоли. httpRequest выполняется через плагин

Я даже пытался CURL - но строки после curl не выполняются.

@NonCPS
def doPRCommentBasedTesting() {
    def causes = currentBuild.rawBuild.getCauses()
    def commentURL
    for(cause in causes) {
        if (cause.class.toString().contains("GitHubPullRequestCommentCause")) {
            commentURL = cause.getCommentUrl()
            commentURL = commentURL.substring(commentURL.lastIndexOf("-") + 1)
            println "This job was caused by job " + commentURL

            def url1 = "https://<git_url>/api/v3/repos/<owner>/<repo>/issues/comments/" + commentURL

            def commentText = httpRequest authentication: '<auth_cred>', url: url1, consoleLogResponseBody: true

            println commentText
            println commentText.getClass()
            println "hello world, how are you doing today?"

        }
        else {
            println "Root cause : " + cause.toString()
        }
    }

    println "==============================="
    return 0
}

1 Ответ

0 голосов
/ 19 ноября 2018

Функция не cps не может делать паузу между ними, потому что она запускается на ходу.Вам нужно поместить сетевой вызов в другую функцию, которая не помечена как nonCPS, и тогда он будет работать.В общем случае блок nonCPS должен быть очень маленьким и ограничиваться кодом, который нельзя сериализовать

...