Skip to content

Close milestone

Close milestone #14

name: Close milestone
on:
workflow_dispatch:
inputs:
milestone:
description: "Milestone"
default: "1.2.3"
permissions:
issues: write
jobs:
close-milestone:
runs-on: ubuntu-latest
steps:
- name: Close milestone
uses: actions/github-script@v7
env:
MILESTONE_NAME: ${{github.event.inputs.milestone}}
with:
user-agent: actions/github-script for ${{github.repository}}
script: |
const milestoneToClose = process.env.MILESTONE_NAME;
response = await github.rest.issues.listMilestones({
owner: context.repo.owner,
repo: context.repo.repo,
state: 'open',
per_page: 100,
});
milestones = response.data;
core.info(JSON.stringify(milestones));
for (let milestone of milestones) {
if (milestone.title != milestoneToClose) {
continue;
}
core.info(`Closing milestone '${milestoneToClose}' #${milestone.number}...`);
await github.rest.issues.updateMilestone({
owner: context.repo.owner,
repo: context.repo.repo,
milestone_number: milestone.number,
state: 'closed',
});
return;
}
core.warning(`Could not find any milestone associated with '${milestoneToClose}', the milestone for this release will not be closed.`);