首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在jenkins groovy中执行'curl‘时出错

在jenkins groovy中执行'curl‘时出错
EN

Stack Overflow用户
提问于 2019-02-14 23:50:55
回答 1查看 353关注 0票数 0

我正在尝试使用Groovy和curl来使用他们的REST API来创建一个ServiceNow变更票据。每次运行Jenkins管道时,我都会收到以下错误

{“错误”:{“消息”:“读取请求异常”,“详细信息”:“无法解码: java.io.StringReader@90e4d8"},”状态“:”失败“}

我在这里做错了什么?Jenkins版本2.150.2

代码语言:javascript
复制
    {
    node(){
        stage ('Create Change Request') {
            echo("Creating Change Request")

            sh(script: """curl  ${SERVICENOW_URL}/table/change_request \
              --request POST \
              --header 'Accept:application/json' \
              --header 'Content-Type:application/json' \
              --data '{"requested_by": "${params.requested_by}",
                        "u_verifier":"${params.u_verifier}",
                        "assigned_to":"${params.assigned_to}",
                        "reason":"${params.reason}",
                        "type":"${params.type}",
                        "start_date":"${params.start_date}",
                        "end_date":"${params.end_date}",
                        "change_plan":"${params.change_plan}",
                        "short_description":"${SHORT_DESCRIPTION}",
                        "description":"${DESCRIPTION}",
                        "backout_plan":"${BACKOUT_PLAN}",
                        "u_verification_plan":"${U_VERIFICATION_PLAN}",
                        "u_department_subsidiary":"${U_DEPARTMENT_SUBSIDIARY}",
                        "u_tested":"${U_TESTED}",
                        "u_have_verification_plan":"${U_HAVE_VERIFICATION_PLAN}",
                        "u_have_implementation_plan":"${U_HAVE_IMPLEMENTATION_PLAN}",
                        "u_have_backout_plan":"${U_HAVE_BACKOUT_PLAN}",
                        "assignment_group":"${U_ASSIGNMENT_GROUP}",
                        "category":"${CATEGORY}",
                        "cmdb_ci":"${CMDB_CI}",
                        "u_approval_group":"${U_APPROVAL_GROUP}",
                        "approval":"requested",
                        "state":"${_STATE}"
                        }' \
              --user 'xxxx':'password' > CREATE_CHG_REQUEST_OUTPUT
            """)
        }

        stage ('Parsing Change Result') {
            def REQUEST_OUTPUT = ""
            REQUEST_OUTPUT = readFile ('CREATE_CHG_REQUEST_OUTPUT').trim()
            //var jsonStr = JSON.stringify(REQUEST_OUTPUT);

            echo "REQUEST_OUTPUT:"
            echo REQUEST_OUTPUT

            def jsonSlurper = new JsonSlurper()
            def object = jsonSlurper.parseText(REQUEST_OUTPUT)

            NEW_CHANGE_NUMBER = object.result.number
            NEW_SYS_ID = object.result.sys_id

            echo("New Change Number is : " + NEW_CHANGE_NUMBER )
            echo("New sys_id for Change Number : " + NEW_SYS_ID )
        }

    }
} catch(e) {
    echo e.message
} finally {

}
EN

回答 1

Stack Overflow用户

发布于 2019-02-15 00:20:18

该数据具有使用声明的某些变量。在变量名中。Groovy不支持替换双引号"“中声明的变量。替换所有具有的变量名。用单引号'‘表示。

希望如此,这会有所帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54694275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档