mirror of
https://github.com/stefanpejcic/openpanel
synced 2025-06-26 18:28:26 +00:00
49 lines
1.5 KiB
YAML
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'
|
|
});
|
|
}
|
|
}
|
|
|