Copilot 메트릭에 대한 REST API 엔드포인트
REST API를 사용하여 Copilot 메트릭을 봅니다.
이러한 엔드포인트를 사용하여 다양한 GitHub Copilot 기능에 대해 집계된 메트릭을 분석할 수 있습니다. API에는 다음이 포함됩니다.
- 지난 28일 동안의 데이터
- 활성 사용자와 참여 사용자 수
- 언어와 IDE별 분석
- 엔터프라이즈, 조직, 팀의 메트릭을 보는 옵션
현재 GitHub Copilot 사용 메트릭에 대한 REST API 엔드포인트을(를) 사용하는 경우 가능한 한 빨리 이러한 엔드포인트로 마이그레이션하는 것이 좋습니다.
시작에 대한 도움말은 Copilot 메트릭 API를 사용하여 시간대별 사용량 분석을(를) 참조하세요.
Get Copilot metrics for an organization
Use this endpoint to see a breakdown of aggregated metrics for various GitHub Copilot features. See the response schema tab for detailed metrics definitions.
Note
This endpoint will only return results for a given day if the organization contained five or more members with active Copilot licenses on that day, as evaluated at the end of that day.
The response contains metrics for up to 28 days prior. Metrics are processed once per day for the previous day, and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, they must have telemetry enabled in their IDE.
To access this endpoint, the Copilot Metrics API access policy must be enabled for the organization. Only organization owners and owners and billing managers of the parent enterprise can view Copilot metrics.
OAuth app tokens and personal access tokens (classic) need either the manage_billing:copilot
, read:org
, or read:enterprise
scopes to use this endpoint.
"Get Copilot metrics for an organization"에 대한 세분화된 액세스 토큰
이 엔드포인트는 다음 세분화된 토큰 형식에서 작동합니다.:
세분화된 토큰에는 다음 권한 집합 중 하나 이상이 있어야 합니다.:
- "GitHub Copilot Business" organization permissions (read)
- "Administration" organization permissions (read)
"Get Copilot metrics for an organization"에 대한 매개 변수
속성, 형식, 설명 |
---|
accept string Setting to |
속성, 형식, 설명 |
---|
org string RequiredThe organization name. The name is not case sensitive. |
속성, 형식, 설명 |
---|
since string Show usage metrics since this date. This is a timestamp in ISO 8601 format ( |
until string Show usage metrics until this date. This is a timestamp in ISO 8601 format ( |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." 기본값: |
per_page integer The number of days of metrics to display per page (max 28). For more information, see "Using pagination in the REST API." 기본값: |
"Get Copilot metrics for an organization"에 대한 HTTP 응답 상태 코드
상태 코드 | 설명 |
---|---|
200 | OK |
403 | Forbidden |
404 | Resource not found |
422 | Copilot Usage Merics API setting is disabled at the organization or enterprise level. |
500 | Internal Error |
"Get Copilot metrics for an organization"에 대한 코드 샘플
요청 예제
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/orgs/ORG/copilot/metrics
Response
Status: 200
[
{
"date": "2024-06-24",
"total_active_users": 24,
"total_engaged_users": 20,
"copilot_ide_code_completions": {
"total_engaged_users": 20,
"languages": [
{
"name": "python",
"total_engaged_users": 10
},
{
"name": "ruby",
"total_engaged_users": 10
}
],
"editors": [
{
"name": "vscode",
"total_engaged_users": 13,
"models": [
{
"name": "default",
"is_custom_model": false,
"custom_model_training_date": null,
"total_engaged_users": 13,
"languages": [
{
"name": "python",
"total_engaged_users": 6,
"total_code_suggestions": 249,
"total_code_acceptances": 123,
"total_code_lines_suggested": 225,
"total_code_lines_accepted": 135
},
{
"name": "ruby",
"total_engaged_users": 7,
"total_code_suggestions": 496,
"total_code_acceptances": 253,
"total_code_lines_suggested": 520,
"total_code_lines_accepted": 270
}
]
}
]
},
{
"name": "neovim",
"total_engaged_users": 7,
"models": [
{
"name": "a-custom-model",
"is_custom_model": true,
"custom_model_training_date": "2024-02-01",
"languages": [
{
"name": "typescript",
"total_engaged_users": 3,
"total_code_suggestions": 112,
"total_code_acceptances": 56,
"total_code_lines_suggested": 143,
"total_code_lines_accepted": 61
},
{
"name": "go",
"total_engaged_users": 4,
"total_code_suggestions": 132,
"total_code_acceptances": 67,
"total_code_lines_suggested": 154,
"total_code_lines_accepted": 72
}
]
}
]
}
]
},
"copilot_ide_chat": {
"total_engaged_users": 13,
"editors": [
{
"name": "vscode",
"total_engaged_users": 13,
"models": [
{
"name": "default",
"is_custom_model": false,
"custom_model_training_date": null,
"total_engaged_users": 12,
"total_chats": 45,
"total_chat_insertion_events": 12,
"total_chat_copy_events": 16
},
{
"name": "a-custom-model",
"is_custom_model": true,
"custom_model_training_date": "2024-02-01",
"total_engaged_users": 1,
"total_chats": 10,
"total_chat_insertion_events": 11,
"total_chat_copy_events": 3
}
]
}
]
},
"copilot_dotcom_chat": {
"total_engaged_users": 14,
"models": [
{
"name": "default",
"is_custom_model": false,
"custom_model_training_date": null,
"total_engaged_users": 14,
"total_chats": 38
}
]
},
"copilot_dotcom_pull_requests": {
"total_engaged_users": 12,
"repositories": [
{
"name": "demo/repo1",
"total_engaged_users": 8,
"models": [
{
"name": "default",
"is_custom_model": false,
"custom_model_training_date": null,
"total_pr_summaries_created": 6,
"total_engaged_users": 8
}
]
},
{
"name": "demo/repo2",
"total_engaged_users": 4,
"models": [
{
"name": "a-custom-model",
"is_custom_model": true,
"custom_model_training_date": "2024-02-01",
"total_pr_summaries_created": 10,
"total_engaged_users": 4
}
]
}
]
}
}
]
Get Copilot metrics for a team
Use this endpoint to see a breakdown of aggregated metrics for various GitHub Copilot features. See the response schema tab for detailed metrics definitions.
Note
This endpoint will only return results for a given day if the team had five or more members with active Copilot licenses on that day, as evaluated at the end of that day.
The response contains metrics for up to 28 days prior. Metrics are processed once per day for the previous day, and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, they must have telemetry enabled in their IDE.
To access this endpoint, the Copilot Metrics API access policy must be enabled for the organization containing the team within GitHub settings. Only organization owners for the organization that contains this team and owners and billing managers of the parent enterprise can view Copilot metrics for a team.
OAuth app tokens and personal access tokens (classic) need either the manage_billing:copilot
, read:org
, or read:enterprise
scopes to use this endpoint.
"Get Copilot metrics for a team"에 대한 세분화된 액세스 토큰
이 엔드포인트는 다음 세분화된 토큰 형식에서 작동합니다.:
세분화된 토큰에는 다음 권한 집합 중 하나 이상이 있어야 합니다.:
- "GitHub Copilot Business" organization permissions (read)
- "Administration" organization permissions (read)
"Get Copilot metrics for a team"에 대한 매개 변수
속성, 형식, 설명 |
---|
accept string Setting to |
속성, 형식, 설명 |
---|
org string RequiredThe organization name. The name is not case sensitive. |
team_slug string RequiredThe slug of the team name. |
속성, 형식, 설명 |
---|
since string Show usage metrics since this date. This is a timestamp in ISO 8601 format ( |
until string Show usage metrics until this date. This is a timestamp in ISO 8601 format ( |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." 기본값: |
per_page integer The number of days of metrics to display per page (max 28). For more information, see "Using pagination in the REST API." 기본값: |
"Get Copilot metrics for a team"에 대한 HTTP 응답 상태 코드
상태 코드 | 설명 |
---|---|
200 | OK |
403 | Forbidden |
404 | Resource not found |
422 | Copilot Usage Merics API setting is disabled at the organization or enterprise level. |
500 | Internal Error |
"Get Copilot metrics for a team"에 대한 코드 샘플
요청 예제
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/orgs/ORG/team/TEAM_SLUG/copilot/metrics
Response
Status: 200
[
{
"date": "2024-06-24",
"total_active_users": 24,
"total_engaged_users": 20,
"copilot_ide_code_completions": {
"total_engaged_users": 20,
"languages": [
{
"name": "python",
"total_engaged_users": 10
},
{
"name": "ruby",
"total_engaged_users": 10
}
],
"editors": [
{
"name": "vscode",
"total_engaged_users": 13,
"models": [
{
"name": "default",
"is_custom_model": false,
"custom_model_training_date": null,
"total_engaged_users": 13,
"languages": [
{
"name": "python",
"total_engaged_users": 6,
"total_code_suggestions": 249,
"total_code_acceptances": 123,
"total_code_lines_suggested": 225,
"total_code_lines_accepted": 135
},
{
"name": "ruby",
"total_engaged_users": 7,
"total_code_suggestions": 496,
"total_code_acceptances": 253,
"total_code_lines_suggested": 520,
"total_code_lines_accepted": 270
}
]
}
]
},
{
"name": "neovim",
"total_engaged_users": 7,
"models": [
{
"name": "a-custom-model",
"is_custom_model": true,
"custom_model_training_date": "2024-02-01",
"languages": [
{
"name": "typescript",
"total_engaged_users": 3,
"total_code_suggestions": 112,
"total_code_acceptances": 56,
"total_code_lines_suggested": 143,
"total_code_lines_accepted": 61
},
{
"name": "go",
"total_engaged_users": 4,
"total_code_suggestions": 132,
"total_code_acceptances": 67,
"total_code_lines_suggested": 154,
"total_code_lines_accepted": 72
}
]
}
]
}
]
},
"copilot_ide_chat": {
"total_engaged_users": 13,
"editors": [
{
"name": "vscode",
"total_engaged_users": 13,
"models": [
{
"name": "default",
"is_custom_model": false,
"custom_model_training_date": null,
"total_engaged_users": 12,
"total_chats": 45,
"total_chat_insertion_events": 12,
"total_chat_copy_events": 16
},
{
"name": "a-custom-model",
"is_custom_model": true,
"custom_model_training_date": "2024-02-01",
"total_engaged_users": 1,
"total_chats": 10,
"total_chat_insertion_events": 11,
"total_chat_copy_events": 3
}
]
}
]
},
"copilot_dotcom_chat": {
"total_engaged_users": 14,
"models": [
{
"name": "default",
"is_custom_model": false,
"custom_model_training_date": null,
"total_engaged_users": 14,
"total_chats": 38
}
]
},
"copilot_dotcom_pull_requests": {
"total_engaged_users": 12,
"repositories": [
{
"name": "demo/repo1",
"total_engaged_users": 8,
"models": [
{
"name": "default",
"is_custom_model": false,
"custom_model_training_date": null,
"total_pr_summaries_created": 6,
"total_engaged_users": 8
}
]
},
{
"name": "demo/repo2",
"total_engaged_users": 4,
"models": [
{
"name": "a-custom-model",
"is_custom_model": true,
"custom_model_training_date": "2024-02-01",
"total_pr_summaries_created": 10,
"total_engaged_users": 4
}
]
}
]
}
}
]