We've recently moved some of the REST API documentation. If you can't find what you're looking for, you might try the new Branches, Collaborators, Commits, Deploy Keys, Deployments, GitHub Pages, Releases, Metrics, Webhooks REST API pages.
Статистика репозитория
Используйте REST API для получения данных, которые GitHub Enterprise Server использует для визуализации различных типов действий репозитория.
Сведения о статистике репозитория
Вы можете использовать REST API для получения данных, которые GitHub Enterprise Server использует для визуализации различных типов действий репозитория.
Рекомендации по кэшированию
Вычисление статистики репозитория является дорогостоящей операцией, поэтому мы по возможности стараемся возвращать кэшированные данные. Если данные не кэшировались при запросе статистики репозитория, вы получите ответ 202
, но в то же время запустится фоновое задание для начала компиляции этой статистики. Вы должны дать задание некоторое время для завершения, а затем отправить запрос еще раз. Если задание завершено, этот запрос получит ответ 200
со статистикой в тексте ответа.
Статистика репозитория кэшируются алгоритмом SHA в ветви репозитория по умолчанию. Принудительная отправка в ветвь по умолчанию сбрасывает кэш статистики.
Статистика не включает некоторые типы фиксаций
Статистика, предоставляемая API, соответствует статистике, отображаемой различными графами репозитория.
Подытожим это:
- Все статистические данные не содержат фиксации слияния.
- Статистика участника также не включает пустые фиксации.
Get the weekly commit activity
Returns a weekly aggregate of the number of additions and deletions pushed to a repository.
Параметры
Заголовки |
---|
Имя, Тип, Описание |
accept stringSetting 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. |
Коды состояния 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. |
Примеры кода
curl \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/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
.
Параметры
Заголовки |
---|
Имя, Тип, Описание |
accept stringSetting 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. |
Коды состояния HTTP-ответа
Код состояния | Описание |
---|---|
200 | OK |
202 | Accepted |
204 | A header with no content is returned. |
Примеры кода
curl \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/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
Параметры
Заголовки |
---|
Имя, Тип, Описание |
accept stringSetting 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. |
Коды состояния HTTP-ответа
Код состояния | Описание |
---|---|
200 | OK |
202 | Accepted |
204 | A header with no content is returned. |
Примеры кода
curl \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/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.
Параметры
Заголовки |
---|
Имя, Тип, Описание |
accept stringSetting 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. |
Коды состояния HTTP-ответа
Код состояния | Описание |
---|---|
200 | The array order is oldest week (index 0) to most recent week. |
404 | Resource not found |
Примеры кода
curl \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/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.
Параметры
Заголовки |
---|
Имя, Тип, Описание |
accept stringSetting 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. |
Коды состояния HTTP-ответа
Код состояния | Описание |
---|---|
200 | For example, |
204 | A header with no content is returned. |
Примеры кода
curl \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/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
]
]