我们需要使用API和Cron Schedule来触发GitHub Actions管道。我们在默认分支中做了这些修改,这些修改工作得很好,但是在特性分支中却不能正常工作。
我在Github中缺少任何配置吗?
on:
schedule:
- cron: '1 * * * *'
curl -L
-X POST
-H "Accept: application/vnd.github+json"
-H "Authorization: Bearer token"
-H "X-GitHub-Api-Version: 2022-11-28"
https://api.github.com/repos/org/repo_name/dispatches
-d '{"event_type":"develop-package"}'
不可能在不同于默认分支(如功能分支)的分支上通过cronschedule
事件触发工作流。根据文档,这是预期的行为:
调度工作流在默认分支或基本分支上的最新提交上运行.
这应该回答了你问题的第一部分。不可能在与repo默认分支不同的分支上触发on.schedule
事件。这就是为什么它不能在你的特性分支中工作。
repository_dispatch
webhook事件手动触发工作流,但似乎您的工作流未配置为以这种方式触发。
根据文档:
当您请求创建
repository_dispatch
事件时,您必须指定event_type
来描述活动类型。默认情况下,所有repository_dispatch
活动类型都会触发工作流运行。你可以使用types关键字来限制你的工作流在repository_dispatch
webhook有效负载中发送特定的event_type
值时运行。
根据这个,您的工作流配置配置中缺少的部分是repository_dispatch
事件声明:
on:
repository_dispatch:
types:
- develop-package
因此,为了能够使用cron (schedule
事件)和手动使用Github API (repository_dispatch
事件)触发工作流运行,您应该在工作流触发器配置中提到这两个事件:
on:
schedule:
- cron: '1 * * * *'
repository_dispatch:
types:
- develop-package