首页 > 解决方案 > 如何解决 Groovy 代码中的无效 URL?

问题描述

我编写了一个 API 方法来创建 Bitbucket webhook:

def call (){

    script {

        CRUMB = "https://api.bitbucket.org/2.0/repositories/$NAMESPACE/$BB_REPO/hooks"
        DATA = "'{\n    \"description\": \"Webhook Jenkins\",\n    \"url\": \"$URL\",\n    \"active\": true,\n    \"verify\": false,\n    \"events\": [\n        \"$TRIGGER_EVENTS\"\n    ]\n}'"

        CONTENT = "\"Content-Type: application/json\""

        withCredentials([usernamePassword(credentialsId: 'bb_management', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
            final String response = sh(script: "curl --request POST -v -u $USERNAME:$PASSWORD -H $CONTENT -d $DATA $CRUMB ")
        } 
    }       
 }

但是,URL 变量:

\"url\": \"$URL\",\n

不工作,当触发 Jenkins 作业时我收到此错误。

{"type": "error", "error": {"fields": {"url": ["The specified URL is invalid."]}, "message": "Bad request"}}

可能是语法错误,请问我该如何解决这个错误?

标签: javaapijenkinsjenkins-groovycurly-braces

解决方案


推荐阅读