Repolode
google

google/go-github

用于访问 GitHub v3 REST API 的 Go 客户端库,按资源提供类型化的调用接口。

Star
11,340
Fork
2,567
未关闭 Issue
29
最近提交
昨天

这是什么?

go-github 是一个用于访问 GitHub REST API v3 的 Go 客户端库。创建客户端后,通过与 GitHub API 文档结构对应的服务分组(如 Repositories、Organizations、Pull Requests)调用接口,请求和响应都以 Go 结构体表示,直接使用类型化数据,无需手动解析 JSON。

库中还封装了直接调用 API 时常见的问题处理:支持 Token 认证,提供识别主要和次要速率限制错误的方法,支持按页码或字符串游标翻页,并基于 Go 的 iter 包提供迭代器。此外,它还提供解析和校验 GitHub Webhook 事件负载的结构体与函数。

项目以 Go 模块形式发布并使用带版本号的导入路径,支持 Go 最近两个主版本。条件请求的缓存交由调用方配置的 HTTP 缓存 Transport 处理。

核心功能

  • 01为 GitHub REST API 的请求和响应提供类型化的 Go 结构体。
  • 02按 GitHub API 文档结构组织的服务式客户端。
  • 03支持 Token 与 GitHub App 认证方式。
  • 04提供识别主要与次要速率限制错误的辅助方法。
  • 05支持页码及游标分页,并提供迭代器。
  • 06提供解析和校验 Webhook 事件的结构体与函数。

适用场景

  • 用 Go 编写读取或更新仓库、Issue 和 Pull Request 的机器人或 CI 工具。
  • 用 Go 开发处理 Webhook 事件的 GitHub App 后端。
  • 自动化组织管理任务,如列出成员或管理团队。
  • 配合 Mock 库编写依赖 GitHub API 的测试。

快速上手

  1. 1

    将库安装到你的 Go 模块中

    go get github.com/google/go-github/v93
  2. 2

    在 Go 代码中导入该包

  3. 3

    创建客户端并调用 API 服务

使用前须知

  • 它需要较新的 Go 工具链,默认要求为 Go 的前一个主版本(N-1)或更高。
  • 大多数接口需要访问令牌,因此在调用多数接口前必须先配置认证。

标签

常见问题

go-github 是什么?
用于访问 GitHub v3 REST API 的 Go 客户端库,按资源提供类型化的调用接口。 go-github 是一个用于访问 GitHub REST API v3 的 Go 客户端库。创建客户端后,通过与 GitHub API 文档结构对应的服务分组(如 Repositories、Organizations、Pull Requests)调用接口,请求和响应都以 Go 结构体表示,直接使用类型化数据,无需手动解析 JSON。
go-github 可以免费使用吗?用的什么许可证?
go-github 以 BSD-3-Clause 许可证开源。用于商业产品前,请先确认许可证条款。
go-github 还在维护吗?
活跃维护中。go-github 最近一次提交是在 2026年11月6日。
go-github 适合用来做什么?
用 Go 编写读取或更新仓库、Issue 和 Pull Request 的机器人或 CI 工具。 用 Go 开发处理 Webhook 事件的 GitHub App 后端。 自动化组织管理任务,如列出成员或管理团队。 配合 Mock 库编写依赖 GitHub API 的测试。
go-github 怎么安装和运行?
将库安装到你的 Go 模块中: go get github.com/google/go-github/v93 在 Go 代码中导入该包 创建客户端并调用 API 服务
在哪里获取 go-github?
源代码和安装说明在 GitHub 上:https://github.com/google/go-github

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目