确定工作流YAML中拉取请求的原始repo



我正在修改一个工作流文件,这样当拉取请求来自另一个repo时,作业就不会运行。

所以,我正在寻找这样的东西:

build_and_deploy_job:
if: github.repository == github.pullrequest.repo

github.pullrequest.repo只是我编的,但我的想法是,它将返回拉取请求所在的repo的(完整(名称。

我试着输出环境变量,看看如果PR来自同一回购中的不同分支,或者来自不同的回购,它们是否有所不同。对我来说,没有什么是有用的。

这样的事情可能发生吗?

背景:我试图避免构建作业失败,因为当拉取请求来自另一个repo时,它无法在pull_request事件期间访问repo机密。

使用以下内容检查PR是否来自同一回购。只有当拉取请求触发工作流时,这才有效。

on: [pull_request]
jobs:
build_and_deploy_job:
if: github.event.pull_request.head.repo.name == github.repository

奖金:使用此项检查回购是否为分叉。

on: [pull_request]
jobs:
build_and_deploy_job:
if: github.event.pull_request.head.repo.fork == true

来源:https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#webhook-有效载荷-对象-34

最新更新