Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: close issues with no user response #1804

Merged
merged 12 commits into from
Feb 6, 2024
25 changes: 25 additions & 0 deletions .github/workflows/daily.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: "Daily Maintenance"
on:
schedule:
- cron: "0 0 * * *"

jobs:
close-issues:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- uses: actions/stale@v5
with:
days-before-issue-stale: 21
days-before-issue-close: 7
stale-issue-label: "stale"
stale-issue-message: "This issue requires additional information in order to be resolved. However, there hasn't been any response within the last 3 weeks.\n If this issue still persists, please provide the requested information. This issue will be automatically closed in one week if there is no response."
close-issue-message: "This issue was closed because it has been inactive for 4 weeks, and still requires information in order to be resolved."
days-before-pr-stale: -1
days-before-pr-close: -1
remove-stale-when-updated: true
any-of-labels: "waiting for user response"
labels-to-remove-when-unstale: "waiting for user response,stale"
repo-token: ${{ secrets.GITHUB_TOKEN }}
40 changes: 40 additions & 0 deletions .github/workflows/issue-comment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: "Issue Comment"
on:
issue_comment:
types: [ created ]

jobs:
remove-waiting-for-user-reponse:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- name: Check labels of issue
id: check_labels
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const { data: issue } = await github.rest.issues.get({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number
});
const isStale = issue.labels.some(label => label.name === 'stale');
const waitingResponse = issue.labels.some(label => label.name === 'waiting for user response');
return !isStale && waitingResponse;
# only remove the label if the issue is not stale, this prevents that this
# action removes the label when the automatic reminder message gets sent.
- name: Remove `waiting for user response` label if exists
if: steps.check_labels.outputs.result == 'true'
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
await github.rest.issues.removeLabel({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
name: ["waiting for user response"]
});
Loading