我正在尝试使用 Jenkins 管道将服务部署到渲染平台。部署需要向渲染 API 发出带有 JSON 负载的 POST 请求。
但是,我在发送 JSON 有效负载时不断遇到错误。我怀疑这可能与curl命令中有效负载的格式化或传递方式有关。
这是我的 Jenkins 管道阶段:
` stage('部署到渲染') { 步骤{ withCredentials([string(credentialsId: 'render-credentials', 变量: 'RENDER_API_KEY')]) { 脚本 { def 有效负载 = """ { "serviceId": "${SERVICE_ID}", “清除缓存”:true } """.trim()
sh """
curl -v -X POST \
-H "Authorization: Bearer \$RENDER_API_KEY" \
-H "Content-Type: application/json" \
-d '${payload}' \
https://api.render.com/v1/services/${SERVICE_ID}/deploys
"""
}
}
}
} `
这是我得到的错误:
我使用三引号构建 JSON 有效负载并使用 -d 传递它的方法是否正确?
太多引号可能会导致错误,只需将有效负载内容写入文件,然后将文件传递给curl,然后手动检查从您的电脑发送的相同有效负载是否返回相同的错误,这可能是服务器端问题。