我需要收集GitHub对我们项目的评论统计数据

jBo*_*ive 4 git rest github github-api

我需要从我们的私人GitHub回购中提取有关我们的合作者在规定时间段内所做评论的数量的信息.

我一直在审查GitHub文档,但如果它甚至可以使用他们的REST API,那对我来说并不明显.

我想使用数据在线自动在图表中显示信息,因此REST是首选方式.

有谁知道它是否可能?

谢谢,/ J.

Fbo*_*Fbo 13

最好的方法是使用 GitHub API v4 (graphql) 端点。PullRequests 对象的 comments 属性将让您获取存储库 PR 的所有评论(reviews 属性)。您需要使用repositories 属性获取存储库列表。graphql API 比其他 API (v3) 更高效。

根据存储库的大小,爬虫的构建可能会很复杂,因为您将面临任何类型的极端情况,例如网络问题、API 缓慢......

我正在开发一个名为 monocle 的项目,该项目收集有关 GitHub 上 Pull Request 的存储库统计信息。各种指标将以图表或列表的形式显示。例如,您将看到某人对其他人进行的评论和/或评论的数量。该工具还显示一个和弦图,其中包含同行之间的评论强度(参见附图)。

以下是该项目的 GitHub 页面和演示节点的链接,其中各种 GitHub 组织均在此处索引 Ansible

使用 docker compose 部署该工具非常容易。

在此输入图像描述


CJ *_*son 5

以下是拉取请求端点列表评论的链接.该呼叫将返回用户详细信息,以便您可以计算评论量和执行者的数量.这是一个电话示例:

curl -u <USER>:<API_KEY> https://api.github.com/repos/<owner>/<repo>/pulls/<number>/reviews

您可以进一步自动化生成组织的存储库列表,然后在每个存储库中提取拉取请求的列表.拉取请求的JSON有效负载将包括id生成拉取请求审核信息所需的内容.