如何远程触发 GitHub Action
通常,我们需要在 GitHub 上进行一些操作,才能触发 GitHub Action。本篇将介绍一种通过 API 远程调用触发 GitHub Action 的方法。
1. 常见的几种触发 GitHub Action 的方式
下面是一个 GitHub Action 的示例:
|
|
在 on 关键字下,定义的就是触发 Workflow 执行的事件。下面常用的几种 GitHub Action 事件:
workflow_dispatch
, 手动触发
在 inputs 中可以添加交互参数(可选)。
|
|
- push, 推送代码
|
|
- issues, issues 生命周期
|
|
issue_comment
, issue 评论
|
|
- project, 项目管理生命周期
|
|
pull_request
, pr 生命周期
|
|
利用这些事件 hook,可以自动化很多流程。
2. 使用 API 远程触发 GitHub Action
2.1 创建一个 Token
访问链接页面 https://github.com/settings/tokens/new 申请一个 Token。需要勾选 repo 权限。
2.2 添加
在仓库 https://github.com/shaowenchen/wait-webhook-to-run 下,新建一个文件 .github/workflows/worker.yml
。内容如下:
|
|
在 repository_dispatch
的 types
中,可以自定义事件类型。
2.3 远程触发 Github Action
下面是 API 调用格式:
|
|
其中,owner
是用户名,repo
是仓库名, TRIGGER_TOKEN
是上面申请的 Token 凭证,TRIGGER_EVENT
是自定义的事件名。
- 触发
webhook-1
事件
|
|
- 触发
webhook-2
事件
|
|
查看 GitHub Action 执行:
3. 参考
- https://docs.github.com/cn/actions/reference/events-that-trigger-workflows