This repository has been archived by the owner on May 6, 2024. It is now read-only.
Close Old Issues #108
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Close Old Issues | |
on: | |
schedule: | |
- cron: "0 0 * * *" | |
jobs: | |
close-issues: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v2 | |
- name: Close Old Issues | |
run: | | |
# Fetch all open issues in the repository | |
open_issues=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ | |
"https://api.github.com/repos/${{ github.repository }}/issues?state=open" \ | |
| jq -r '.[] | .number') | |
# Loop through each open issue | |
for issue in $open_issues; do | |
# Get the last updated timestamp of the issue | |
last_updated=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ | |
"https://api.github.com/repos/${{ github.repository }}/issues/$issue" \ | |
| jq -r '.updated_at') | |
# Calculate the number of days since the last update | |
days_since_update=$(( ( $(date +%s) - $(date -d "$last_updated" +%s) ) / 86400 )) | |
# Close the issue if it's older than 45 days | |
if [ $days_since_update -gt 45 ]; then | |
curl -s -X PATCH -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ | |
-H "Accept: application/vnd.github.v3+json" \ | |
-d '{"state":"closed"}' \ | |
"https://api.github.com/repos/${{ github.repository }}/issues/$issue" | |
fi | |
done |