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

son*_*ony 9 github github-actions

我有一个 GitHub 操作,使用:

github_token: ${{ secrets.GITHUB_TOKEN }}
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我得到:

  ! [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'
Run Code Online (Sandbox Code Playgroud)

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

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

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

个人代币

bk2*_*204 6

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

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

github_token: ${{ secrets.WORKFLOW_TOKEN }}
Run Code Online (Sandbox Code Playgroud)


mne*_*rov 3

生成token时,需要赋予token正确的权限。您必须勾选旁边的以下复选框workflow才能获得update权限。

在此输入图像描述