Skip to content

Commit

Permalink
Manage milestones
Browse files Browse the repository at this point in the history
  • Loading branch information
jbachorik committed Dec 18, 2023
1 parent 14b93e4 commit d37af84
Showing 1 changed file with 46 additions and 0 deletions.
46 changes: 46 additions & 0 deletions .github/workflows/manage_milestones.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Manage Milestone

on:
release:
types: [published]

jobs:
close-milestone:
runs-on: ubuntu-latest
steps:
- name: Close matching milestone
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
import requests
import os
repo = os.getenv('GITHUB_REPOSITORY')
token = os.getenv('GITHUB_TOKEN')
headers = {'Authorization': f'token {token}'}
# Get the name of the released version and strip the 'v_' prefix
release_name = '${{ github.event.release.tag_name }}'
milestone_name = release_name.lstrip('v_')
# Fetch milestones
milestones_url = f'https://api.github.com/repos/{repo}/milestones'
response = requests.get(milestones_url, headers=headers)
milestones = response.json()
# Find the matching milestone
for milestone in milestones:
if milestone['title'] == milestone_name:
# Close the milestone
milestone_number = milestone['number']
update_url = f'https://api.github.com/repos/{repo}/milestones/{milestone_number}'
data = {'state': 'closed'}
response = requests.patch(update_url, headers=headers, json=data)
if response.status_code == 200:
print(f"Milestone '{milestone_name}' closed successfully")
else:
print(f"Failed to close milestone '{milestone_name}'")
break
else:
print(f"No matching milestone found for release '{milestone_name}'")

0 comments on commit d37af84

Please sign in to comment.