如何从 Github API 触发 `workflow_dispatch`?
How to trigger a `workflow_dispatch` from Github API?
在 GH Rest API docs, seems we're able to create a repository_dispatch
event, but no workflow_dispatch
event. In the GH GraphQL API 中,我找不到如何调度事件。
甚至可以使用 API 触发 workflow_dispatch
事件吗?
可以,手动或通过GithubAPI。
手动(通过存储库中的 Actions
选项卡。)
Here is an official documentation about it
基本上,一旦您 select 选项卡上的工作流,如果工作流实施具有 workflow_dispatch 触发器,选项 Run workflow
将出现在 window 的右侧,如下所示:
随着GithubAPI
在官方Github文档上,有一个服务到create a workflow dispatch event
这是一个 curl 示例:
curl \
-X POST \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/repos/octocat/hello-world/actions/workflows/42/dispatches \
-d '{"ref":"main"}'
请注意,您也可以通过此 API 发送工作流程 inputs
。
您还可以找到更多关于此的参考资料 in this article。
还有另一个GithubAPI服务触发repository_dispatch events.
奖金
如果您正在寻找通过终端命令行触发那些 workflow_dispatch
事件(和 repository_dispatch
事件),您可以使用 this automation in Python. The implementation can be found in this class.
您也可以通过 GH CLI 工具 https://cli.github.com/.
触发 workflow_dispatch
例如:
gh workflow run <WORKFLOW_ID> -f param_1=foo
您可以通过 gh workflow list
获取工作流 ID。
在 GH Rest API docs, seems we're able to create a repository_dispatch
event, but no workflow_dispatch
event. In the GH GraphQL API 中,我找不到如何调度事件。
甚至可以使用 API 触发 workflow_dispatch
事件吗?
可以,手动或通过GithubAPI。
手动(通过存储库中的 Actions
选项卡。)
Here is an official documentation about it
基本上,一旦您 select 选项卡上的工作流,如果工作流实施具有 workflow_dispatch 触发器,选项 Run workflow
将出现在 window 的右侧,如下所示:
随着GithubAPI
在官方Github文档上,有一个服务到create a workflow dispatch event
这是一个 curl 示例:
curl \
-X POST \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/repos/octocat/hello-world/actions/workflows/42/dispatches \
-d '{"ref":"main"}'
请注意,您也可以通过此 API 发送工作流程 inputs
。
您还可以找到更多关于此的参考资料 in this article。
还有另一个GithubAPI服务触发repository_dispatch events.
奖金
如果您正在寻找通过终端命令行触发那些 workflow_dispatch
事件(和 repository_dispatch
事件),您可以使用 this automation in Python. The implementation can be found in this class.
您也可以通过 GH CLI 工具 https://cli.github.com/.
触发workflow_dispatch
例如:
gh workflow run <WORKFLOW_ID> -f param_1=foo
您可以通过 gh workflow list
获取工作流 ID。