groovy jenkins管道中未执行httpRequest之后的功能行

时间:2018-11-17 05:55:42

标签: jenkins groovy jenkins-pipeline

执行httpRequest之后的所有行均未执行。其他所有功能都可以正常使用。这里可能出什么问题了?

但是,网络请求进展顺利,我能够在控制台中看到响应。 httpRequest是通过plugin

创建的

我什至尝试过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 :(得分:1)

非cps函数无法在两者之间暂停,因为它可以随时运行。您需要将网络呼叫放入另一个未标记为nonCPS的功能中,然后它才能工作。通常,nonCPS块应该非常小,并且限于无法序列化的代码