使用 GitHub API 从所有存储库获取最新提交
介绍
GitHub 开发人员 API 是一种强大而可靠的方法,可帮助您提高工作效率。使用此 API,您可以为您的团队创建节省时间的 CLI 和 UI 开发人员工具。GitHub 开发人员 API 可以为您节省时间并使您能够创建强大的自定义工具的一种方式是通过其提交 API。例如,假设您有一个在代码库上运行的自定义自动化流程,并且该流程需要根据 Git 提交的消息运行。GitHub API 使这样的工具能够工作!
本指南将演示如何使用 GitHub API 从 React 应用程序内部获取最近五次 Git 提交到存储库。
让我们开始吧!
API 概述和设置
GitHub API 分为两大部分:REST 和 GraphQL。本指南将使用 REST API,但如果您习惯使用 GraphQL,GraphQL API 也是一个很好的选择。
您需要做的第一件事是安装 @octokit/core NPM 依赖项。这是 GitHub 的核心开发人员工具包,也是本指南将用于与 GitHub 的 REST API 交互的 NPM 包。要安装此依赖项,请导航到您的顶级项目目录并运行:
npm install --save-dev @octokit/core
安装此依赖项后,下一步将是生成个人访问令牌,以便您的程序可以成功通过 GitHub 的 REST API 进行身份验证。为此,请导航到GitHub 帐户的令牌设置部分并按照屏幕上的步骤操作。
下载依赖项并准备好个人访问令牌后,就可以开始与 GitHub API 交互了。
获取最近 5 个提交
在获取提交列表时,GitHub API 会为您提供许多可以使用的 API 参数。以下是可用于此部分 API 的可用选项列表:
- 所有者:必需选项,指定存储库所有者的用户名
- repo:必需选项,这是所讨论的 repo 名称
- sha:有趣的是,此选项可以是 git commit SHA 或分支名称。此选项默认为 repo 的默认分支。
- path:允许你过滤包含此文件路径的提交
- 作者:此选项将按作者用户名或电子邮件地址过滤返回的提交
- since:这将过滤掉在指定日期之前发生的所有提交
- 直到:与“自从”相反,这会过滤掉在给定日期之后发生的所有提交
- per_page:您可以在此处指定每页的结果数。每页最多 100 次提交!
- page:此选项允许您指定访问结果的页码。当您操作超过 100 个提交时,它很有用。
GitHub 开发人员 API 提供了丰富的功能,可与您的 GitHub 代码库进行编程交互。除了简单地列出 Git 提交之外,您还可以做更多的事情!我鼓励您查看 GitHub REST API 文档,了解可用的大量选项。
现在您已经进入了 React 代码,是时候看看这个 API 可以做什么了!
注意:不要忘记保密您的授权令牌!不要将您的令牌签入源代码管理!
import { Octokit } from "@octokit/core";
function CommitListComponent() {
const [commits, setCommits] = useState([]);
const octokit = new Octokit({ auth: 'your-token!' });
useEffect(() => {
const owner = 'test-user',
repo = 'test-repo',
perPage = 5;
const fiveMostRecentCommits = await octokit.request(
`GET /repos/{owner}/{repo}/commits`, { owner, repo, per_page: perPage }
);
setCommits(fiveMostRecentCommits);
}, [])
return (
<ul>
{commits.map(commit => (
<li key={commit.id}>
{commit.author.name}: {commit.message}
</li>
))}
</ul>
);
}
哇,这真的很简单!如您所见,首先您需要从 GitHub 的开发者 API 项目导入 Octokit 类。使用您的个人访问令牌实例化 Octokit 类的实例后,您就可以使用 Octokit 的请求方法开始列出提交!
这个特定的 React 组件从 GitHub API 请求最近的五个 Git 提交,然后简单地在列表中显示作者姓名和提交消息。您可以轻松看到如何扩展它以请求特定日期之间的提交或从给定作者的所有存储库列表中的提交。API 的可能性确实非常巨大。
结论
GitHub 开发人员 API 提供了丰富的功能,可与您的 GitHub 代码库进行编程交互。请查看GitHub REST API 文档,了解可用的大量选项。我希望本指南能帮助您设想如何在自己的项目中使用 Github API,从而节省您和您的团队宝贵的时间和精力。
免责声明:本内容来源于第三方作者授权、网友推荐或互联网整理,旨在为广大用户提供学习与参考之用。所有文本和图片版权归原创网站或作者本人所有,其观点并不代表本站立场。如有任何版权侵犯或转载不当之情况,请与我们取得联系,我们将尽快进行相关处理与修改。感谢您的理解与支持!
请先 登录后发表评论 ~