# @useairfoil/producer-github 中文文档

规范地址：https://npmcn.com/package/%40useairfoil/producer-github/

版本：0\.0\.3
npm 元数据更新时间：2026-11-02T18:48:41.847Z
中文译文更新时间：2026-11-02T19:28:25.559Z
软件包许可：未声明

本文由上游 README 机器翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40useairfoil/producer-github
原文对照：https://npmcn.com/package/%40useairfoil/producer-github/?lang=original
项目主页：https://github.com/useairfoil/connector-kit#readme
源码仓库：https://github.com/useairfoil/connector-kit

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：618 kB，60 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：4 个
- 首次发布：2026-10-29T07:38:27.126Z
- 最新版本发布：2026-11-02T18:48:41.483Z
- 已发布版本数：4（近 12 个月 4 个）

## 中文简介

同步存储库、问题、拉取请求、评论、审查、提交、检查、操作运行和作业，并从一个GitHub应用程序安装发布。它回填每个资源，获取webhook `POST /webhooks/github`，每15分钟进行一次民意调查

## 安装

```sh
npm install @useairfoil/producer-github
```

也可以使用：`pnpm add @useairfoil/producer-github`、`yarn add @useairfoil/producer-github`、`bun add @useairfoil/producer-github`

## README

# GitHub生产商

同步存储库、问题、拉取请求、评论、审查、提交、检查、 操作运行和作业，并从一个GitHub应用程序安装发布。它 回填每个资源，获取webhook `POST /webhooks/github`，以及民意测验 每15分钟更换一次。

| 资源 | 什么 |
| --- | --- |
| `repositories` | 安装程序可以读取的存储库 |
| `issues` | 问题，没有拉请求 |
| `pull_requests` | 把请求 |
| `issue_comments` | 对问题的评论和pull请求 |
| `pull_request_reviews` | 拉取请求审核 |
| `pull_request_review_comments` | 对拉取请求差异的评论 |
| `pull_request_commits` | 在每个拉取请求中提交 |
| `commits` | 在默认分支上提交 |
| `check_runs` | 检查运行情况，例如Actions作业和其他应用程序 |
| `commit_statuses` | 从CI服务提交状态 |
| `workflow_runs` | 操作流程运行 |
| `workflow_jobs` | 工作流运行的作业及其步骤 |
| `releases` | 发布，以及它们的资产 |

## 配置

| 变量 | 要求 | 默认的 |
| --- | --- | --- |
| `GITHUB_APP_CLIENT_ID` | 是 | 无 |
| `GITHUB_APP_PRIVATE_KEY` | 是 | 无 |
| `GITHUB_INSTALLATION_ID` | 是 | 无 |
| `GITHUB_WEBHOOK_SECRET` | 是 | 无 |

私钥可以在一行中使用 `\n` 换行。

## 设置

创建一个GitHub应用程序 **开发者设置→GitHub应用程序**：

-   Webhook URL `<connector>/webhooks/github`，带着一个随机的秘密。
-   存储库权限，只读：操作、检查、提交状态、 内容、问题和拉取请求。
-   事件：检查运行、发布评论、问题、拉取请求、拉取请求审核、 Pull请求review comments， Push, Release, Repository, Status, Workflow job和Workflow运行。

生成一个私钥，然后安装应用程序并选择要同步的存储库。 安装ID是安装页面URL末尾的数字。

一个应用有一个webhook URL，所以每个连接器使用一个应用。

## API版本

连接器固定REST API版本 `2026-03-10` 与 `X-GitHub-Api-Version` 头。

## 数据

-   `issues` 没有拉取请求。 `issue_comments` 对两者都有评论。
-   已删除的存储库、问题、注释和发布得到 `_deleted`． 一个 已转让的issue在旧ID下被删除。
-   `commits` 和 `pull_request_commits` 保留作者和提交者的名字，而不是 电子邮件。
-   评论、检查运行和作业在GitHub中没有更新时间。他们的版本 就是连接器读取它们的时候。
-   删除存储库时，存储库的问题、拉取请求和注释会保留下来 或者离开安装。
-   正文是自由文本。将私有存储库数据视为机密。

## 限制

-   删除只来自于webhook。错过的删除会保留，即使在新的删除之后 回填。一旦GitHub报告了已恢复的存储库，就会返回 更新时间。
-   在回填期间删除的行可以使下一页跳过一行。
-   `commits` 仅为默认分支。轮询使用提交时间，所以 之后推送的旧提交只会通过webhook实现。
-   在默认分支提交之后，检查运行和状态被轮询一次， 因此，稍后完成的检查只通过webhook更新。网络钩子带来它们 对于每个分支。
-   `pull_request_commits` 每个拉取请求最多提交250次。提交 通过用力推拉杆移开。
-   释放资产 `download_count` 是从上次发布的吗 改变了。
-   工作流运行在启动后的一天内进行轮询。稍后的重播出现了 webhook。这是它的最新尝试；乔布斯坚持每一次尝试。
-   审核、拉请求提交、检查运行、状态和作业都需要花费一个 在回填和每次更改中，每个拉取请求、提交或运行的请求。 具有多年CI的大型存储库可能需要数小时的速率限制才能进行回填。
-   轮询每个存储库每15分钟花费大约12个请求，加上 上面的。大约250个活动存储库达到了GitHub的限制。

## 演示数据

`pnpm demo --size 128MiB` 在没有GitHub凭证的情况下写入编造的GitHub数据。 请参阅Connector Kit README，了解所需的标志和变量。

每个更改都有一个问题，修复它的pull请求，评论，审查， 提交，CI与作业和检查运行一起运行，并且，一旦合并，在main上进行提交 使用部署状态。有些合并会发布一个版本。6个存储库不会增长 尺寸。

## 地方发展

```bash
cd connectors/producer-github
pnpm sandbox
```

webhook需要一个公共URL来转发 `http://localhost:8080/webhooks/github`.

要录制VCR，请输入测试应用程序的值 `.env`、删除 `test/__cassettes__/api.vcr.test.cassette`，然后跑 `pnpm test:ci`.

`pnpm start` 运行托管连接器。它需要Wings和PostgreSQL 连接器套件README中的变量。

## 常见问题

### @useairfoil/producer-github 是什么？

同步存储库、问题、拉取请求、评论、审查、提交、检查、操作运行和作业，并从一个GitHub应用程序安装发布。它回填每个资源，获取webhook POST /webhooks/github，每15分钟进行一次民意调查

### 如何安装 @useairfoil/producer-github？

在项目目录运行 npm install @useairfoil/producer-github，或使用 pnpm add / yarn add / bun add。

### @useairfoil/producer-github 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @useairfoil/producer-github 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @useairfoil/producer-github 可以商用吗？

@useairfoil/producer-github 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### @useairfoil/producer-github 还在维护吗？

最新版本 0\.0\.3 发布于 2026/11/03（今天）；至今共发布 4 个版本，其中过去 12 个月发布了 4 个；首次发布于 2026/10/29。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

