我有一个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
,但它说该名称无效。我该怎么解决这个问题?
的数据
3条答案
按热度按时间eni9jsuy1#
为了修改工作流,GitHub应用程序(例如用于为GitHub Actions发布令牌的应用程序)需要
workflow
范围。这是为了让您添加到存储库中的GitHub应用程序在未经您许可的情况下无法访问存储库中的机密。默认情况下,为GitHub Actions颁发的令牌没有此权限。如果你不需要修改工作流文件,那么你可以避免修改它们,这将消失。如果确实需要修改它们,可以创建一个适当范围的PAT,并将其存储在一个不以
GITHUB
开头的名称下,比如WORKFLOW_TOKEN
。然后你可以调整你的动作,这样说:字符串
bvjxkvbb2#
生成令牌时,您需要为令牌给予正确的权限。您必须勾选
workflow
旁边的以下复选框才能拥有update
权限。的数据
pn9klfpd3#
您需要设置
actions/checkout
的token
输入另见https://github.com/actions/checkout#usage