我有一个使用 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
保存它,但它说该名称无效。
我该如何解决这个问题?
答案 0 :(得分:1)
为了修改工作流程,GitHub 应用程序(例如用于为 GitHub 操作发布令牌的应用程序)需要 workflow
范围。这是为了让您添加到存储库中的 GitHub 应用程序在未经您许可的情况下无法访问存储库中的机密。为 GitHub Actions 颁发的令牌默认没有此权限。
如果您不需要修改工作流文件,那么您可以避免修改它们,这将消失。如果您确实需要修改它们,您可以创建一个适当范围的 PAT 并将其存储在一个不以 GITHUB
开头的名称下,例如 WORKFLOW_TOKEN
。然后你可以调整你的动作来表达这个:
github_token: ${{ secrets.WORKFLOW_TOKEN }}
答案 1 :(得分:0)