Плагин Jenkins HttpRequest возвращает ошибку 500 - PullRequest
0 голосов
/ 21 апреля 2020

Я пишу сценарий groovy, у которого есть метод, который вызывается из моей стадии конвейера Jenkins. Эта функция вызывает API, который имеет Basi c Auth Header и тело сообщения.

Этот фрагмент кода возвращает мне 500 на Jenkins, но работает корректно на Postman.

def callAPI(String SN_CREDENTIALS, String description, String name ) {

   String auth = SN_CREDENTIALS.bytes.encodeBase64().toString()
   def body_data = """{
                         "start_date": "${utc_startdate}",
                         "end_date": "${utc_enddate}",
                         "description": "${Description}",
                      }
                    """
  def url = 'https://example.com/api/sn_chg_rest/change/standard/' + id
  def response = httpRequest url: url, acceptType: 'APPLICATION_JSON',
    contentType: 'APPLICATION_JSON',
    httpMode: 'POST',
    requestBody: body_data,
    customHeaders: [[name: 'Authorization', value: "Basic ${auth}"]]

 }

где SN_CREDENTIALS - учетные данные, сохраненные в Jenkins.

Jenkinsfile

environment {
    SN_CREDENTIALS = credentials('SNCreds')
  }

stage{
    steps{
        script{
              buildTicketScript.callAPI("${SN_CREDENTIALS}",description,name)
        }
    }
 }

Код ответа: HTTP / 1.1 500 Внутренняя ошибка сервера

Что-то не так с куском кода?

1 Ответ

0 голосов
/ 21 апреля 2020

Я нашел проблему. Возникла проблема с моим body_data, одно из значений имело «новую строку», и оно не было правильно проанализировано. Убрал новую строку и она отлично работает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...