DAG总览 / 组目录 / 工具生态

编程接口:GitHub REST API(接口)

G06Layer 4
目录:前置概念账号与仓库版本管理协作项目管理自动化部署工具生态
层导航:L0L1L2L3L4 当前L5L6L7L8
上游 · 理解本功能前需先掌握的(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)

适用场景

怎么操作(网页 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 试试拉取自己的仓库信息。