上游 · 理解本功能前需先掌握的(1):
下游 · 依赖/承接本功能的(0):
暂无下游(建议学完它再进阶)
前置依赖包含从属概念升级流程承接
边方向 = 学习顺序(A→B 表示先学 A 再学 B)
为什么需要它
心智模型
当你要做的事太多太重复(比如给 100 个 Issue 打标签),靠人手点不现实。API 是 GitHub 留给程序的「入口」,让程序替你批量执行平台操作、抓取数据,还能把自己的应用接入 GitHub。
历史背景 · 它为什么诞生诞生于 2008/2016
诞生GitHub网站上线一个月后就发布公共API,平台化从一开始就是核心战略。早期REST API成为行业范本,但多端点+冗余响应效率低下;2016-09-14引入GraphQL API解决REST的扩展性与灵活性问题。
功能介绍
GitHub REST API 是 GitHub 提供给开发者编程使用的接口,官方定义是 "Create integrations, retrieve data, and automate your workflows with the GitHub REST API"——用它创建集成、获取数据、自动化工作流。API(Application Programming Interface,应用程序编程接口)就像一个「机器之间对话的菜单」:程序按固定格式发出请求(Request),GitHub 返回数据(Response,通常是 JSON 格式)。它覆盖了平台几乎所有功能:Issue、Pull Request、Actions、Packages、Projects、用户与仓库信息等,都可以通过 API 读取或修改。用它可以批量管理仓库、写机器人自动回复、把 GitHub 数据同步到自己的系统里,或构建完整的第三方应用。调用前需要身份认证(一般用个人访问令牌 Personal Access Token),并遵守速率限制(Rate Limit)以免请求过多被封。
核心术语
应用程序编程接口(Application Programming Interface,API)REST请求(Request)与响应(Response)JSON个人访问令牌(Personal Access Token,PAT)速率限制(Rate Limit)
适用场景
- 当你想批量给大量 Issue 打标签或关闭它们时
- 当你想抓取某个仓库的 star 数、提交记录等数据做分析时
- 当你想写一个机器人自动创建 PR 或回复评论时
- 当你想把自己的工具或网站接入 GitHub 数据时
怎么操作(网页 vs 命令行 双轨)
🖱️ 网页操作 (GitHub.com)
- 在 Settings → Developer settings → Personal access tokens 生成一个访问令牌
- 到 docs.github.com 的 REST API 参考文档里,找到想用的接口,页面上可直接在线测试
⌨️ 命令行 (进阶)
`curl -H "Authorization: Bearer <你的令牌>" https://api.github.com/repos/{owner}/{repo}` # 获取仓库信息`curl -s https://api.github.com/repos/{owner}/{repo}/issues` # 列出仓库 Issue`gh api /user` # 用 gh 内置的 api 子命令调用任意接口
新手建议先从网页操作入手,熟悉概念后再尝试命令行。命令行是真实开发中更常用的方式。
与其他功能的关系
| 关系(前置依赖 / 包含从属 / 概念升级 / 流程承接) | 说明 |
|---|---|
| 概念升级创建仓库(Create Repository) | API 编程化操作仓库及全部功能,先有仓库对象 |
官方文档
小结
SUMMARY
GitHub REST API 是程序访问 GitHub 的通用入口,能读取数据、批量操作、构建自动化,核心是请求 + 令牌 + JSON 响应。下一步:生成一个 Personal Access Token,用 gh api 试试拉取自己的仓库信息。