在存储库内的分支上使用 pull_request 与 pull_request_target

Mar*_*sic 10 github pull-request github-actions

我想在我们的存储库中使用此 GitHub 操作来检查 PR。我们在同一存储库中创建带有主分支的拉取请求,在该拉取请求中处理反馈/反馈合并,然后合并到主控中。我正在使用pull_request事件触发器来触发操作。

我收到此错误:

错误:需要参数令牌或 opts.auth

当我在虚拟 PR 上测试该操作时,从这样的评论中我认为操作中的这一行没有获得GITHUB_TOKEN.

这篇GitHub 安全实验室帖子中,我看到:

通过 pull_request_target 触发的工作流具有对目标存储库的写入权限。他们还可以访问目标存储库机密。对于来自同一存储库中的分支(但不是来自外部分支)的pull_request 触发的工作流也是如此。后者背后的原因是,如果创建 PR 的用户已经拥有目标存储库的写入权限,则共享存储库机密是安全的。

由此,我的猜测是pull_request应该能够访问该令牌。

我在我们的设置中遗漏了什么吗?

Mar*_*sic 3

最终我需要为操作提供 GITHUB_TOKEN 作为工作流程中的环境变量。

...
    jobs:
      check-pr-title-or-commit-message:
        runs-on: [self-hosted, dev]
        steps:
          - name: Check PR Title or Commit Message
            uses: amannn/action-semantic-pull-request@v3.4.0
            with:
              validateSingleCommit: true
            env:
              GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
...
Run Code Online (Sandbox Code Playgroud)