Я использую библиотеку с именем jira -nector от npmjs , чтобы обрабатывать вызовы к Jira, однако у меня возникают проблемы согласованности между ним и пользовательским интерфейсом Jira или Axios (т.е. выполняется вызов вручную),Я использую разъем Jira, так как управлять oAuth намного проще и чертовски легко читать.Все вызовы выполняются с одной и той же учетной записи, будь то обычная аутентификация или oAuth.
У меня есть 2 разных JQL-запроса, с которыми я тестировал с самого начала, оба подтверждены, работают и работают.Если я использую эти запросы в Jira или через остальные API (используя axios и базовую аутентификацию), я получаю соответствующие ответы.Если я использую эти запросы с Jira-Connector.search.search (), один возвращает неправильное количество ответов, другой возвращает с ошибкой «Совершенно в убыток», поскольку они в буквальном смысле совпадают с JQL-запросами.
Сами запросы довольно похожи, просто они смотрят на разные компоненты, один из которых является полным разработчиком, а другой содержит несколько заявок поддержки.
var jira = new JiraClient({
host: "test-jira.instance.foo",
oauth: { ... }
});
jira.search.search(
{
jql:
"(component in ('REDACTED') AND Sprint in openSprints() AND Sprint not in futureSprints())",
maxResults: 10
},
(error, response) => {
if (error) {
console.log("Jira Connector REDACTED Error");
console.log(error);
} else {
console.log("jira connector total REDACTED " + response.total);
}
}
);
jira.search.search(
{
jql:
'(component in ("API Platform") AND Sprint in openSprints() AND Sprint not in futureSprints())',
maxResults: 10
},
(error, response) => {
if (error) {
console.log("Jira Connector API Platoform Error");
console.log(error);
} else {
console.log("jira connector total API Platform " + response.total);
}
}
);
axios({
method: "post",
url: "https://test-jira.instance.foo/rest/api/2/search",
auth: { ... },
headers: {
"Content-Type": "application/json"
},
data: {
jql:
'(component in ("REDACTED") AND Sprint in openSprints() AND Sprint not in futureSprints())',
maxResults: 10,
fields: [ ... ]
}
})
.then(response => {
console.log("axios REDACTED total " + response.data.total);
})
.catch(err => {
console.log("Axios error on REDACTED");
console.log(err.response.data);
});
axios({
method: "post",
url: "https://test-jira.instance.foo/rest/api/2/search",
auth: { ... },
headers: {
"Content-Type": "application/json"
},
data: {
jql:
'(component in ("API Platform") AND Sprint in openSprints() AND Sprint not in futureSprints())',
maxResults: 10,
fields: [ ... ]
}
})
.then(response => {
console.log("axios API Platform total " + response.data.total);
})
.catch(err => {
console.log("Axios error on API Platform");
console.log(err.response.data);
});
Изменил один из компонентов на УДАЛЕНО, поскольку он слишком специфичендля нашей компании, в то время как API Platform настолько универсален, насколько это возможно.Во всяком случае, вышесказанное возвращает это
Jira Connector API Platoform Error
{ errorMessages: [ 'The value
\'API Platform\' does not exist for the field \'component\'.' ], errors: {} }
axios API Platform total 52
axios REDACTED total 73 jira
connector total REDACTED 60