Repolode
octokit

octokit/octokit.js

面向浏览器、Node.js 和 Deno 的一体化 GitHub SDK,整合 REST、GraphQL、GitHub App、Webhook 与 OAuth 功能。

Star
7,874
Fork
1,287
未关闭 Issue
55
最近提交
10天前

这是什么?

octokit.js 是 `octokit` npm 包,把 Octokit 的主要库打包在一起,方便在 JavaScript 和 TypeScript 中调用 GitHub 平台 API。API 客户端支持 REST 请求(通过 `octokit.rest.*` 方法或 `octokit.request`)和 GraphQL 查询,并内置认证、自动重试和速率限制节流。

该包还提供 App 客户端,用于 GitHub App、安装令牌、Webhook 接收与签名校验,以及 OAuth 登录流程。`createNodeMiddleware` 可在 Node 原生 http 服务或 Express 中直接生成接收 Webhook 和处理 OAuth 回调的路由。Action 客户端目前仍在开发中。

SDK 可运行于现代浏览器、Node.js(需 18 及以上以使用原生 fetch)和 Deno,并附带 TypeScript 类型声明。如果只需要部分功能,也可以单独安装对应子模块。

核心功能

  • 01通过同一个客户端调用 GitHub REST 和 GraphQL API。
  • 02内置 token 与 GitHub App 等多种认证方式。
  • 03默认提供请求自动重试和速率限制节流。
  • 04为 REST 和 GraphQL 结果提供分页辅助方法。
  • 05通过 Node 中间件接收并校验 Webhook,并处理 OAuth 登录流程。
  • 06附带 TypeScript 类型声明,可在浏览器、Node.js 和 Deno 中运行。

适用场景

  • 开发自动创建 Issue、评论或 Pull Request 的机器人或自动化脚本。
  • 编写响应已安装仓库 Webhook 事件的 GitHub App。
  • 为 Web 应用添加 GitHub OAuth 登录。
  • 在前端或 Node.js 服务中用 GraphQL 查询 GitHub 数据。

快速上手

  1. 1

    使用 npm 安装 octokit 包

    npm install octokit
  2. 2

    导入 Octokit 并使用个人访问令牌调用 GitHub API

使用前须知

  • 除非自行提供 fetch 实现,否则需要 Node 18 或更高版本。
  • 默认情况下 Node.js 不会使用标准的代理环境变量,需要自定义带代理 agent 的 fetch。
  • 由于使用条件导出,需要在 tsconfig.json 中将 moduleResolution 和 module 设置为 node16。

收录于专题

标签

常见问题

octokit.js 是什么?
面向浏览器、Node.js 和 Deno 的一体化 GitHub SDK,整合 REST、GraphQL、GitHub App、Webhook 与 OAuth 功能。 octokit.js 是 `octokit` npm 包,把 Octokit 的主要库打包在一起,方便在 JavaScript 和 TypeScript 中调用 GitHub 平台 API。API 客户端支持 REST 请求(通过 `octokit.rest.*` 方法或 `octokit.request`)和 GraphQL 查询,并内置认证、自动重试和速率限制节流。
octokit.js 可以免费使用吗?用的什么许可证?
octokit.js 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
octokit.js 还在维护吗?
活跃维护中。octokit.js 最近一次提交是在 2026年10月28日。
octokit.js 适合用来做什么?
开发自动创建 Issue、评论或 Pull Request 的机器人或自动化脚本。 编写响应已安装仓库 Webhook 事件的 GitHub App。 为 Web 应用添加 GitHub OAuth 登录。 在前端或 Node.js 服务中用 GraphQL 查询 GitHub 数据。
octokit.js 怎么安装和运行?
使用 npm 安装 octokit 包: npm install octokit 导入 Octokit 并使用个人访问令牌调用 GitHub API
在哪里获取 octokit.js?
源代码和安装说明在 GitHub 上:https://github.com/octokit/octokit.js

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

相关项目