【发布时间】:2022-01-22 20:46:06
【问题描述】:
我正在从我的 github 工作流(操作)发出 curl 发布请求,以获取自托管运行器的注册令牌,但我收到以下响应:
{
"message": "Resource not accessible by integration",
"documentation_url": "https://docs.github.com/rest/reference/actions#create-a-registration-token-for-a-repository"
}
以下是我的 github 工作流程的精简版:
name: get-token
"on":
push: { branches: ["token"] }
jobs:
print-token:
name: print-token
environment: dev
# needs: pre-pkr
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Get registration token
id: getRegToken
run: |
curl -X POST -H \"Accept: application/vnd.github.v3+json\" -H 'Authorization: token ${{ secrets.GITHUB_TOKEN }}' https://api.github.com/repos/myprofile/myrepo/actions/runners/registration-token
最终我想将此令牌传递给我正在使用打包程序构建命令创建的 ami(下一步)。我也尝试了使用加壳程序的外壳配置程序进行上述 curl 请求,但响应相同。 无法弄清楚我是否必须允许来自 github ui 的某些权限?或者这还能怎么做? 提前致谢。
【问题讨论】:
-
嗨,您是否尝试在 curl 中使用个人访问令牌 (PAT) 而不是 GITHUB_TOKEN?
-
你好。抱歉延迟回复。是的,我有,这对我有用。我倾向于 GITHUB_TOKEN 因为它是一个临时令牌。此外,还少了一个步骤(无需创建具有相关权限的 PAT 并将其存储在机密中)。只寻找解释为什么 GITHUB_TOKEN 不起作用。谢谢。
-
大多数情况下,当操作使用 PAT 而不是 GITHUB_TOKEN 时,这是一个范围问题。 GHA 令牌只有一个特定的范围,当 Github API 需要更广泛的范围来执行某些操作时。在这里,创建注册令牌可能需要管理员权限,并且它们不包含在 GHA 令牌中。我会添加一个更详细的官方答案????????????
标签: git github-actions packer