远程:在 GitHub 管道中找不到存储库

Mad*_*ake 9 pipeline github github-actions

我正在尝试在 GitHub 管道中签出一个私有存储库,以下是我的管道代码,

build:

runs-on: ubuntu-latest

steps:  
  - name: Checkout pickezy backend
    uses: actions/checkout@v2
    with:
     repository: Madurad/jenkinsfiles
     token: ${{ secrets.GITHUB_TOKEN }}
     ref: master
Run Code Online (Sandbox Code Playgroud)

但是当我运行这个时,我收到以下错误:“未找到存储库”,但它在我的 githiub 组织中。这是一个私人仓库。

在此输入图像描述

它看起来不像是一个身份验证错误。有人可以帮我解决这个问题吗?我错过了什么吗?

Nic*_*per 6

您可以在 YAML 文件的顶层添加缺少的权限:

permissions:
  contents: read
Run Code Online (Sandbox Code Playgroud)

请注意,我不需要token: ${{ secrets.GITHUB_TOKEN }}在结账步骤中指定。

该解决方案基于 GitHub Copilot 的自动完成功能。它有效,但我没有做进一步的研究。


Gui*_*urd 4

您可以在Github 文档中观察到它GITHUB_TOKEN不具有所有可用权限。

在这种特定情况下,访问私有存储库的权限。

如果您想在工作流程中执行涉及其他权限的特定操作,则需要创建具有所需权限的PAT(个人访问令牌)并使用它而不是GITHUB_TOKEN(将其添加为机密)。


在您的情况下,工作流程将如下所示:

build:

runs-on: ubuntu-latest

steps:  
  - name: Checkout pickezy backend
    uses: actions/checkout@v2
    with:
     repository: Madurad/jenkinsfiles
     token: ${{ secrets.PAT }}
     ref: master
Run Code Online (Sandbox Code Playgroud)