mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-22 12:19:09 +00:00
feat(Jira Software Node): Migrate from soon deprecated endpoints to get issues (#14821)
This commit is contained in:
@@ -75,6 +75,33 @@ export async function jiraSoftwareCloudApiRequest(
|
||||
}
|
||||
}
|
||||
|
||||
export function handlePagination(
|
||||
body: any,
|
||||
query: IDataObject,
|
||||
paginationType: 'offset' | 'token',
|
||||
responseData?: any,
|
||||
): boolean {
|
||||
if (!responseData) {
|
||||
if (paginationType === 'offset') {
|
||||
query.startAt = 0;
|
||||
query.maxResults = 100;
|
||||
} else {
|
||||
body.maxResults = 100;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
if (paginationType === 'offset') {
|
||||
const nextStartAt = (responseData.startAt as number) + (responseData.maxResults as number);
|
||||
query.startAt = nextStartAt;
|
||||
return nextStartAt < responseData.total;
|
||||
} else {
|
||||
body.nextPageToken = responseData.nextPageToken as string;
|
||||
return !!responseData.nextPageToken;
|
||||
}
|
||||
}
|
||||
|
||||
export async function jiraSoftwareCloudApiRequestAllItems(
|
||||
this: IHookFunctions | IExecuteFunctions | ILoadOptionsFunctions,
|
||||
propertyName: string,
|
||||
@@ -82,29 +109,17 @@ export async function jiraSoftwareCloudApiRequestAllItems(
|
||||
method: IHttpRequestMethods,
|
||||
body: any = {},
|
||||
query: IDataObject = {},
|
||||
paginationType: 'offset' | 'token' = 'offset',
|
||||
): Promise<any> {
|
||||
const returnData: IDataObject[] = [];
|
||||
|
||||
let responseData;
|
||||
|
||||
query.startAt = 0;
|
||||
query.maxResults = 100;
|
||||
if (method !== 'GET') {
|
||||
body.startAt = 0;
|
||||
body.maxResults = 100;
|
||||
}
|
||||
|
||||
let hasNextPage = handlePagination(body, query, paginationType);
|
||||
do {
|
||||
responseData = await jiraSoftwareCloudApiRequest.call(this, endpoint, method, body, query);
|
||||
returnData.push.apply(returnData, responseData[propertyName] as IDataObject[]);
|
||||
query.startAt = (responseData.startAt as number) + (responseData.maxResults as number);
|
||||
if (method !== 'GET') {
|
||||
body.startAt = (responseData.startAt as number) + (responseData.maxResults as number);
|
||||
}
|
||||
} while (
|
||||
(responseData.startAt as number) + (responseData.maxResults as number) <
|
||||
responseData.total
|
||||
);
|
||||
hasNextPage = handlePagination(body, query, paginationType, responseData);
|
||||
} while (hasNextPage);
|
||||
|
||||
return returnData;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user