合并 PR 时有 GitHub 操作 运行

Have a GitHub Action run when a PR is merged

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

有什么方法可以通过 GitHub 操作而不使用 API 或 webhook 来做到这一点?

有两种方法:运行 使用 merge=true 关闭 PR 时的工作流,或者 运行 目标分支上的工作流,如果你知道所有推送到目标分支都会通过PR.


运行 公关关闭

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

on:
  pull_request:
    types: [closed]

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

my_job:
  build:
    if: github.event.pull_request.merged == 'true'

运行 在目标分支上

如果你知道你所有的 PRs 都被合并到 main 并且用户不能直接推送到 main,你还不如在 main 上的 push 事件上触发你的工作流程,如下所示:

on:
  push:
    branches:
      - main