注:GitHub Enterprise Server 2.22 上的 GitHub Actions 支持是有限的公测版。 要查看外部存储要求并请求访问测试版,请参阅“启用 GitHub Actions 和配置存储”。
注: GitHub 托管的运行器目前在 GitHub Enterprise Server 上不受支持。 您可以在 GitHub 公共路线图 上查看有关未来支持计划的更多信息。
配置工作流程事件
您可以使用 on 工作流程语法配置工作流程为一个或多个事件运行。 更多信息请参阅“GitHub Actions 的工作流程语法”。
使用单一事件的示例
# Triggered when code is pushed to any branch in a repository
on: push
使用事件列表的示例
# Triggers the workflow on push or pull request events
on: [push, pull_request]
使用具有活动类型或配置的多个事件示例
如果您需要为一个事件指定活动类型或配置,必须分别配置每个事件。 您必须为所有事件附加冒号 (`:</0),包括没有配置的事件。
on:
# Trigger the workflow on push or pull request,
# but only for the main branch
push:
branches:
- main
pull_request:
branches:
- main
# Also trigger on page_build, as well as release created events
page_build:
release:
types: # This configuration does not affect the page_build event above
- created
`
注意:无法使用 GITHUB_TOKEN 触发新的工作流程。 更多信息请参阅“使用个人访问令牌触发新的工作流程”。
以下步骤将触发工作流程运行:
-
仓库中发生事件,生成的事件具有关联的提交 SHA 和 Git ref。
-
在仓库的 .github/workflow 目录中关联的提交 SHA 或 Git ref 处搜索工作流程文件。 工作流程文件必须存在于该提交 SHA 或 Git ref 中才会被考虑。
例如,如果事件发生在特定仓库分支上,则工作流程文件必须存在于该分支的仓库中。
-
检查该提交 SHA 和 Git ref 的工作流程文件, 并且对其 on: 值与触发事件匹配的任何工作流程触发新的工作流程。
工作流程在触发事件的相同提交 SHA 和 Git ref 上的仓库代码中运行。 当工作流程运行时,GitHub Enterprise 会在运行器环境中设置 GITHUB_SHA(提交 SHA)和 GITHUB_REF(Git 引用)环境变量。 更多信息请参阅“使用环境变量”。
安排的事件
schedule 事件允许您在计划的时间触发工作流程。
计划
Web 挂钩事件有效负载 活动类型 GITHUB_SHAGITHUB_REFn/a n/a 默认分支上的最新提交 默认分支
您可以使用 POSIX cron 语法安排工作流程在特定的 UTC 时间运行。 预定的工作流程在默认或基础分支的最新提交上运行。 您可以运行预定工作流程的最短间隔是每 5 分钟一次。
此示例每隔 15 分钟触发工作流程:
on:
schedule:
# * is a special character in YAML so you have to quote this string
- cron: '*/15 * * * *'
计划任务语法有五个字段,中间用空格分隔,每个字段代表一个时间单位。
┌───────────── minute (0 - 59)
│ ┌───────────── hour (0 - 23)
│ │ ┌───────────── day of the month (1 - 31)
│ │ │ ┌───────────── month (1 - 12 or JAN-DEC)
│ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT)
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
* * * * *
您可在这五个字段中使用以下运算符:
运算符 描述 示例 * 任意值 * * * * * 在每天的每分钟运行。, 值列表分隔符 2,10 4,5 * * * 在每天第 4 和第 5 小时的第 2 和第 10 分钟运行。- 值的范围 0 4-6 * * * 在第 4、5、6 小时的第 0 分钟运行。/ 步骤值 20/15 * * * * 从第 20 分钟到第 59 分钟每隔 15 分钟运行(第 20、35 和 50 分钟)。
注: GitHub Actions 不支持非标准语法 @yearly、@monthly、@weekly、@daily、@hourly 和 @reboot。
您可以使用 crontab guru 帮助生成计划任务语法并确认它在何时运行。 为帮助您开始,我们还提供了一系列 crontab guru 示例。
手动事件
您可以手动触发工作流程运行。 要触发仓库中的特定工作流程,请使用 workflow_dispatch 事件。 要触发仓库中的多个工作流程并创建自定义事件和事件类型,请使用 repository_dispatch 事件。
workflow_dispatch
Web 挂钩事件有效负载 活动类型 GITHUB_SHAGITHUB_REFworkflow_dispatch n/a GITHUB_REF 分支上的最新提交收到了分发的分支
您可以直接在工作流程中配置事件的自定义输入属性、默认输入值和必要输入。 当工作流程运行时,您可以访问 github.event.inputs 上下文中的输入值。 更多信息请参阅“GitHub Actions 的上下文和表达式语法”。
您可以使用 GitHub Enterprise API 以及从 GitHub Enterprise 手动触发工作流程运行。 更多信息请参阅“手动配置工作流程。
当您在 GitHub 上触发事件时,可以在 GitHub 上直接提供 ref 和任何 inputs。 更多信息请参阅“对操作使用输入和输出”。
要使用 REST API 触发自定义 workflow_dispatch web 挂钩事件,您必须发送 POST 请求到 GitHub API 端点,并提供 ref 和任何必要的 inputs。 更多信息请参阅“创建工作流程调度事件”REST API 端点。
示例工作流程配置
此示例定义了 name 和 home 输入,并使用 github.event.inputs.name 和 github.event.inputs.home 上下文打印。 如果未提供 name ,则打印默认值“Mona the Octocat”。
name: Manually triggered workflow
on:
workflow_dispatch:
inputs:
name:
description: 'Person to greet'
required: true
default: 'Mona the Octocat'
home:
description: 'location'
required: false
jobs:
say_hello:
runs-on: ubuntu-latest
steps:
- run: |
echo "Hello ${{ github.event.inputs.name }}!"
echo "- in ${{ github.event.inputs.home }}!"
repository_dispatch
Web 挂钩事件有效负载 活动类型 GITHUB_SHAGITHUB_REFrepository_dispatch n/a GITHUB_REF 分支上的最新提交收到了分发的分支
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
当您想要触发在 GitHub Enterprise 外发生的活动的工作流程时,可以使用 GitHub API 触发名为 repository_dispatch 的 web 挂钩事件。 更多信息请参阅“创建仓库调度事件”。
要触发自定义 repository_dispatch web 挂钩事件,必须将 POST 请求发送到 GitHub Enterprise API 端点,并提供 event_type 名称来描述活动类型。 要触发工作流程运行,还必须配置工作流程使用 repository_dispatch 事件。
示例
默认情况下,所有 event_types 都会触发工作流程运行。 您可以限制工作流程在 repository_dispatch web 挂钩有效负载中发送特定 event_type 值时运行。 创建仓库调度事件时定义在 repository_dispatch 有效负载中发送的事件类型。
on:
repository_dispatch:
types: [opened, deleted]
Web 挂钩事件
您可以将工作流程配置为在 GitHub 上创建 web 挂钩事件时运行。 某些事件有多种触发事件的活动类型。 如果有多种活动类型触发事件,则可以指定哪些活动类型将触发工作流程运行。 更多信息请参阅“web 挂钩”。
check_run
在发生 check_run 事件的任何时间运行您的工作流程。 多个活动类型会触发此事件。有关 REST API 的信息,请参阅“检查运行”。
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
Web 挂钩事件有效负载 活动类型 GITHUB_SHAGITHUB_REFcheck_run- created
- rerequested
- completed
- requested_action 默认分支上的最新提交 默认分支
默认情况下,所有活动类型都会触发一个工作流程。 您可以使用 types(类型) 关键词将工作流程限制为针对特定活动类型。 更多信息请参阅“GitHub Actions 的工作流程语法”。
例如,您可以在检查运行为 rerequested 或 requested_action 时运行工作流程。
on:
check_run:
types: [rerequested, requested_action]
check_suite
在发生 check_suite 事件的任何时间运行您的工作流程。 多个活动类型会触发此事件。有关 REST API 的信息,请参阅“检查套件”。
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
注意:为防止递归工作流程,如果检查套件是由 GitHub Actions 创建的,则此事件不会触发工作流程。
Web 挂钩事件有效负载 活动类型 GITHUB_SHAGITHUB_REFcheck_suite- completed
- requested
- rerequested
默认分支上的最新提交 默认分支
默认情况下,所有活动类型都会触发一个工作流程。 您可以使用 types(类型) 关键词将工作流程限制为针对特定活动类型。 更多信息请参阅“GitHub Actions 的工作流程语法”。
例如,您可以在检查套件为 rerequested 或 completed 时运行工作流程。
on:
check_suite:
types: [rerequested, completed]
create
每当有人创建分支或标记(触发 create 事件)时运行您的工作流程。 有关 REST API 的信息,请参阅“创建引用”。
Web 挂钩事件有效负载 活动类型 GITHUB_SHAGITHUB_REFcreaten/a 创建的分支或标记上的最新提交 创建的分支或标记
例如,您可以在发生 create 事件时运行工作流程。
on:
create
delete
每当有人删除分支或标记(触发 delete 事件)时运行您的工作流程。 有关 REST API 的信息,请参阅“删除引用”。
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
Web 挂钩事件有效负载 活动类型 GITHUB_SHAGITHUB_REFdeleten/a 默认分支上的最新提交 默认分支
例如,您可以在发生 delete 事件时运行工作流程。
on:
delete
deployment
每当有人创建部署(触发 deployment 事件)时运行您的工作流程。 使用提交 SHA 创建的部署可能没有 Git 引用。 有关 REST API 的信息,请参阅“部署”。
Web 挂钩事件有效负载 活动类型 GITHUB_SHAGITHUB_REFdeploymentn/a 要部署的提交 要部署的分支或标记(提交时为空)
例如,您可以在发生 deployment 事件时运行工作流程。
on:
deployment
deployment_status
每当第三方提供部署状态(触发 deployment_status 事件)时运行您的工作流程。 使用提交 SHA 创建的部署可能没有 Git 引用。 有关 REST API 的信息,请参阅“创建部署状态”。
Web 挂钩事件有效负载 活动类型 GITHUB_SHAGITHUB_REFdeployment_statusn/a 要部署的提交 要部署的分支或标记(提交时为空)
例如,您可以在发生 deployment_status 事件时运行工作流程。
on:
deployment_status
复刻
每当有人复刻仓库(触发 fork 事件)时运行您的工作流程。 有关 REST API 的信息,请参阅“创建复刻”。
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
Web 挂钩事件有效负载 活动类型 GITHUB_SHAGITHUB_REF复刻n/a 默认分支上的最新提交 默认分支
例如,您可以在发生 fork 事件时运行工作流程。
on:
fork
gollum
当有人创建或更新 Wiki 页面时(触发 gollum 事件)运行您的工作流程。
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
Web 挂钩事件有效负载 活动类型 GITHUB_SHAGITHUB_REFgollumn/a 默认分支上的最新提交 默认分支
例如,您可以在发生 gollum 事件时运行工作流程。
on:
gollum
issue_comment
在发生 issue_comment 事件的任何时间运行您的工作流程。 多个活动类型会触发此事件。有关 REST API 的信息,请参阅“议题评论”。
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
Web 挂钩事件有效负载 活动类型 GITHUB_SHAGITHUB_REFissue_comment- created
- edited
- deleted
默认分支上的最新提交 默认分支
默认情况下,所有活动类型都会触发一个工作流程。 您可以使用 types(类型) 关键词将工作流程限制为针对特定活动类型。 更多信息请参阅“GitHub Actions 的工作流程语法”。
例如,您可以在议题评论为 created 或 deleted 时运行工作流程。
on:
issue_comment:
types: [created, deleted]
issues
在发生 issues 事件的任何时间运行您的工作流程。 多个活动类型会触发此事件。有关 REST API 的信息,请参阅“议题”。
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
Web 挂钩事件有效负载 活动类型 GITHUB_SHAGITHUB_REFissues- opened
- edited
- deleted
- transferred
- pinned
- unpinned
- closed
- reopened
- assigned
- unassigned
- labeled
- unlabeled
- locked
- unlocked
- milestoned
- demilestoned 默认分支上的最新提交 默认分支
默认情况下,所有活动类型都会触发一个工作流程。 您可以使用 types(类型) 关键词将工作流程限制为针对特定活动类型。 更多信息请参阅“GitHub Actions 的工作流程语法”。
例如,您可以在议题为 opened、edited 或 milestoned 时运行工作流程。
on:
issues:
types: [opened, edited, milestoned]
标签
在发生 label 事件的任何时间运行您的工作流程。 多个活动类型会触发此事件。有关 REST API 的信息,请参阅“标签”。
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
Web 挂钩事件有效负载 活动类型 GITHUB_SHAGITHUB_REF标签- created
- edited
- deleted
默认分支上的最新提交 默认分支
默认情况下,所有活动类型都会触发一个工作流程。 您可以使用 types(类型) 关键词将工作流程限制为针对特定活动类型。 更多信息请参阅“GitHub Actions 的工作流程语法”。
例如,您可以在标签为 created 或 deleted 时运行工作流程。
on:
label:
types: [created, deleted]
里程碑
在发生 milestone 事件的任何时间运行您的工作流程。 多个活动类型会触发此事件。有关 REST API 的信息,请参阅“里程碑”。
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
Web 挂钩事件有效负载 活动类型 GITHUB_SHAGITHUB_REF里程碑- created
- closed
- opened
- edited
- deleted
默认分支上的最新提交 默认分支
默认情况下,所有活动类型都会触发一个工作流程。 您可以使用 types(类型) 关键词将工作流程限制为针对特定活动类型。 更多信息请参阅“GitHub Actions 的工作流程语法”。
例如,您可以在里程碑为 opened 或 deleted 时运行工作流程。
on:
milestone:
types: [opened, deleted]
page_build
在有人推送到启用 GitHub Enterprise Pages 的分支(触发 page_build 事件)的任何时间运行您的工作流程。 有关 REST API 的信息,请参阅“页面”。
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
Web 挂钩事件有效负载 活动类型 GITHUB_SHAGITHUB_REFpage_buildn/a 默认分支上的最新提交 n/a
例如,您可以在发生 page_build 事件时运行工作流程。
on:
page_build
project
在发生 project 事件的任何时间运行您的工作流程。 多个活动类型会触发此事件。有关 REST API 的信息,请参阅“项目”。
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
Web 挂钩事件有效负载 活动类型 GITHUB_SHAGITHUB_REFproject- created
- updated
- closed
- reopened
- edited
- deleted
默认分支上的最新提交 默认分支
默认情况下,所有活动类型都会触发一个工作流程。 您可以使用 types(类型) 关键词将工作流程限制为针对特定活动类型。 更多信息请参阅“GitHub Actions 的工作流程语法”。
例如,您可以在项目为 created 或 deleted 时运行工作流程。
on:
project:
types: [created, deleted]
project_card
在发生 project_card 事件的任何时间运行您的工作流程。 多个活动类型会触发此事件。有关 REST API 的信息,请参阅“项目卡”。
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
Web 挂钩事件有效负载 活动类型 GITHUB_SHAGITHUB_REFproject_card- created
- moved
- converted to an issue
- edited
- deleted 默认分支上的最新提交 默认分支
默认情况下,所有活动类型都会触发一个工作流程。 您可以使用 types(类型) 关键词将工作流程限制为针对特定活动类型。 更多信息请参阅“GitHub Actions 的工作流程语法”。
例如,您可以在项目卡为 opened 或 deleted 时运行工作流程。
on:
project_card:
types: [opened, deleted]
project_column
在发生 project_column 事件的任何时间运行您的工作流程。 多个活动类型会触发此事件。有关 REST API 的信息,请参阅“项目列”。
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
Web 挂钩事件有效负载 活动类型 GITHUB_SHAGITHUB_REFproject_column- created
- updated
- moved
- deleted 默认分支上的最新提交 默认分支
默认情况下,所有活动类型都会触发一个工作流程。 您可以使用 types(类型) 关键词将工作流程限制为针对特定活动类型。 更多信息请参阅“GitHub Actions 的工作流程语法”。
例如,您可以在项目列为 created 或 deleted 时运行工作流程。
on:
project_column:
types: [created, deleted]
public
每当有人将私有仓库公开(触发 public 事件)时运行您的工作流程。 有关 REST API 的信息,请参阅“编辑仓库”。
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
Web 挂钩事件有效负载 活动类型 GITHUB_SHAGITHUB_REFpublicn/a 默认分支上的最新提交 默认分支
例如,您可以在发生 public 事件时运行工作流程。
on:
public
pull_request
在发生 pull_request 事件的任何时间运行您的工作流程。 多个活动类型会触发此事件。有关 REST API 的信息,请参阅“拉取请求”。
注默认情况下,工作流程仅在 pull_request 的活动类型为 opened、synchronize 或 reopened 时运行。 要让更多活动类型触发工作流程,请使用 types 关键词。
Web 挂钩事件有效负载 活动类型 GITHUB_SHAGITHUB_REFpull_request- assigned
- unassigned
- labeled
- unlabeled
- opened
- edited
- closed
- reopened
- synchronize
- ready_for_review
- locked
- unlocked
- review_requested
- review_request_removed GITHUB_REF 分支上的最新合并提交PR 合并分支 refs/pull/:prNumber/merge
您可以使用 types 关键词扩展或限制默认活动类型。 更多信息请参阅“GitHub Actions 的工作流程语法”。
例如,您可以在拉取请求为 assigned、opened、synchronize 或 reopened 时运行工作流程。
on:
pull_request:
types: [assigned, opened, synchronize, reopened]
复刻的仓库的拉取请求事件
注:如果从复刻仓库打开拉取请求,工作流程不会在私有基础仓库上运行。
当创建一个从复刻仓库到基础仓库的拉取请求时,GitHub 发送 pull_request 事件到基础仓库,而在复刻仓库上不发生拉取请求事件。
默认情况下,工作流程不在复刻仓库上运行。 您必须在复刻仓库的 Actions(操作)选项卡中启用 GitHub 操作。
对复刻的仓库中 GITHUB_TOKEN 的权限为只读。 更多信息请参阅“使用 GITHUB_TOKEN 验证身份”。
pull_request_review
在发生 pull_request_review 事件的任何时间运行您的工作流程。 多个活动类型会触发此事件。有关 REST API 的信息,请参阅“拉取请求审查”。
Web 挂钩事件有效负载 活动类型 GITHUB_SHAGITHUB_REFpull_request_review- submitted
- edited
- dismissed GITHUB_REF 分支上的最新合并提交PR 合并分支 refs/pull/:prNumber/merge
默认情况下,所有活动类型都会触发一个工作流程。 您可以使用 types(类型) 关键词将工作流程限制为针对特定活动类型。 更多信息请参阅“GitHub Actions 的工作流程语法”。
例如,您可以在拉取请求审查为 edited 或 dismissed 时运行工作流程。
on:
pull_request_review:
types: [edited, dismissed]
复刻的仓库的拉取请求事件
注:如果从复刻仓库打开拉取请求,工作流程不会在私有基础仓库上运行。
当创建一个从复刻仓库到基础仓库的拉取请求时,GitHub 发送 pull_request 事件到基础仓库,而在复刻仓库上不发生拉取请求事件。
默认情况下,工作流程不在复刻仓库上运行。 您必须在复刻仓库的 Actions(操作)选项卡中启用 GitHub 操作。
对复刻的仓库中 GITHUB_TOKEN 的权限为只读。 更多信息请参阅“使用 GITHUB_TOKEN 验证身份”。
pull_request_review_comment
每当拉取请求统一差异的评论被修改(触发 pull_request_review_comment 事件)时运行您的工作流程。 多个活动类型会触发此事件。 有关 REST API 的信息,请参阅“审查评论”。
Web 挂钩事件有效负载 活动类型 GITHUB_SHAGITHUB_REFpull_request_review_comment- created
- edited
- deleted GITHUB_REF 分支上的最新合并提交PR 合并分支 refs/pull/:prNumber/merge
默认情况下,所有活动类型都会触发一个工作流程。 您可以使用 types(类型) 关键词将工作流程限制为针对特定活动类型。 更多信息请参阅“GitHub Actions 的工作流程语法”。
例如,您可以在拉取请求审查评论为 created 或 deleted 时运行工作流程。
on:
pull_request_review_comment:
types: [created, deleted]
复刻的仓库的拉取请求事件
注:如果从复刻仓库打开拉取请求,工作流程不会在私有基础仓库上运行。
当创建一个从复刻仓库到基础仓库的拉取请求时,GitHub 发送 pull_request 事件到基础仓库,而在复刻仓库上不发生拉取请求事件。
默认情况下,工作流程不在复刻仓库上运行。 您必须在复刻仓库的 Actions(操作)选项卡中启用 GitHub 操作。
对复刻的仓库中 GITHUB_TOKEN 的权限为只读。 更多信息请参阅“使用 GITHUB_TOKEN 验证身份”。
pull_request_target
此事件类似于 pull_request,只不过它在拉取请求的基础仓库的上下文中运行,而不是在合并提交中运行。 这意味着您可以更安全地将您的密码提供给由拉取请求触发的工作流程,因为只有在基础仓库的提交中定义的工作流程才会运行。 例如,此事件允许您根据事件有效负载的内容创建工作流程来标识和评论拉取请求。
Web 挂钩事件有效负载 活动类型 GITHUB_SHAGITHUB_REFpull_request- assigned
- unassigned
- labeled
- unlabeled
- opened
- edited
- closed
- reopened
- synchronize
- ready_for_review
- locked
- unlocked
- review_requested
- review_request_removed PR 基分支上的最后一次提交 PR 基础分支
默认情况下,工作流程仅在 pull_request_target 的活动类型为 opened、synchronize 或 reopened 时运行。 要让更多活动类型触发工作流程,请使用 types 关键词。 更多信息请参阅“GitHub Actions 的工作流程语法”。
例如,您可以在拉取请求为 assigned、opened、synchronize 或 reopened 时运行工作流程。
on: pull_request_target
types: [assigned, opened, synchronize, reopened]
推送
注:适用于 GitHub Actions 的 web 挂钩有效负载在 commit 对象中不包括 added、removed 和 modified 属性。 您可以使用 REST API 检索完整的提交对象。 更多信息请参阅“获取单个提交”。
有人向仓库分支推送(触发 push 事件)时运行您的工作流程。
Web 挂钩事件有效负载 活动类型 GITHUB_SHAGITHUB_REF推送n/a 推送的提交,除非删除分支(当它是默认分支时) 更新的引用
例如,您可以在发生 push 事件时运行工作流程。
on:
push
registry_package
只要软件包为 published or updated,即运行工作流程。 更多信息请参阅“使用 GitHub Packages 管理包”。
Web 挂钩事件有效负载 活动类型 GITHUB_SHAGITHUB_REFregistry_package- published
- updated Commit of the published package 已发布软件包的分支或标签
默认情况下,所有活动类型都会触发一个工作流程。 您可以使用 types(类型) 关键词将工作流程限制为针对特定活动类型。 更多信息请参阅“GitHub Actions 的工作流程语法”。
例如,您可以在软件包为 published 时运行工作流程。
on:
registry_package:
types: [published]
发行版
注意:对草稿发行版不触发 release 事件。
在发生 release 事件的任何时间运行您的工作流程。 多个活动类型会触发此事件。有关 REST API 的信息,请参阅“发行版”。
Web 挂钩事件有效负载 活动类型 GITHUB_SHAGITHUB_REF发行版- published
- unpublished
- created
- edited
- deleted
- prereleased
- released 标记的发行版中的最新提交 发行版标记
默认情况下,所有活动类型都会触发一个工作流程。 您可以使用 types(类型) 关键词将工作流程限制为针对特定活动类型。 更多信息请参阅“GitHub Actions 的工作流程语法”。
例如,您可以在版本发布为 published 时运行工作流程。
on:
release:
types: [published]
状态
在 Git 提交的状态发生变化(触发 status 事件)的任何时间运行您的工作流程。 有关 REST API 的信息,请参阅“状态”。
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
Web 挂钩事件有效负载 活动类型 GITHUB_SHAGITHUB_REF状态n/a 默认分支上的最新提交 n/a
例如,您可以在发生 status 事件时运行工作流程。
on:
status
查看
在发生 watch 事件的任何时间运行您的工作流程。 多个活动类型会触发此事件。有关 REST API 的信息,请参阅“星标”。
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
Web 挂钩事件有效负载 活动类型 GITHUB_SHAGITHUB_REF查看- started 默认分支上的最新提交 默认分支
默认情况下,所有活动类型都会触发一个工作流程。 您可以使用 types(类型) 关键词将工作流程限制为针对特定活动类型。 更多信息请参阅“GitHub Actions 的工作流程语法”。
例如,您可以在某人为仓库加星标时(即触发关注事件的 started 活动类型)运行工作流程。
on:
watch:
types: [started]
workflow_run
当请求或完成工作流程运行时,将发生此事件,并允许您基于另一个工作流程的完成结果执行工作流程。 例如,如果 pull_request 工作流程生成构件,您可以创建一个使用 workflow_run 来分析结果的新工作流程,并向原始拉取请求添加注释。
由 workflow_run 事件启动的工作流程能够访问原始工作流程所使用的密钥和写入令牌。
如果需要从此事件中筛选分支,可以使用 branches 或 branches-ignore。
在此示例中,工作流程配置为在单独的“运行测试”工作流程完成后运行。
on:
workflow_run:
workflows: ["Run Tests"]
branches: [main]
types:
- completed
- requested
使用个人访问令牌触发新工作流程
使用仓库的 GITHUB_TOKEN 代表 GitHub Actions 应用程序执行任务时,GITHUB_TOKEN 触发的事件不会创建新的工作流程运行。 这可以防止意外创建递归工作流程运行。 例如,如果工作流程运行使用仓库的 GITHUB_TOKEN 推送代码,则即使仓库包含配置为在 push 事件发生时运行的工作流程,新工作流程也不会运行。 更多信息请参阅“使用 GITHUB_TOKEN 验证身份”。
如果要从工作流程运行触发工作流程,您可以使用个人访问令牌触发事件。 您需要创建个人访问令牌并将其存储为密码。 为了最大限度地降低 GitHub Actions 使用成本,请确保不要创建递归或意外的工作流程。 更多信息请参阅“创建和存储加密密码”。