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

使用GitHub API创建Pull Request返回200未成功,是否请求体有误?

原因排查及修复方案

1. 请求体分支配置错误(当前最核心问题)

你提交的请求体中head与base指向完全一致的分支:

  • base设置为目标仓库的master分支
  • head设置为owner:master,与base分支完全重合
    Pull Request的创建前提是两个分支存在可对比的提交差异,没有差异的情况下GitHub不会生成新PR,此时API返回200但实际没有创建动作。
    修复方式:将head参数修改为你的功能分支,格式为[用户名]:[功能分支名],确保该分支相对于base分支有新增提交。

2. 请求方法使用错误

GitHub创建PR的接口要求使用POST请求,若你误使用GET请求调用该接口,API会返回当前仓库已有PR列表,状态码为200但不会执行创建逻辑。
修复方式:将请求方法改为POST。

3. 请求体格式传递错误

若你使用Python requests库调用接口,直接把字典传给data参数时,请求会以application/x-www-form-urlencoded格式发送,不符合GitHub API要求的JSON格式,导致参数解析失败。
修复方式:发送请求时使用json参数传递请求体,示例代码:

response = requests.post(
    url="https://api.github.com/repos/{owner}/{repo}/pulls",
    headers=headers,
    json=data
)

4. Token权限不足

你使用的token虽然有效,但可能未开启repo范围的写权限,部分场景下GitHub会返回200但拒绝创建操作。
修复方式:在GitHub开发者设置中检查对应token的权限,开启repo读写权限。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 17:06:05