JIRA API после POST возвращает { errorMessages: [ 'Внутренняя ошибка сервера' ], ошибки: {} }

Я пытаюсь создать новую проблему, используя JIRA REST API, и всякий раз, когда я пытаюсь, я получаю следующую общую ошибку:{ errorMessages: [ 'Internal server error' ], errors: {} }

Я могу успешно получить из API, и учетные данные, с которыми я соединяюсь, имеют полный доступ администратора к JIRA (так что это не проблема аутентификации), но я получаю эту ошибку каждый раз с POST. Ниже приведен фрагмент данных JSON, которые я отправляю. Я что-то упускаю из виду?

Ниже мой код JavaScript. Обратите внимание, я использую jira-connector с нпм. (Реальный домен заменен mydomain для этого примера кода)

const JiraClient = require('jira-connector');

const dotenv = require('dotenv').config();

function createNewIssue(fields) {
const encoded = process.env.JIRA_ENCODED_PW;

const jira = new JiraClient({
    host: 'mydomain.atlassian.net',
    basic_auth: {
        base64: encoded
    }
});

return new Promise((resolve, reject) => {
    jira.issue.createIssue(fields, (error, issue) => {
        if (error) {
            console.log(error);
            reject(error);
        } else {
            console.log(issue);
            resolve(encoded);
        }
    });
})
}

Ниже приведен JSON, который передается в fields в JS выше. Заметка customfield_17300 это радио-кнопка, и customfield_17300 это поле с несколькими вариантами выбора В обоих случаях я попытался использовать "id", а также фактическое значение "name" строки. Все идентификаторы ниже были взяты прямо из API GET той же самой проблемы:

{
"fields": {
    "project": {
        "id": "13400"
    },
    "summary": "TEST API TICKET -  01",

    "issuetype": {
  "id": "11701"
},

    "customfield_14804": { "id": "13716" },

    "customfield_14607": "Hardware",

    "customfield_17300": [
  {
    "id": "18322"
  }
] ,

    "customfield_16301": "Customer PO",

    "customfield_14800": "LA, California",

    "customfield_16302": "FEDEX 234982347g"
}
}

1 ответ

Решение

вздох Я понял это... другие посты, в которых говорилось, что эта загадочная ошибка была вызвана неправильным форматом JSON, были правильными.

На своем маршруте я прошел fields как приходит из req.body.fields который на самом деле нырнул в fields значения вместо того, чтобы передать это прямо. Это сделало так, что когда JSON был отправлен в JIRA fields внешняя обертка отсутствовала. Я изменил свой маршрут, чтобы пройти req.body вместо req.body.fields и все было хорошо.

... это было весело 4 часа...

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