简介
github-commit-stream
是一个基于 Node.js 平台的 npm 包,它提供了一种方便的方式来获取指定 GitHub 仓库的提交记录。它利用了 GitHub API v3,并且可以按照时间顺序、分支名和提交 SHA 进行筛选。
本文将介绍如何使用 github-commit-stream
来获取 GitHub 仓库的提交记录,并提供一些示例代码来帮助你快速上手。
安装
首先,你需要安装 Node.js 和 npm。然后,在命令行中执行以下命令来安装 github-commit-stream
:
npm install github-commit-stream
使用方法
初始化
在使用 github-commit-stream
前,你需要通过 GitHub 的 Personal Access Token(PAT)进行身份验证。如果你还没有生成 PAT,请参考 Creating a personal access token 生成一个。
在你的代码中,你需要引入 github-commit-stream
并初始化它:
const GithubCommitStream = require('github-commit-stream'); const repoOwner = 'octocat'; const repoName = 'hello-world'; const token = 'your_personal_access_token'; const githubCommitStream = new GithubCommitStream(repoOwner, repoName, { token });
获取提交记录
一旦初始化完成,你就可以使用 githubCommitStream.streamCommits()
方法来获取提交记录流。该方法会返回一个 Node.js 的可读流(Readable Stream),你可以使用 data
事件来消费流中的数据。
在以下示例中,我们获取 octocat/hello-world
仓库最近一周的提交记录,并将每个提交的 SHA 和消息输出到控制台:
const ONE_WEEK_IN_MILLISECONDS = 7 * 24 * 60 * 60 * 1000; const since = new Date(Date.now() - ONE_WEEK_IN_MILLISECONDS).toISOString(); githubCommitStream.streamCommits({ since }) .on('data', (commit) => { console.log(`${commit.sha}: ${commit.message}`); });
筛选提交记录
你可以使用 githubCommitStream.streamCommits()
方法的第二个参数来过滤提交记录。以下是一些常见的筛选选项:
since
:只返回指定日期之后的提交记录。until
:只返回指定日期之前的提交记录。sha
:只返回与指定 SHA 相同的提交记录。branch
:只返回位于指定分支上的提交记录。
以下示例演示如何获取 ocotocat/hello-world
仓库 main
分支上最近一周的提交记录:
githubCommitStream.streamCommits({ branch: 'main', since }) .on('data', (commit) => { console.log(`${commit.sha}: ${commit.message}`); });
总结
通过本文的介绍,你应该已经学会了如何使用 github-commit-stream
包来获取 GitHub 仓库的提交记录。使用 github-commit-stream
,你可以轻松地按需获取指定仓库的提交记录,并根据需要进行筛选。
如果你想了解更多关于 github-commit-stream
的信息,可以查看 GitHub 仓库。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/46128