繁体   English   中英

GitHub 操作:必须具有管理员权限才能触发 workflow_dispatch?

[英]GitHub Actions: Must have admin rights to trigger workflow_dispatch?

使用 github API 我正在尝试使用以下方法手动启动工作流:

  curl \
  -X POST \
  -H "Accept: application/vnd.github+json" \ 
  -H "Authorization: MY_TOKEN" \
  https://api.github.com/repos/djpr-data/djprdashdata/actions/workflows/refresh-data.yaml/dispatches 

但我不断收到身份验证错误:

{
  "message": "Must have admin rights to Repository.",
  "documentation_url": "https://docs.github.com/rest/reference/actions#create-a-workflow-dispatch-event"
}

这似乎是与此问题类似的问题 但是我的 PAT 令牌选择了所有adminrepo范围。 我还将我的用户帐户设置为存储库的admin ,并且我已将工作流调度添加到工作流 yaml 文件中。

  workflow_dispatch:
    inputs:
      tags:
        description:
          "run from cmdline"

我一直在关注 https://docs.github.com/en/rest/actions/workflows#create-a-workflow-dispatch-event上的文档,并且使用 ZDB974238714CA8DE634A 检索所有以前的工作流作业没有问题。 我也尝试过runsjobs端点,但得到了同样的错误。 所以我现在不确定我还能做什么。 还有其他地方我需要设置权限吗?

谢谢

这是一条糟糕的错误消息,告诉您您的请求格式不正确。 如果您想将 PAT 作为 header 传递,您需要在它前面加上token ,如文档中所述:

-H "Authorization: token MY_TOKEN"

但是,一旦解决了这个问题,您也会收到一个错误,因为您没有传递所需的ref有效负载。 假设您的默认分支是main ,这是一个正确的 curl 命令:

> export MY_TOKEN=gha_abcdef
> curl \
  -X POST \
  -H "Accept: application/vnd.github+json" \ 
  -H "Authorization: token $MY_TOKEN" \
  -d '{"ref": "main"}' \
  https://api.github.com/repos/djpr-data/djprdashdata/actions/workflows/refresh-data.yaml/dispatches

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM