@roadiehq/backstage-plugin-jira
Version:
48 lines (45 loc) • 1.28 kB
JavaScript
import { JiraProductStrategy } from '../base.esm.js';
class JiraDataCenterStrategy extends JiraProductStrategy {
async pagedIssuesRequest(apiUrl, jql, maxResults) {
let issues = [];
let startAt;
do {
const data = {
jql,
maxResults: maxResults ?? -1,
fields: [
"key",
"issuetype",
"summary",
"status",
"assignee",
"priority",
"parent",
"created",
"updated",
"project"
],
startAt
};
const request = await this.options.fetchApi.fetch(`${apiUrl}search`, {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify(data)
});
if (!request.ok) {
throw new Error(
`failed to fetch data, status ${request.status}: ${request.statusText}`
);
}
const response = await request.json();
const lastElement = response.startAt + response.maxResults;
startAt = response.total > lastElement ? lastElement : void 0;
issues = issues.concat(response.issues);
} while (startAt !== void 0);
return issues;
}
}
export { JiraDataCenterStrategy };
//# sourceMappingURL=index.esm.js.map