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

调用GitHub API时能否自动指定仓库默认分支为拉取请求的base参数

问题解答

核心结论

GitHub REST API 的/repos/{owner}/{repo}/pulls接口目前没有提供可直接指代仓库默认分支的特殊参数值,你无法完全跳过查询仓库默认分支的步骤直接拉取对应PR。

优化实现方案

虽然不能省略获取默认分支的逻辑,但可以通过两种方式降低额外请求的影响:

  • 沿用REST API方案:查询仓库元信息的/repos/{owner}/{repo}接口仅占用1个API请求配额,响应速度快,实际使用几乎不会带来可感知的性能损耗,调整代码先获取默认分支再查询PR即可,参考修改后的代码:
# 先查询仓库默认分支
repo_info = gh.get(
    "/repos/{organisation}/{repo}",
    url_vars={
        "organisation": requester,
        "repo": repo
    }
)
default_branch = repo_info["default_branch"]

# 用默认分支作为base查询PR
pr_generator = gh.getiter(
    "/repos/{organisation}/{repo}/pulls?state={state}&sort={sort}&base={base}&direction={direction}",
    url_vars={
        "sort": "updated",
        "base": default_branch,
        "state": "all",
        "organisation": requester,
        "repo": repo,
        "direction": "desc",
    },
)
  • 改用GraphQL API:可以将「查询仓库默认分支」和「拉取对应PR列表」的逻辑合并为单次请求,不需要发送两次HTTP调用,进一步降低请求开销。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 22:45:05