注: GitHub 托管的运行器目前在 GitHub Enterprise Server 上不受支持。 您可以在 GitHub 公共路线图 上查看有关未来支持计划的更多信息。
简介
本教程演示了如何使用 actions/stale
操作来评论和关闭已经停用一段时间的议题。 例如,如果某个议题 30 天内未活动,您可以添� 评论以促使参与者采取行动。 然后,如果 14 天后没有其他活动发生,您可以关闭此议题。
在教程中,您将先创建一个使用 actions/stale
操作的工作流程文件。 然后,您将自定义工作流以适应您的需要。
创建工作流程
-
选择要应用此项目管理工作流程的仓库。 您可以使用您有写入权限的现有仓库,或者创建一个新的仓库。 关于创建仓库的更多信息,请参阅“创建新仓库”。
-
在您的仓库中,创建一个名为
.github/workflows/YOUR_WORKFLOW.yml
的文件,将YOUR_WORKFLOW
替换为您选择的名称。 这是一个工作流程文件。 有关在 GitHub 上创建新文件的更多信息,请参阅“创建新文件”。 -
将以下 YAML 内容复制到工作流程文件中。
YAML name: Close inactive issues on: schedule: - cron: "30 1 * * *" jobs: close-issues: runs-on: ubuntu-latest steps: - uses: actions/stale@v3 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 }}
-
自定义工工作流程文件中的参数:
- 更改
on.schedule
的值以指示您希望此工作流程何时运行。 在上面的示例中,工作流将于每天 1:30 UTC 运行。 有关计划工作流程的更多信息,请参阅“计划的活动”。 - 将
days-before-issue-stale
的值更改为在actions/stale
操作� �记议题之前� 活动的天数。 如果您不希望此操作� �记议题,将此值设置为-1
。 - 将
days-before-issue-close
的值更改为在actions/stale
操作关闭议题之前� 活动的天数。 如果您不希望此操作关闭议题,将此值设置为-1
。 - 将
stale-issue-label
的值更改为您想要应用到days-before-issue-stale
指定的时间内未活动的议题的� �签。 - 将
stale-issue-message
的值更改为您想要添� 到actions/stale
操作� �记的议题的评论。 - 将
close-issue-message
的值更改为您想要添� 到actions/stale
操作关闭的议题的评论。
- 更改
-
将工作流程文件提交到仓库的默认分支。 更多信息请参阅“创建新文件”。
预期结果
� �据 schedule
参数(例如,每天 1:30 UTC),您的工作流程将发现在指定时间段内处于非活动状态的议题,并将添� 指定的评论和� �签。 此外,如果在指定时间段内未发生其他活动,您的工作流程将关闭任何以前� �记的议题。
注意: schedule
事件在 GitHub Actions 工作流程运行期间负载过高时可能会延迟。 高负载时间包括每小时的开始时间。 为了降低延迟的可能性,将您的工作流程安排在不同时间运行。
您可以查看工作流程运行的历史记录,以便定期查看此工作流程运行。 更多信息请参阅“查看工作流程运行历史记录”。
为了避免超过速率限制,此工作流程将一次只� �记和/或关闭 30 个议题。 您可以使用 operations-per-run
设置配置此项。 更多信息请参阅 actions/stale
操作文档。
后续步骤
- 要详细了解可以使用
actions/stale
操作执行的其他事务,如关闭非活动的拉取请求、忽略包含某些� �签或里程碑的议题,或只检查包含特定� �签的议题,请参阅actions/stale
操作文档。 - 搜索 GitHub 以查看使用此操作的工作流程示例。