存储库统计信息
使用 REST API 获取 GitHub Enterprise Cloud 用于可视化不同类型存储库活动的数据。
关于存储库统计信息
可使用 REST API 获取 GitHub Enterprise Cloud 用于可视化不同类型存储库活动的数据。
缓存最佳做法
计算存储库统计信息是一项昂贵的操作,所以我们尽可能返回缓存的数据。 如果你查询存储库的统计信息时数据尚未缓存,你将会收到 202
响应;同时触发后台作业以开始编译这些统计信息。 应留出片刻时间让作业完成,然后再次提交请求。 如果作业已完成,该请求将返回 200
响应,响应正文中包含统计信息。
仓库统计信息由仓库默认分支的 SHA 缓存;推送到默认分支将重置统计信息缓存。
统计排除某些类型的提交
API 公开的统计信息与不同存储库图显示的统计信息匹配。
总结:
- 所有统计信息都排除合并提交。
- 参与者统计信息还排除空提交。
Get the weekly commit activity
Returns a weekly aggregate of the number of additions and deletions pushed to a repository.
“Get the weekly commit activity”的参数
标头 |
---|
名称, 类型, 说明 |
accept string Setting to |
路径参数 |
名称, 类型, 说明 |
owner string 必选The account owner of the repository. The name is not case sensitive. |
repo string 必选The name of the repository. The name is not case sensitive. |
“Get the weekly commit activity”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | Returns a weekly aggregate of the number of additions and deletions pushed to a repository. |
202 | Accepted |
204 | A header with no content is returned. |
“Get the weekly commit activity”的示例代码
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/OWNER/REPO/stats/code_frequency
Returns a weekly aggregate of the number of additions and deletions pushed to a repository.
Status: 200
[
[
1302998400,
1124,
-435
]
]
Get the last year of commit activity
Returns the last year of commit activity grouped by week. The days
array is a group of commits per day, starting on Sunday
.
“Get the last year of commit activity”的参数
标头 |
---|
名称, 类型, 说明 |
accept string Setting to |
路径参数 |
名称, 类型, 说明 |
owner string 必选The account owner of the repository. The name is not case sensitive. |
repo string 必选The name of the repository. The name is not case sensitive. |
“Get the last year of commit activity”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
202 | Accepted |
204 | A header with no content is returned. |
“Get the last year of commit activity”的示例代码
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/OWNER/REPO/stats/commit_activity
Response
Status: 200
[
{
"days": [
0,
3,
26,
20,
39,
1,
0
],
"total": 89,
"week": 1336280400
}
]
Get all contributor commit activity
Returns the total
number of commits authored by the contributor. In addition, the response includes a Weekly Hash (weeks
array) with the following information:
w
- Start of the week, given as a Unix timestamp.a
- Number of additionsd
- Number of deletionsc
- Number of commits
“Get all contributor commit activity”的参数
标头 |
---|
名称, 类型, 说明 |
accept string Setting to |
路径参数 |
名称, 类型, 说明 |
owner string 必选The account owner of the repository. The name is not case sensitive. |
repo string 必选The name of the repository. The name is not case sensitive. |
“Get all contributor commit activity”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
202 | Accepted |
204 | A header with no content is returned. |
“Get all contributor commit activity”的示例代码
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/OWNER/REPO/stats/contributors
Response
Status: 200
[
{
"author": {
"login": "octocat",
"id": 1,
"node_id": "MDQ6VXNlcjE=",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://api.github.com/users/octocat/followers",
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
"organizations_url": "https://api.github.com/users/octocat/orgs",
"repos_url": "https://api.github.com/users/octocat/repos",
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/octocat/received_events",
"type": "User",
"site_admin": false
},
"total": 135,
"weeks": [
{
"w": 1367712000,
"a": 6898,
"d": 77,
"c": 10
}
]
}
]
Get the weekly commit count
Returns the total commit counts for the owner
and total commit counts in all
. all
is everyone combined, including the owner
in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract owner
from all
.
The array order is oldest week (index 0) to most recent week.
“Get the weekly commit count”的参数
标头 |
---|
名称, 类型, 说明 |
accept string Setting to |
路径参数 |
名称, 类型, 说明 |
owner string 必选The account owner of the repository. The name is not case sensitive. |
repo string 必选The name of the repository. The name is not case sensitive. |
“Get the weekly commit count”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | The array order is oldest week (index 0) to most recent week. |
404 | Resource not found |
“Get the weekly commit count”的示例代码
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/OWNER/REPO/stats/participation
The array order is oldest week (index 0) to most recent week.
Status: 200
{
"all": [
11,
21,
15,
2,
8,
1,
8,
23,
17,
21,
11,
10,
33,
91,
38,
34,
22,
23,
32,
3,
43,
87,
71,
18,
13,
5,
13,
16,
66,
27,
12,
45,
110,
117,
13,
8,
18,
9,
19,
26,
39,
12,
20,
31,
46,
91,
45,
10,
24,
9,
29,
7
],
"owner": [
3,
2,
3,
0,
2,
0,
5,
14,
7,
9,
1,
5,
0,
48,
19,
2,
0,
1,
10,
2,
23,
40,
35,
8,
8,
2,
10,
6,
30,
0,
2,
9,
53,
104,
3,
3,
10,
4,
7,
11,
21,
4,
4,
22,
26,
63,
11,
2,
14,
1,
10,
3
]
}
Get the hourly commit count for each day
Each array contains the day number, hour number, and number of commits:
0-6
: Sunday - Saturday0-23
: Hour of day- Number of commits
For example, [2, 14, 25]
indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits.
“Get the hourly commit count for each day”的参数
标头 |
---|
名称, 类型, 说明 |
accept string Setting to |
路径参数 |
名称, 类型, 说明 |
owner string 必选The account owner of the repository. The name is not case sensitive. |
repo string 必选The name of the repository. The name is not case sensitive. |
“Get the hourly commit count for each day”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | For example, |
204 | A header with no content is returned. |
“Get the hourly commit count for each day”的示例代码
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/OWNER/REPO/stats/punch_card
For example, [2, 14, 25]
indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits.
Status: 200
[
[
0,
0,
5
],
[
0,
1,
43
],
[
0,
2,
21
]
]