合并 PR 时运行 GitHub Action

Nan*_*anu 5 github github-actions

我正在寻找一种在合并 PR 时运行 GitHub Action 的方法,GitHub Action 必须获取 PR 描述并将数据存储在某处以供以后使用。

有没有办法通过 GitHub Actions 而不使用 API 或 Webhook 来做到这一点?

ret*_*hab 8

有两种方法:要么在 PR 通过 merge=true 关闭时运行工作流,要么在目标分支上运行工作流(如果您知道到目标分支的所有推送都经过 PR)。


在 PR 上运行已关闭

您可以在 PR 关闭时触发操作,如下所示:

on:
  pull_request:
    types: [closed]
Run Code Online (Sandbox Code Playgroud)

无论 PR 被合并还是未合并而关闭,都会触发上述事件。因此,您仍然需要在运行作业时检查该标志:

my_job:
  build:
    if: github.event.pull_request.merged == true
Run Code Online (Sandbox Code Playgroud)

在目标分支上运行

如果您知道所有 PR 都已合并到main并且用户无法直接推送到main,您不妨在pushmain 上的事件上触发您的工作流程,如下所示:

on:
  push:
    branches:
      - main
Run Code Online (Sandbox Code Playgroud)