关于触发工作流的事件
工作流触发器是导致工作流运行的事件。 有关如何使用工作流触发器的详细信息,请参阅 触发工作流程。
某些事件具有多种活动类型。 对于这些事件,你可以指定将触发工作流运行的活动类型。 有关每个活动类型的含义的详细信息,请参阅 Webhook 事件和有效负载。
注意
并非所有 Webhook 事件都会触发工作流。
像 GitHub Actions 工作流一样,agentic workflows 也可以由仓库事件和计划安排触发。 有关示例,请参阅 创建GitHub代理工作流。
branch_protection_rule
| Web 挂钩事件有效负载 | 活动类型 | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
branch_protection_ | - created- edited- deleted | 默认分支上的最新提交 | 默认分支 |
注意
*
多个活动类型会触发此事件。 有关每个活动类型的信息,请参阅 Webhook 事件和有效负载。 默认情况下,所有活动类型都会触发在此事件上运行的工作流。 你可以使用 types 关键词将工作流运行限制为特定活动类型。 有关详细信息,请参阅“GitHub Actions 的工作流语法”。
- 仅当工作流文件存在于默认分支上时,此事件才会触发工作流运行。
在工作流存储库中的分支保护规则发生更改时运行工作流。 有关分支保护规则的详细信息,请参阅“关于受保护分支”。 有关分支保护规则 API 的信息,请参阅 GraphQL API 文档中的 Branches 或 分支的 REST API 终结点及其设置。
例如,可以在分支保护规则状态为 created 或 deleted 时运行工作流:
on:
branch_protection_rule:
types: [created, deleted]
check_run
| Web 挂钩事件有效负载 | 活动类型 | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
check_run | - created- rerequested- completed- requested_action | 默认分支上的最新提交 | 默认分支 |
注意
*
多个活动类型会触发此事件。 有关每个活动类型的信息,请参阅 Webhook 事件和有效负载。 默认情况下,所有活动类型都会触发在此事件上运行的工作流。 你可以使用 types 关键词将工作流运行限制为特定活动类型。 有关详细信息,请参阅“GitHub Actions 的工作流语法”。
- 仅当工作流文件存在于默认分支上时,此事件才会触发工作流运行。
- 为了防止递归工作流,如果检查运行的检查套件是由 GitHub Actions 创建的,或者检查套件的头 SHA 与 GitHub Actions 相关联,则此事件不会触发工作流。
在发生与检查运行相关的活动时运行工作流。 检查运行是检查套件中的单个测试。 如需相关信息,请参阅 使用 REST API 与检查交互。 有关检查运行 API 的信息,请参阅 GraphQL API 文档中的 检查或 检查运行的 REST API 终结点。
例如,可以在检查运行状态为 rerequested 或 completed 时运行工作流。
on:
check_run:
types: [rerequested, completed]
check_suite
| Web 挂钩事件有效负载 | 活动类型 | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
check_suite | - completed | 默认分支上的最新提交 | 默认分支 |
注意
*
多个活动类型会触发此事件。 有关每个活动类型的信息,请参阅 Webhook 事件和有效负载。 尽管仅支持 completed 活动类型,但如果将来添加更多活动类型,则指定活动类型将确保工作流保持特定。 默认情况下,所有活动类型都会触发在此事件上运行的工作流。 你可以使用 types 关键词将工作流运行限制为特定活动类型。 有关详细信息,请参阅“GitHub Actions 的工作流语法”。
- 仅当工作流文件存在于默认分支上时,此事件才会触发工作流运行。
- 为了防止递归工作流,如果检查套件是由 GitHub Actions 创建的,或者检查套件的头 SHA 与 GitHub Actions 关联,则此事件不会触发工作流。
在发生检查套件活动时运行工作流。 检查套件是为特定提交创建的检查运行的集合。 检查套件汇总了套件中检查运行的状态和结论。 如需相关信息,请参阅 使用 REST API 与检查交互。 有关检查套件 API 的信息,请参阅 GraphQL API 文档中的 检查 或 REST API 端点用于检查套件。
例如,可以在检查运行状态为