使用新的GitHub令牌列出并在拉取请求上创建评论。

3
自从我切换到新的Github令牌格式后,我无法再调用这个Github API了:

https://docs.github.com/en/rest/issues/comments#list-issue-comments

我的脚本执行以下操作:

[[ -z "$GITHUB_REPO_SLUG" ]] && export GITHUB_REPO_SLUG="$TRAVIS_REPO_SLUG"
GITHUB_API_BASE_URL="https://api.github.com/repos/${GITHUB_REPO_SLUG}"
GITHUB_AUTH_HEADER="Authorization: token $GITHUB_TOKEN"

comment_ids=$(curl -s -H "$GITHUB_AUTH_HEADER" "$GITHUB_API_BASE_URL/issues/$pull_request_id/comments" \
        | jq --arg USER "$GITHUB_USER" -r '. | map(select(.user.login==$USER)) | map(.id) | .[]')

for comment_id in $(echo $comment_ids); do
        jq -n -r --arg message "$message" '{ body: $message }' \
            | curl -s -H "$GITHUB_AUTH_HEADER" "$GITHUB_API_BASE_URL/issues/comments/$comment_id" -X PATCH --data @- > /dev/null
        echo "Edited comment with id $comment_id of PR $pull_request_id"
done

列出评论ID的API调用响应如下:

{
  "message": "Not Found",
  "documentation_url": "https://docs.github.com/rest/reference/issues#list-issue-comments"
}

仍可以使用旧格式的令牌,但不支持新格式的令牌。

是否有任何方法使用GHP调用该API?

1个回答

0

与Github令牌相关联的Github用户必须被授予对存储库的写入访问权限。

由于缺少此项设置,API响应了404错误(Github API的默认行为)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接