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.
リポジトリ統計
リポジトリ統計 API を使うと、GitHub AE がさまざまな種類のリポジトリ アクティビティを視覚化するために使うデータをフェッチできます。
リポジトリ統計 API について
リポジトリ統計 API を使うと、GitHub AE がさまざまな種類のリポジトリ アクティビティを視覚化するために使うデータをフェッチできます。
キャッシングについて
リポジトリの統計情報を計算するのは負荷が高い操作なので、可能な限りキャッシュされたデータを返すようにしています。 リポジトリの統計をクエリした際にデータがキャッシュされていない場合は、202
応答を受け取ります。また、この統計をまとめるため、バックグラウンドでジョブが開始します。 このジョブが完了するまで少し待ってから、要求を再度送信してください。 ジョブが完了していた場合、その要求は 200
応答を受けとり、応答の本文には統計情報が含まれています。
リポジトリの統計情報は、リポジトリのデフォルトブランチに SHA でキャッシュされ、デフォルトのブランチにプッシュすると統計情報のキャッシュがリセットされます。
統計で除外されるコミットのタイプ
API によって公開される統計は、異なるリポジトリ グラフによって示される統計と一致します。
まとめ
- すべての統計は、マージコミットが除外されます。
- コントリビューター統計では、空のコミットも除外されます。
Get the weekly commit activity
Returns a weekly aggregate of the number of additions and deletions pushed to a repository.
Parameters
Headers |
---|
名前, Type, 説明 |
accept stringSetting to |
Path parameters |
名前, Type, 説明 |
owner stringRequiredThe account owner of the repository. The name is not case sensitive. |
repo stringRequiredThe name of the repository. The name is not case sensitive. |
HTTP response status codes
Status code | 説明 |
---|---|
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. |
Code samples
curl \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
https://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
.
Parameters
Headers |
---|
名前, Type, 説明 |
accept stringSetting to |
Path parameters |
名前, Type, 説明 |
owner stringRequiredThe account owner of the repository. The name is not case sensitive. |
repo stringRequiredThe name of the repository. The name is not case sensitive. |
HTTP response status codes
Status code | 説明 |
---|---|
200 | OK |
202 | Accepted |
204 | A header with no content is returned. |
Code samples
curl \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
https://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
Parameters
Headers |
---|
名前, Type, 説明 |
accept stringSetting to |
Path parameters |
名前, Type, 説明 |
owner stringRequiredThe account owner of the repository. The name is not case sensitive. |
repo stringRequiredThe name of the repository. The name is not case sensitive. |
HTTP response status codes
Status code | 説明 |
---|---|
200 | OK |
202 | Accepted |
204 | A header with no content is returned. |
Code samples
curl \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
https://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.
Parameters
Headers |
---|
名前, Type, 説明 |
accept stringSetting to |
Path parameters |
名前, Type, 説明 |
owner stringRequiredThe account owner of the repository. The name is not case sensitive. |
repo stringRequiredThe name of the repository. The name is not case sensitive. |
HTTP response status codes
Status code | 説明 |
---|---|
200 | The array order is oldest week (index 0) to most recent week. |
404 | Resource not found |
Code samples
curl \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
https://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.
Parameters
Headers |
---|
名前, Type, 説明 |
accept stringSetting to |
Path parameters |
名前, Type, 説明 |
owner stringRequiredThe account owner of the repository. The name is not case sensitive. |
repo stringRequiredThe name of the repository. The name is not case sensitive. |
HTTP response status codes
Status code | 説明 |
---|---|
200 | For example, |
204 | A header with no content is returned. |
Code samples
curl \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
https://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
]
]