GitHub action that deals with stale issues in your project.
- find, comment and label the issue if it exceeds the selected
staleAfter
day limit - close the issue down after the
closeAfter
day limit is reached - customize the comment posted when the issue is stale or closed
- select label to be set for stale issues
-
ghToken
Required, GitHub token -
staleAfter
int, number of days to consider an issue to be stale, default:30
-
closeAfter
int, number of days after the issue should be closed (0 days means off, must be higher thanstaleAfter
), default:0
-
staleLabel
string, a label to be set to the stale issue, default:STALE
-
staleComment
string, a comment placed when marking issue as stale. See a guide on how to style this message. -
closeComment
string, a comment placed when closing issue. See a guide on how to style this message. -
showLogs
bool. Show logs with info like total number of issues found, stale issues, closed etc. default:true
name: Issue cleanup
on:
schedule:
- cron: '0 23 14 * *' # At 23:00, 14th day of each month
jobs:
triage_issues:
name: Issue triage
runs-on: ubuntu-latest
steps:
- name: Find old issues and mark them stale
uses: Krizzu/[email protected]
with:
ghToken: ${{ secrets.GITHUB_TOKEN }}
staleAfter: 30
closeAfter: 60
staleLabel: "STALE 📺"
staleComment: "This issue is %DAYS_OLD% days old, marking as stale! cc: @%AUTHOR%"
closeComment: "Issue last updated %DAYS_OLD% days ago! Closing down!"
showLogs: true
The comment is a template string with placeholders to use:
%AUTHOR%
- Issue creator%DAYS_OLD%
- How long (in days) the issue was last updated
Example:
with:
closeComment: "This issue is %DAYS_OLD% old, closing down! Notifying author: @%AUTHOR%"
To test action locally, create .env
file, with content from .env.example
.
Run dev
script to run.