ci(response): use pagination for timeline events

GitHub paginates responses with many results, which needs to be taken
into account as the number of events in an issue can be large.
This commit is contained in:
dundargoc 2023-05-07 16:46:24 +02:00 committed by GitHub
parent 416f03010e
commit 1cbfed03c2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -19,13 +19,18 @@ module.exports = async ({ github, context }) => {
const numbers = issues.data.map((e) => e.number);
for (const number of numbers) {
const timeline = await github.rest.issues.listEventsForTimeline({
owner: owner,
repo: repo,
issue_number: number,
});
const data = timeline.data.filter(labeledEvent);
const latest_response_label = data[data.length - 1];
const events = await github.paginate(
github.rest.issues.listEventsForTimeline,
{
owner: owner,
repo: repo,
issue_number: number,
},
(response) => response.data.filter(labeledEvent)
);
const latest_response_label = events[events.length - 1];
const created_at = new Date(latest_response_label.created_at);
const now = new Date();
const diff = now - created_at;