Skip to main content
ドキュメントには� �繁に更新が� えられ、その都度公開されています。本ページの翻訳はま� 未完成な部分があることをご了承く� さい。最新の情� �については、英語のドキュメンテーションをご参照く� さい。本ページの翻訳に問題がある� �合はこちらまでご連絡く� さい。

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2022-06-03. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてく� さい。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してく� さい。

非アクティブな Issue をクローズする

GitHub Actions を使用して、一定期間、非アクティブであった Issue にコメントしたり、Issue をクローズしたりすることができます。

ノート: GitHubホストランナーは、現在GitHub Enterprise Serverでサポートされていません。 GitHubパブリックロードマップで、計画されている将来のサポートに関する詳しい情� �を見ることができます。

はじめに

このチュートリアルでは、actions/stale アクションを使用して、一定期間非アクティブになっている Issue にコメントしてクローズする方法を説明します。 たとえば、Issueが 30 日間非アクティブであった� �合にコメントして、参� 者にアクションを実行するように促すことができます。 その後、14 日以上経っても追� のアクティビティが発生しない� �合は、Issue をクローズできます。

チュートリアルでは、actions/stale アクションを使用するワークフローファイルを作成します。 次に、ニーズに合わせてワークフローをカスタマイズします。

ワークフローの作成

  1. このプロジェクト管理ワークフローを適用したいリポジトリを選択してく� さい。 書き込みアクセス権を持つ既存のリポジトリを利用することも、新しいリポジトリを作成することもできます。 リポジトリの作成に関する詳細は「新しいリポジトリの作成」を参照してく� さい。

  2. リポジトリに、.github/workflows/YOUR_WORKFLOW.ymlというファイルをYOUR_WORKFLOWの部分を選択した名前で置き換えて作成してく� さい。 これがワークフローファイルです。 GitHub上での新しいファイルの作成に関する詳しい情� �については「新しいファイルの作成」を参照してく� さい。

  3. 次の YAML コンテンツをワークフローファイルにコピーします。

    YAML
    name: Close inactive issues
    on:
      schedule:
        - cron: "30 1 * * *"
    
    jobs:
      close-issues:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/stale@v4
            with:
              days-before-issue-stale: 30
              days-before-issue-close: 14
              stale-issue-label: "stale"
              stale-issue-message: "This issue is stale because it has been open for 30 days with no activity."
              close-issue-message: "This issue was closed because it has been inactive for 14 days since being marked as stale."
              days-before-pr-stale: -1
              days-before-pr-close: -1
              repo-token: ${{ secrets.GITHUB_TOKEN }}
  4. ワークフローファイルのパラメータをカスタマイズします。

    • on.schedule の値を変更して、このワークフローの実行日時を指定します。 上記の例では、ワークフローは毎日 1:30 UTC に実行されます。 スケジュールされたワークフローの詳細については、「スケジュールされたイベント」を参照してく� さい。
    • days-before-issue-stale の値を、actions/stale アクションが Issue にラベルを付ける前にアクティビティがない日数に変更します。 このアクションで Issue にラベルを付けない� �合は、この値を -1 に設定します。
    • days-before-issue-close の値を、actions/stale アクションが Issue がクローズされる前にアクティビティがない日数に変更します。 このアクションで Issue をクローズしない� �合は、この値を -1 に設定します。
    • stale-issue-label の値を、days-before-issue-stale で指定された期間非アクティブであった Issue に適用するラベルに変更します。
    • stale-issue-message の値を、actions/stale アクションでラベル付けされた Issue に追� するコメントに変更します。
    • close-issue-message の値を、actions/stale アクションでクローズされた Issue に追� するコメントに変更します。
  5. ワークフローファイルを、リポジトリのデフォルトブランチにコミットしてく� さい。 詳細は「新しいファイルを作成する」を参照してく� さい。

期待される結果

schedule パラメータ(たとえば、毎日 1:30 UTC)に基づいて、ワークフローは指定された期間非アクティブであった Issue を検出し、指定されたコメントとラベルを追� します。 さらに、指定された期間に追� のアクティビティが発生しなかった� �合、ワークフローは以前にラベル付けされた Issue をすべてクローズします。

ノート: scheduleイベントは、GitHub Actionsのワークフローの実行による高� 荷の間、遅延させられることがあります。 高� 荷の時間帯には、毎時の開始時点が含まれます。 遅延の可能性を減らすために、� 時間の中の別の時間帯に実行されるようワークフローをスケジューリングしてく� さい。

ワークフローの実行履歴を表示して、このワークフローが定期的に実行されているかどうかを確認できます。 詳しい情� �については、「ワークフロー実行の履歴を表示する」を参照してく� さい。

This workflow will only label and/or close 30 issues at a time in order to avoid exceeding a rate limit. これは、operations-per-run の設定で構成できます。 詳しい情� �については、actions/stale アクションのドキュメントを参照してく� さい。

次のステップ

  • 非アクティブなプルリクエストをクローズする、特定のラベルやマイルストーンの Issue を無視する、特定のラベルの Issue のみを確認するなど、actions/stale アクションで実行できるその他の操作について詳しくは、actions/stale アクションのドキュメントをご覧く� さい。
  • このアクションを使用したワークフローの例については、GitHub を検索 してく� さい。