拒绝允许 GitHub 应用程序创建或更新工作流

时间:2021-03-15 18:50:51

标签: git github

我有一个使用 GitHub 的操作:

github_token: ${{ secrets.GITHUB_TOKEN }}

当我运行它时,我得到:

  ! [remote rejected]     tmp_upstream/master -> master (refusing to allow a GitHub App to create or update workflow `.github/workflows/build-images-workflow-run.yml` without `workflows` permission)
error: failed to push some refs to '***github.com/myname/repo'

https://docs.github.com/en/actions/reference/authentication-in-a-workflow 说明

<块引用>

GitHub 会自动创建一个 GITHUB_TOKEN 秘密以在您的 工作流程。您可以使用 GITHUB_TOKEN 在工作流中进行身份验证 运行。

但是我使用了工作流,它似乎没有创建令牌。我去创建一个个人令牌,然后尝试使用名称 GITHUB_TOKEN 保存它,但它说该名称无效。 我该如何解决这个问题?

github image

2 个答案:

答案 0 :(得分:1)

为了修改工作流程,GitHub 应用程序(例如用于为 GitHub 操作发布令牌的应用程序)需要 workflow 范围。这是为了让您添加到存储库中的 GitHub 应用程序在未经您许可的情况下无法访问存储库中的机密。为 GitHub Actions 颁发的令牌默认没有此权限。

如果您不需要修改工作流文件,那么您可以避免修改它们,这将消失。如果您确实需要修改它们,您可以创建一个适当范围的 PAT 并将其存储在一个不以 GITHUB 开头的名称下,例如 WORKFLOW_TOKEN。然后你可以调整你的动作来表达这个:

github_token: ${{ secrets.WORKFLOW_TOKEN }}

答案 1 :(得分:0)

生成令牌时,需要为令牌赋予正确的权限。您必须勾选 workflow 旁边的以下复选框才能拥有 update 权限。

enter image description here