GitHub action that deals with stale issues in your project.
- find, comment and label the issue if it exceeds the selected
staleAfterday limit - close the issue down after the
closeAfterday limit is reached - customize the comment posted when the issue is stale or closed
- select label to be set for stale issues
-
ghTokenRequired, GitHub token -
staleAfterint, number of days to consider an issue to be stale, default:30 -
closeAfterint, number of days after the issue should be closed (0 days means off, must be higher thanstaleAfter), default:0 -
staleLabelstring, a label to be set to the stale issue, default:STALE -
staleCommentstring, a comment placed when marking issue as stale. See a guide on how to style this message. -
closeCommentstring, a comment placed when closing issue. See a guide on how to style this message. -
showLogsbool. 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: trueThe 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.