From 99427cd89ac829e9f27c28e57b6535e935a44c37 Mon Sep 17 00:00:00 2001 From: Grzegorz Dembowski Date: Fri, 21 Nov 2025 10:50:03 +0100 Subject: [PATCH 1/2] Improve GitHub milestone retrieval - Enhanced the `getAllGithubMilestones` method to paginate through milestones, ensuring it can fetch more than 100 entries. --- src/githubHelper.ts | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/src/githubHelper.ts b/src/githubHelper.ts index 4b33cd7..530a22e 100644 --- a/src/githubHelper.ts +++ b/src/githubHelper.ts @@ -147,15 +147,31 @@ export class GithubHelper { */ async getAllGithubMilestones(): Promise { try { + let allMilestones: SimpleMilestone[] = []; + let page = 1; + const perPage = 100; + + while (true) { await utils.sleep(this.delayInMs); - // get an array of GitHub milestones for the new repo - let result = await this.githubApi.issues.listMilestones({ + const result = await this.githubApi.issues.listMilestones({ owner: this.githubOwner, repo: this.githubRepo, state: 'all', - }); + per_page: perPage, + page, + }); + + if (result.data.length === 0) break; + + allMilestones = allMilestones.concat( + result.data.map(x => ({ number: x.number, title: x.title })), + ); + + if (result.data.length < perPage) break; + page++; + } - return result.data.map(x => ({ number: x.number, title: x.title })); + return allMilestones; } catch (err) { console.error('Could not access all GitHub milestones'); console.error(err); From 2078e297c3f595525244d06ba1a360e95919dde9 Mon Sep 17 00:00:00 2001 From: Grzegorz Dembowski Date: Sat, 22 Nov 2025 22:50:59 +0100 Subject: [PATCH 2/2] Refactor indentation --- src/githubHelper.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/githubHelper.ts b/src/githubHelper.ts index 530a22e..4053e2d 100644 --- a/src/githubHelper.ts +++ b/src/githubHelper.ts @@ -152,11 +152,11 @@ export class GithubHelper { const perPage = 100; while (true) { - await utils.sleep(this.delayInMs); + await utils.sleep(this.delayInMs); const result = await this.githubApi.issues.listMilestones({ - owner: this.githubOwner, - repo: this.githubRepo, - state: 'all', + owner: this.githubOwner, + repo: this.githubRepo, + state: 'all', per_page: perPage, page, });