在回购中的分支上使用pull_request与pull_request_target



我想在我们的回购中使用这个GitHub操作来检查PR。我们在同一个repo中创建带有分支off main的pull请求,在该pull请求中处理反馈/合并反馈,并合并到master中。我正在使用pull_request事件触发器来触发该操作。

我得到这个错误:

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

当我在一个伪PR上测试操作时,从这样的评论中,我认为操作中的这一行没有得到GITHUB_TOKEN

从这个GitHub安全实验室的帖子中,我看到:

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

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

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

最终我需要将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 }}
...

最新更新