You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub Actions未将无评审者PR转为草稿问题排查

问题原因及解决方案

你的核心问题是使用了错误的GitHub API端点来将PR转为草稿。

为什么原代码无效?

你当前用PATCH /repos/{owner}/{repo}/pulls/{pull_number}并设置{"draft": true}的方式,只适用于两种场景:

  1. 创建PR时指定为草稿状态
  2. 将已有的草稿PR转为就绪状态(设置draft: false)

对于已经处于「就绪」状态的PR(包括直接创建的非草稿PR、或从草稿转为就绪的PR),这个API参数不会生效——虽然会返回200 OK,但实际不会修改PR的状态。

正确的解决方法

要将已就绪的PR转回草稿,需要调用GitHub专门的convert_to_draft API端点,使用POST请求,无需请求体:

替换原代码中的curl部分为:

curl -X POST \
  -H "Authorization: token $GITHUB_TOKEN" \
  -H "Accept: application/vnd.github+json" \
  "https://api.github.com/repos/$REPO_NAME/pulls/$PR_NUMBER/convert_to_draft"

完整修正后的步骤代码

if [ "$REVIEWERS_COUNT" -eq 0 ]; then
  echo "No reviewers assigned. Converting PR to draft..."

  # 正确的API调用:将PR转为草稿
  curl -X POST \
    -H "Authorization: token $GITHUB_TOKEN" \
    -H "Accept: application/vnd.github+json" \
    "https://api.github.com/repos/$REPO_NAME/pulls/$PR_NUMBER/convert_to_draft"

  # 添加评论提醒
  gh pr comment "https://github.com/$REPO_NAME/pull/$PR_NUMBER" \
    --body ":warning: @${AUTHOR} please assign at least one reviewer before marking this PR as ready for review."
fi

额外验证点

  • 你当前设置的pull-requests: write权限足够执行convert_to_draft操作,无需调整
  • 评论能正常发布说明认证、仓库/PR编号信息都是正确的,无需修改

内容的提问来源于stack exchange,提问作者Zoltan Toth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 15:23:13