Close issues #29
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 issues | |
on: | |
schedule: | |
- cron: '0 1 * * *' | |
workflow_dispatch: | |
permissions: | |
contents: read | |
# Ensure scripts are run with pipefail. See: | |
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#exit-codes-and-error-action-preference | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
close-issues: | |
runs-on: ubuntu-latest | |
if: github.repository == 'microsoft/TypeScript' | |
permissions: | |
contents: read # Apparently required to create issues | |
issues: write | |
steps: | |
- name: Close issues | |
env: | |
GH_TOKEN: ${{ secrets.TS_BOT_GITHUB_TOKEN }} | |
run: | | |
DATE=$(date --date='2 days ago' --iso-8601) | |
close_issues() { | |
echo "Closing issues marked as '$1'." | |
for issue in $(gh issue list --limit 100 --label "$1" --repo ${{ github.repository }} --state open --search "updated:<$DATE" --json number --jq '.[].number'); do | |
echo "Closing https://github.com/${{ github.repository }}/issues/$issue" | |
gh issue close $issue --repo ${{ github.repository }} --reason "not planned" --comment "This issue has been marked as \"$1\" and has seen no recent activity. It has been automatically closed for house-keeping purposes." | |
done | |
} | |
close_issues "Duplicate" | |
close_issues "Unactionable" | |
close_issues "Not a Defect" | |
close_issues "External" | |
close_issues "Working as Intended" | |
close_issues "Question" | |
close_issues "Out of Scope" | |
close_issues "Declined" | |
close_issues "Won't Fix" | |
close_issues "Too Complex" |