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 часа...