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-01 08:22:28 +02:00
parent 416f03010e
commit b5a8b6b16d

View File

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