【问题标题】:Getting "not found" after authenticating when trying to initiate GitHub workflow via REST尝试通过 REST 启动 GitHub 工作流时在进行身份验证后出现“未找到”
【发布时间】:2022-01-17 19:10:52
【问题描述】:

我正在尝试通过 REST 为 GitHub 工作流触发 workflow_dispatch 操作,但出现“未找到”错误。

我的问题与this one 类似,但不同之处在于,即使标题表明我已通过身份验证(速率限制已增加到 5,000),我仍然会收到“未找到”错误。

这是我的脚本:

#!/bin/bash

# https://docs.github.com/en/rest/reference/actions#create-a-workflow-dispatch-event

OWNER='myGithubOrganization'
REPO='myRepo'
WORKFLOW_ID='main.yml'
POST_URL="https://api.github.com/repos/$OWNER/$REPO/actions/workflows/$WORKFLOW_ID/dispatches"

echo "Calling $POST_URL"

GITHUB_PERSONAL_ACCESS_TOKEN=$(echo "$PLATFORM_VARIABLES" | base64 --decode | jq '.GITHUB_PERSONAL_ACCESS_TOKEN' --raw-output)

# -i to include headers.

curl \
  -i \
  -X POST \
  -H "Accept: application/vnd.github.v3+json" \
  -H "Authorization: token $GITHUB_PERSONAL_ACCESS_TOKEN" \
   $POST_URL \
  -d '{"ref":"ref"}'

在标题中,我看到速率限制已增加到 5,000,所以我知道我已登录。

个人访问令牌具有以下权限:

  • 回购
  • 工作流程
  • admin:org_hook

个人访问令牌适用于机器用户。

在 repo 设置中,在“协作者和团队”下,机器用户帐户具有“读取”角色。

我还需要做什么才能触发工作流?

【问题讨论】:

    标签: github github-actions


    【解决方案1】:

    机器用户需要有write 访问权限,而不是read 访问权限。

    即使工作流执行诸如运行 CI 测试之类的操作并且不编写任何代码也是如此。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-07
      • 1970-01-01
      • 2023-04-01
      • 2014-01-05
      • 2021-08-13
      • 1970-01-01
      • 1970-01-01
      • 2021-06-26
      相关资源
      最近更新 更多