openpanel/.github/workflows/auto-close-invalid-issues.yml
2024-11-08 10:26:14 +01:00

49 lines
1.5 KiB
YAML

name: Auto Close Invalid Issues
on:
schedule:
- cron: '0 0 * * *' # Runs daily at midnight (UTC)
workflow_dispatch: # Allows you to trigger the workflow manually if needed
jobs:
close_invalid_issues:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Close Stale Invalid Issues
uses: actions/github-script@v6
with:
script: |
const issues = await github.rest.issues.listForRepo({
owner: context.repo.owner,
repo: context.repo.repo,
labels: 'invalid',
state: 'open'
});
const oneDayAgo = new Date();
oneDayAgo.setHours(oneDayAgo.getHours() - 24);
for (const issue of issues.data) {
const issueCreationDate = new Date(issue.created_at);
if (issueCreationDate <= oneDayAgo) {
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issue.number,
body: 'This issue has been marked as invalid and will be closed after 24 hours. If you believe this is a mistake, please reopen or create a new issue.'
});
await github.rest.issues.update({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issue.number,
state: 'closed'
});
}
}