内置功能分支无法使用Cron计划和API调用GitHub操作

xe55xuns  于 2023-04-19  发布在  Git
关注(0)|答案(1)|浏览(101)

我们需要使用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"}'
pprl5pva

pprl5pva1#

不可能通过cron schedule事件在不同于默认分支的分支上触发工作流(如fature分支)。根据文档,这是预期行为:
计划的工作流在默认或基本分支上的最新提交上运行。
这应该回答了你问题的第一部分。在不同于你的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

相关问题