首页 > 解决方案 > 在 Github Actions 中为 [not] 来自 fork 的 PR 获取目标分支 ref

问题描述

我正在尝试在 Github 上测试 PR 处理操作。

为此,我在自己的仓库中创建了一个 PR 并尝试使用${{ github.base_ref }},但它是空的。这个帮助页面说这GITHUB_BASE_REF仅适用于来自 fork 的 PR。

有没有办法为 PR 事件获取目标分支,无论它是否来自分叉 PR?或者一种专门解决后一种情况的方法。

PS 我真正想做的是在 PR 中获取已更改文件的列表。我所拥有的适用于推送但不适用于 PR:

git diff-tree --no-commit-id --name-only -r ${{ github.event.before }} ${{ github.sha }}

标签: gitgithubgithub-actions

解决方案


无论它是否是从叉子上提出的,这都应该有效。

${{ github.event.pull_request.base.ref }}

顺便说一句,您可以在工作流程中添加一个步骤来转储github上下文对象以查看所有可用属性。

      - name: Dump GitHub context
        env:
          GITHUB_CONTEXT: ${{ toJson(github) }}
        run: echo "$GITHUB_CONTEXT"

推荐阅读