一定期間更新がないissue/PRに対してstaleラベルを付与し、さらに一定期間放置されたものを自動closeするComposite Actionです。
- uses: buffett-code-dev/github-actions/github/manage-stale-items@main
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}| 名前 | 必須 | デフォルト | 説明 |
|---|---|---|---|
repo-token |
${{ github.token }} |
GitHubトークン | |
days-before-issue-stale |
60 |
issueをstaleとマークするまでの日数 | |
days-before-issue-close |
-1 |
stale後にissueをcloseするまでの日数 (-1でcloseしない) |
|
stale-issue-label |
stale |
issueに付与するラベル名 | |
days-before-pr-stale |
14 |
PRをstaleとマークするまでの日数 (-1で無効) |
|
days-before-pr-close |
14 |
stale後にPRをcloseするまでの日数 (-1でcloseしない) |
|
stale-pr-label |
stale |
PRに付与するラベル名 |
name: Manage stale items
on:
schedule:
- cron: '0 0 * * 1' # 毎週月曜日に実行
jobs:
stale:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- uses: buffett-code-dev/github-actions/github/manage-stale-items@main- uses: buffett-code-dev/github-actions/github/manage-stale-items@main
with:
days-before-issue-stale: 90 # 90日間更新なしでstale
stale-issue-label: '古いissue' # カスタムラベル- uses: buffett-code-dev/github-actions/github/manage-stale-items@main
with:
days-before-issue-stale: 60
days-before-issue-close: 7 # stale後7日でclose- uses: buffett-code-dev/github-actions/github/manage-stale-items@main
with:
days-before-pr-stale: -1 # PRは対象外name: Manage stale items
on:
schedule:
- cron: '0 0 * * 1'
workflow_dispatch: # 手動実行を許可
jobs:
stale:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- uses: buffett-code-dev/github-actions/github/manage-stale-items@main- 指定した日数以上更新がないissue/PRに対して、ラベルを付与します
- staleとマークされた後、さらに指定日数が経過するとcloseされます (設定されている場合)
- staleメッセージは日本語で投稿されます:
- Issue: 「このissueは{日数}日以上放置されています。」
- PR: 「このPRは{日数}日以上放置されています。」
- デフォルトではissueの自動closeは無効です (
days-before-issue-close: -1) - デフォルトではPRはstale後14日でcloseされます (
days-before-pr-close: 14) - staleラベルが付いたissue/PRに新しいコメントやアクティビティがあると、ラベルは自動的に削除されます
- リポジトリに指定したラベル (
staleなど) が存在すること (存在しない場合は自動作成されます) - ワークフローが以下の権限を持っていること:
issues: write(issueにラベル付与・close するため)pull-requests: write(PRにラベル付与・close するため、PR対象時)