Skip to content

Commit f0747f1

Browse files
committed
Use GraphQL API to list matching milestones to avoid pagination issues
(cherry picked from commit 5631ae5)
1 parent af5e3bd commit f0747f1

File tree

1 file changed

+18
-5
lines changed

1 file changed

+18
-5
lines changed

.github/workflows/release.yml

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -119,17 +119,30 @@ jobs:
119119
with:
120120
result-encoding: string
121121
script: |
122-
const openMilestones = await github.rest.issues.listMilestones({
122+
const query = `
123+
query ($owner: String!, $repo: String!, $title: String!) {
124+
repository(owner: $owner, name: $repo) {
125+
milestones(first: 100, query: $title) {
126+
nodes {
127+
title
128+
number
129+
openIssueCount
130+
}
131+
}
132+
}
133+
}
134+
`;
135+
const {repository} = await github.graphql(query, {
123136
owner: context.repo.owner,
124137
repo: context.repo.repo,
125-
state: 'open'
138+
title: "${{ inputs.releaseVersion }}"
126139
});
127-
const [milestone] = openMilestones.data.filter(x => x.title === "${{ inputs.releaseVersion }}")
140+
const [milestone] = repository.milestones.nodes.filter(it => it.title === "${{ inputs.releaseVersion }}")
128141
if (!milestone) {
129142
throw new Error('Milestone "${{ inputs.releaseVersion }}" not found');
130143
}
131-
if (milestone.open_issues > 0) {
132-
throw new Error(`Milestone "${{ inputs.releaseVersion }}" has ${milestone.open_issues} open issue(s)`);
144+
if (milestone.openIssueCount > 0) {
145+
throw new Error(`Milestone "${{ inputs.releaseVersion }}" has ${milestone.openIssueCount} open issue(s)`);
133146
}
134147
const requestBody = {
135148
owner: context.repo.owner,

0 commit comments

Comments
 (0)