关闭不活跃的议题

关闭不活跃的议题

你可以使用 GitHub Actions 对在一段时间内处于非活跃状态的议题进行评论或将其关闭。

简介

本教程演示如何使用 actions/stale 操作来评论和关闭在一段时间内处于非活动状态的议题。例如,如果某个议题30天内未活动,你可以添加评论以促使参与者采取行动。然后,如果14天后没有其他活动发生,你可以关闭此议题。

在本教程中,你将首先创建一个使用 actions/stale 操作的工作流文件,然后自定义工作流以适应你的需要。

创建工作流程

  1. 选择要应用此项目管理工作流程的仓库。你可以使用有写入权限的现有仓库,或者创建新仓库。有关详细信息,请参阅创建新仓库。
  2. 在仓库中创建名为 .github/workflows/YOUR_WORKFLOW.yml 的文件,将 YOUR_WORKFLOW 替换为你选择的名称。这是一个工作流程文件。有关在 GitHub 上创建新文件的详细信息,请参阅创建新文件。
  3. 将以下 YAML 内容复制到工作流程文件中。
name: Close inactive issues
on:
  schedule:
    - cron: "30 1 * * *"

jobs:
  close-issues:
    runs-on: ubuntu-latest
    permissions:
      issues: write
      pull-requests: write
    steps:
      - uses: actions/stale@v10
        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 }}
  1. 自定义工作流程文件中的参数。
  • 更改 on.schedule 的值,指示希望何时运行此工作流。上例将在每天1:30 UTC运行。有关计划工作流的详细信息,请参阅触发工作流的事件。
  • 更改 days-before-issue-stale 的值,指定议题多少天没有活动后,由 actions/stale 操作标记。如果不希望标记议题,将此值设为 -1。
  • 更改 days-before-issue-close 的值,指定关闭议题前没有活动的天数。如果不希望关闭议题,将此值设为 -1。
  • 更改 stale-issue-label 的值,指定用于标记在 days-before-issue-stale 所指定时间内处于非活动状态的议题的标签。
  • 更改 stale-issue-message 的值,指定添加到被标记议题中的评论。
  • 更改 close-issue-message 的值,指定添加到被关闭议题中的评论。
  1. 将工作流程文件提交到仓库的默认分支。有关详细信息,请参阅创建新文件。

预期结果

根据 schedule 参数,例如每天1:30 UTC,工作流会找到在指定时间段内处于非活动状态的议题,并添加指定的评论和标签。此外,如果在指定时间段内没有其他活动,工作流会关闭以前标记的议题。

注意:schedule 事件在 GitHub Actions 工作流运行期间负载过高时可能延迟。高负载时间包括每小时的开始时间。如果负载足够高,某些排队作业可能被丢弃。为降低延迟的可能性,请将工作流程安排在不同时间运行。

你可以查看工作流程运行历史记录,了解工作流程如何定期运行。有关详细信息,请参阅查看工作流程运行历史记录。

为避免超过速率限制,此工作流程每次只标记和/或关闭30个议题。可以使用 operations-per-run 设置配置。有关详细信息,请参阅 actions/stale 操作文档。

后续步骤

  • 要详细了解 actions/stale 的其他操作,例如关闭不活跃的拉取请求、忽略带有某些标签或里程碑的议题,或者只检查具有某些标签的议题,请参阅 actions/stale 操作文档。
  • 在 GitHub 上搜索使用此操作的工作流示例。

来源与许可

来源:GitHub Docs:关闭不活跃的议题。© 2026 GitHub Inc.。文档使用 CC BY 4.0;本文整理官方中文措辞,保留工作流源码。原文提示部分内容可能由机器或AI翻译。许可按GitHub文档仓库提供。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容