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

sshcrbum  于 2023-08-01  发布在  Git
关注(0)|答案(3)|浏览(104)

我有一个GitHub action,它使用:

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,但它说该名称无效。我该怎么解决这个问题?


的数据

eni9jsuy

eni9jsuy1#

为了修改工作流,GitHub应用程序(例如用于为GitHub Actions发布令牌的应用程序)需要workflow范围。这是为了让您添加到存储库中的GitHub应用程序在未经您许可的情况下无法访问存储库中的机密。默认情况下,为GitHub Actions颁发的令牌没有此权限。
如果你不需要修改工作流文件,那么你可以避免修改它们,这将消失。如果确实需要修改它们,可以创建一个适当范围的PAT,并将其存储在一个不以GITHUB开头的名称下,比如WORKFLOW_TOKEN。然后你可以调整你的动作,这样说:

github_token: ${{ secrets.WORKFLOW_TOKEN }}

字符串

bvjxkvbb

bvjxkvbb2#

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


的数据

pn9klfpd

pn9klfpd3#

您需要设置actions/checkouttoken输入
另见https://github.com/actions/checkout#usage

相关问题