内置功能分支不工作使用Cron时间表和API调用GitHub动作



我们需要使用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_dispatchwebhook事件手动触发工作流,但似乎您的工作流未配置为以这种方式触发。

根据文档:

当您请求创建repository_dispatch事件时,您必须指定event_type来描述活动类型。默认情况下,所有repository_dispatch活动类型都会触发工作流运行。你可以使用types关键字来限制你的工作流在repository_dispatchwebhook有效负载中发送特定的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