Vous pouvez extraire automatiquement des de GitHub pour remplir les systèmes métier que vous utilisez pour surveiller les coûts et l’utilisation à l’aide de l’API REST. Si vous n’avez jamais utilisé l’API REST GitHub, consultez En utilisant l’API REST.
Vue d’ensemble des points de terminaison
Vous devez utiliser différents points de terminaison pour collecter des données en fonction du type de compte et du niveau d’information souhaité.
Compte | État | y accéder | Point de terminaison | Plus d’informations |
---|---|---|---|---|
Utilisateurs | Données d’utilisation pour tous les produits payants | Titulaire du compte | /users/{username}/settings/billing/usage | Plateforme de facturation améliorée |
Organisations | Consommation des demandes premium, avec détails sur le quota et l’utilisation facturée à l’usage | Propriétaires d’organisation et gestionnaires de facturation | /organizations/{org}/settings/billing/premium_request/usage | Plateforme de facturation améliorée |
Organisations | Données d’utilisation pour tous les produits payants | Propriétaires d’organisation et gestionnaires de facturation | /organizations/{org}/settings/billing/usage | Plateforme de facturation améliorée |
Entreprises | Consommation des demandes premium, avec détails sur le quota et l’utilisation facturée à l’usage | Propriétaires d’entreprise et gestionnaires de facturation | /enterprises/{enterprise}/settings/billing/premium_request/usage | Points de terminaison d’API REST pour la facturation de l’entreprise |
Entreprises | Données d’utilisation pour tous les produits payants | Propriétaires d’entreprise et gestionnaires de facturation | /enterprises/{enterprise}/settings/billing/usage | Points de terminaison d’API REST pour la facturation de l’entreprise |
Obtention de la consommation des demandes premium
-
Authentifiez-vous avec GitHub avec l’une des méthodes suivantes :
- GitHub CLI : utilisez la commande
gh auth login
pour vous authentifier, consultez Guide de démarrage rapide sur l’interface CLI de GitHub. - Créez un personal access token (classic) : et transmettez le jeton dans votre appel d’API, consultez Création d’un personal access token (classic).
- GitHub CLI : utilisez la commande
-
Appelez le point de terminaison
premium_request/usage
requis, en spécifiant l’entreprise, l’organisation ou l’utilisateur pour lequel vous souhaitez obtenir des données.
Pour télécharger d’autres métriques pour GitHub Copilot, consultez Analyse de l’utilisation au fil du temps avec l’API de métriques GitHub Copilot.
Obtention des données d’utilisation pour tous les produits payants
-
Authentifiez-vous avec GitHub avec l’une des méthodes suivantes :
- GitHub CLI : utilisez la commande
gh auth login
pour vous authentifier, consultez Guide de démarrage rapide sur l’interface CLI de GitHub. - Créez un personal access token (classic) : et transmettez le jeton dans votre appel d’API, consultez Création d’un personal access token (classic).
- GitHub CLI : utilisez la commande
-
Appelez le point de terminaison
usage
requis, en spécifiant l’entreprise, l’organisation ou l’utilisateur pour lequel vous souhaitez obtenir des données. -
Par défaut, les données pour tous les produits pour l’année en cours sont signalées. Pour les entreprises, seules les données qui ne sont pas associées à un centre de coûts sont signalées.
Vous pouvez demander des données plus spécifiques à l’aide de paramètres de requête.
- Spécifiez la période en définissant un ou plusieurs des paramètres suivants :
year
,month
,day
ethour
. - Spécifiez un centre de coûts à signaler par identifiant à l’aide du paramètre de requête
cost_center_id
(point de terminaison d’entreprise uniquement).
- Spécifiez la période en définissant un ou plusieurs des paramètres suivants :
Pour plus d’informations et pour obtenir des exemples d’appels et de réponses, consultez :
- Obtenir le rapport d’utilisation de facturation pour une entreprise
- Obtenir le rapport d’utilisation de facturation pour une organisation
- Obtenir le rapport d’utilisation de facturation pour un utilisateur
Migration à partir des points de terminaison utilisés pour la plateforme de facturation précédente
Après votre transition vers la facturation à l’usage, les points de terminaison que vous utilisiez pour obtenir des données depuis l’ancienne plateforme de facturation ne renverront plus d’informations d’utilisation précises.
- Mettre à niveau tous les appels du formulaire :
/ACCOUNT-TYPE/NAME/settings/billing/PRODUCT
- Pour utiliser l’équivalent : point de terminaison
/ACCOUNT-TYPE/NAME/settings/billing/usage
Modifications apportées à l’authentification
Si vous avez utilisé un fine-grained personal access token pour vous authentifier avec les points de terminaison précédents, vous devrez créer un personal access token (classic) pour vous authentifier avec le nouveau point de terminaison.
En outre, vous pouvez utiliser les nouveaux paramètres de requête pour spécifier une période ou un centre de coûts.
Calcul des informations GitHub Actions à partir des nouvelles données de réponse
Exemple de réponse précédente
{"total_minutes_used": 305, "total_paid_minutes_used": 0, "included_minutes": 3000, "minutes_used_breakdown": { "UBUNTU": 205, "MACOS": 10, "WINDOWS": 90 } }
Exemple de nouvelle réponse
{ "usageItems": [ { "date": "2023-08-01", "product": "Actions", "sku": "Actions Linux", "quantity": 100, "unitType": "minutes", "pricePerUnit": 0.008, "grossAmount": 0.8, "discountAmount": 0, "netAmount": 0.8, "organizationName": "GitHub", "repositoryName": "github/example"} ] }
Pour obtenir les mêmes valeurs à partir des nouvelles données de réponse :
Propriété précédente | Calcul à partir d'une nouvelle réponse de l'API |
---|---|
total_minutes_used |
|
total_paid_minutes_used | Ceci est maintenant représenté sous la forme d’un montant de $ via netAmount .
|
included_minutes | Ceci est maintenant représenté sous la forme d’un montant de $ via discountAmount .
|
minutes_used_breakdown |
|
Calcul des informations GitHub Packages à partir des nouvelles données de réponse
Exemple de réponse précédente
{ "total_gigabytes_bandwidth_used": 50, "total_paid_gigabytes_bandwidth_used": 40, "included_gigabytes_bandwidth": 10 }
Exemple de nouvelle réponse
{ "usageItems": [ { "date": "2023-08-01", "product": "Packages", "sku": "Packages data transfer", "quantity": 100, "unitType": "gigabytes", "pricePerUnit": 0.008, "grossAmount": 0.8, "discountAmount": 0, "netAmount": 0.8, "organizationName": "GitHub", "repositoryName": "github/example" } ] }
Propriété précédente | Calcul à partir d'une nouvelle réponse de l'API |
---|---|
total_gigabytes_bandwidth_used |
|
total_paid_gigabytes_bandwidth_used | Ceci est maintenant représenté sous la forme d’un montant de $ via netAmount .
|
included_gigabytes_bandwidth | Ceci est maintenant représenté sous la forme d’un montant de $ via discountAmount .
|
Calcul des informations de stockage partagé à partir des nouvelles données de réponse
Exemple de réponse précédente
{ "days_left_in_billing_cycle": 20, "estimated_paid_storage_for_month": 15, "estimated_storage_for_month": 40 }
Exemple de nouvelle réponse
{ "usageItems": [ { "date": "2023-08-01", "product": "Packages", "sku": "Packages storage", "quantity": 100, "unitType": "GigabyteHours", "pricePerUnit": 0.008, "grossAmount": 0.8, "discountAmount": 0, "netAmount": 0.8, "organizationName": "GitHub", "repositoryName": "github/example" } ] }
Propriété précédente | Calcul à partir d'une nouvelle réponse de l'API |
---|---|
days_left_in_billing_cycle | Non disponible. Cette information peut être déduite en soustrayant le jour du mois en cours du nombre de jours du mois en cours. |
estimated_paid_storage_for_month | Ceci est maintenant représenté sous la forme d’un montant de $ via netAmount . Prérequis : transmettez les paramètres de requête month et year . Pour le stockage des actions
|
estimated_storage_for_month | Prérequis : transmettez les paramètres de requête month et year . Pour le stockage des actions
|