我想传递一些动态参数,并手动调用GitHub Actions工作流程(最好是通过某些API)。这可能吗?
答案 0 :(得分:2)
使用workflow_dispatch
event trigger,您可以轻松进行手动触发。
流量:
.addtoken <token>
博客文章公告参考,https://github.blog/changelog/2020-07-06-github-actions-manual-triggers-with-workflow_dispatch/
答案 1 :(得分:2)
要通过 API 触发 workflow_dispatch
,可以在 https://docs.github.com/en/free-pro-team@latest/rest/reference/actions#create-a-workflow-dispatch-event
POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches
其中 {workflow_id}
也可以是工作流的文件名(这让事情变得容易多了)。
文档中的示例 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":"ref"}'
答案 2 :(得分:1)
我认为正确的答案是使用repository_dispatch
而不是workflow_dispatch
。
仅存储库分派允许您从API调用触发工作流。
摘要:
https://api.github.com/repos/{owner}/{repo}/dispatches
curl -X POST -H "Accept: application/vnd.github.v3+json" -H "authorization: Bearer <token>" https://api.github.com/repos/{owner}/{repo}/dispatches -d '{"event_type": "type1","client_payload": {"key1": "Hello from CRUD"}}'