Points d'accès à l'API REST pour les mesures de Copilot
Utilisez l'API REST pour afficher les mesures de Copilot.
Vous pouvez utiliser ces points de terminaison pour obtenir une décomposition des métriques agrégées pour différentes fonctionnalités GitHub Copilot. L’API comprend :
- Données des 28 derniers jours
- Nombre d’utilisateurs actifs et d’utilisateurs engagés
- Répartitions par langue et IDE
- Option permettant d’afficher les métriques d’une entreprise, d’une organisation ou d’une équipe
Si vous utilisez actuellement Points de terminaison d'API REST pour les métriques d'utilisation de GitHub Copilot, nous vous recommandons de migrer vers ces points de terminaison dès que possible.
Pour obtenir de l'aide au démarrage, voir Analyse de l’utilisation au fil du temps avec l’API de métriques Copilot.
Get Copilot metrics for an enterprise
Use this endpoint to see a breakdown of aggregated metrics for various GitHub Copilot features. See the response schema tab for detailed metrics definitions.
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 or set to "no policy" for the enterprise within GitHub settings. Only enterprise owners and billing managers can view Copilot metrics for the enterprise.
OAuth app tokens and personal access tokens (classic) need either the manage_billing:copilot
or read:enterprise
scopes to use this endpoint.
Jetons d’accès affinés pour « Get Copilot metrics for an enterprise »
Ce point de terminaison ne fonctionne pas avec les jetons d’accès utilisateur d’application GitHub, les jetons d’accès d’installation d’application GitHub ou les jetons d’accès personnels affinés.
Paramètres pour « Get Copilot metrics for an enterprise »
Nom, Type, Description |
---|
accept string Setting to |
Nom, Type, Description |
---|
enterprise string ObligatoireThe slug version of the enterprise name. You can also substitute this value with the enterprise id. |
Nom, Type, Description |
---|
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." Default: |
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." Default: |
Codes d’état de la réponse HTTP pour « Get Copilot metrics for an enterprise »
Code d’état | Description |
---|---|
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 |
Exemples de code pour « Get Copilot metrics for an enterprise »
Si vous accédez à GitHub à GHE.com, remplacez api.github.com
par le sous-domaine dédié de votre entreprise à api.SUBDOMAIN.ghe.com
.
Exemple de requête
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/enterprises/ENTERPRISE/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 an enterprise team
Note
This endpoint is only applicable to dedicated enterprise accounts for Copilot Business. See "About enterprise accounts for Copilot Business."
Use this endpoint to see a breakdown of aggregated metrics for various GitHub Copilot features. See the response schema tab for detailed metrics definitions.
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.
Note
This endpoint will only return results for a given day if the enterprise team had five or more members with active Copilot licenses on that day, as evaluated at the end of that day.
To access this endpoint, the Copilot Metrics API access policy must be enabled or set to "no policy" for the enterprise within GitHub settings. Only owners and billing managers for the enterprise that contains the enterprise team can view Copilot metrics for the enterprise team.
OAuth app tokens and personal access tokens (classic) need either the manage_billing:copilot
or read:enterprise
scopes to use this endpoint.
Jetons d’accès affinés pour « Get Copilot metrics for an enterprise team »
Ce point de terminaison ne fonctionne pas avec les jetons d’accès utilisateur d’application GitHub, les jetons d’accès d’installation d’application GitHub ou les jetons d’accès personnels affinés.
Paramètres pour « Get Copilot metrics for an enterprise team »
Nom, Type, Description |
---|
accept string Setting to |
Nom, Type, Description |
---|
enterprise string ObligatoireThe slug version of the enterprise name. You can also substitute this value with the enterprise id. |
team_slug string ObligatoireThe slug of the enterprise team name. |
Nom, Type, Description |
---|
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." Default: |
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." Default: |
Codes d’état de la réponse HTTP pour « Get Copilot metrics for an enterprise team »
Code d’état | Description |
---|---|
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 |
Exemples de code pour « Get Copilot metrics for an enterprise team »
Si vous accédez à GitHub à GHE.com, remplacez api.github.com
par le sous-domaine dédié de votre entreprise à api.SUBDOMAIN.ghe.com
.
Exemple de requête
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/enterprises/ENTERPRISE/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
}
]
}
]
}
}
]
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.
Jetons d’accès affinés pour « Get Copilot metrics for an organization »
Ce point de terminaison fonctionne avec les types de jetons précis suivants:
- Jetons d’accès utilisateur d’application GitHub
- Jetons d’accès d’installation d’application GitHub
- Jetons d’accès personnel affiné
Le jeton précis doit avoir au moins l’un des ensembles d’autorisations suivants:
- "GitHub Copilot Business" organization permissions (read)
- "Administration" organization permissions (read)
Paramètres pour « Get Copilot metrics for an organization »
Nom, Type, Description |
---|
accept string Setting to |
Nom, Type, Description |
---|
org string ObligatoireThe organization name. The name is not case sensitive. |
Nom, Type, Description |
---|
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." Default: |
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." Default: |
Codes d’état de la réponse HTTP pour « Get Copilot metrics for an organization »
Code d’état | Description |
---|---|
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 |
Exemples de code pour « Get Copilot metrics for an organization »
Si vous accédez à GitHub à GHE.com, remplacez api.github.com
par le sous-domaine dédié de votre entreprise à api.SUBDOMAIN.ghe.com
.
Exemple de requête
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.
Jetons d’accès affinés pour « Get Copilot metrics for a team »
Ce point de terminaison fonctionne avec les types de jetons précis suivants:
- Jetons d’accès utilisateur d’application GitHub
- Jetons d’accès d’installation d’application GitHub
- Jetons d’accès personnel affiné
Le jeton précis doit avoir au moins l’un des ensembles d’autorisations suivants:
- "GitHub Copilot Business" organization permissions (read)
- "Administration" organization permissions (read)
Paramètres pour « Get Copilot metrics for a team »
Nom, Type, Description |
---|
accept string Setting to |
Nom, Type, Description |
---|
org string ObligatoireThe organization name. The name is not case sensitive. |
team_slug string ObligatoireThe slug of the team name. |
Nom, Type, Description |
---|
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." Default: |
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." Default: |
Codes d’état de la réponse HTTP pour « Get Copilot metrics for a team »
Code d’état | Description |
---|---|
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 |
Exemples de code pour « Get Copilot metrics for a team »
Si vous accédez à GitHub à GHE.com, remplacez api.github.com
par le sous-domaine dédié de votre entreprise à api.SUBDOMAIN.ghe.com
.
Exemple de requête
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
}
]
}
]
}
}
]