Ошибка при выполнении 'curl' внутри jenkins groovy

Я пытаюсь использовать Groovy и curl для создания заявки на изменение ServiceNow, используя их REST API. Я получаю ошибку ниже каждый раз, когда я запускаю конвейер Jenkins

{"error": {"message": "Исключительная ситуация при запросе на чтение", "detail": "Невозможно декодировать: java.io.StringReader@90e4d8"},"status":"fail"}

Что я здесь не так делаю? Дженкинс версия 2.150.2

    {
    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 {

}

1 ответ

Данные имеют определенные переменные, объявленные с использованием. в имени переменной. Groovy не поддерживает замену переменных, объявленных в двойных кавычках "". Заменить все имена переменных, имеющие. в них с одинарными кавычками.

Надеюсь, это поможет

Другие вопросы по тегам