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 pas encore utilisé l'API REST GitHub REST API, les articles suivants sont un bon point de départ, consultez Utilisation de l’API REST.
Utilisation du point de terminaison /usage
de la plateforme de facturation pour récupérer les détails de l’utilisation facturée à l’usage pour une entreprise ou une organisation
La plateforme de facturation améliorée fournit des points de terminaison /usage
REST API que vous pouvez utiliser pour générer des rapports sur l’utilisation de tous les produits facturés à l’usage dans une entreprise ou une organisation. Les données d’utilisation fournies par le point de terminaison de l’entreprise sont disponibles pour les propriétaires de l’entreprise et les gestionnaires de facturation de l’entreprise. Les données fournies par le point de terminaison de l’organisation sont disponibles pour les propriétaires de l’organisation au sein d’une entreprise et les propriétaires de l’organisation au sein d’un compte d’organisation. Vous devrez vous authentifier avec GitHub.
- Si vous utilisez l’interface CLI GitHub, utilisez la commande
gh auth login
pour vous authentifier. - Sinon, vous devrez créer un personal access token (classic), consultez Créer un personal access token (classic) .
Lorsque vous appelez un point de terminaison /usage
, vous devez spécifier l’entreprise ou l’organisation pour laquelle vous souhaitez obtenir des données et, par défaut, l’utilisation pour l’année en cours qui n’appartient pas à un centre de coûts est signalée. Vous pouvez réduire l’étendue des données retournées par le point de terminaison à l’aide de paramètres de requête.
- Définissez une période spécifique en définissant un ou plusieurs des paramètres suivants :
year
,month
,day
ethour
. - Définissez un centre de coûts à signaler par identificateur à l’aide du paramètre de requête
cost_center_id
. Ce paramètre de requête est uniquement disponible pour le point de terminaison au niveau de l’entreprise.
Pour obtenir des informations plus détaillées et un exemple d’appel et de réponse, consultez Obtenir le rapport d’utilisation de la facturation pour une entreprise ou Obtenir le rapport d’utilisation de la facturation pour une organisation .
Migration à partir des points de terminaison utilisés pour la plateforme de facturation précédente
La plateforme de facturation précédente a fourni trois points de terminaison différents pour les données d’utilisation :
- obtenir la facturation GitHub Actions pour und’entreprise
- obtenir la facturation GitHub Actions pour und’entreprise
- Obtenir la facturation du stockage partagé pour und’entreprise
Lorsque vous passez à la plateforme de facturation améliorée, ces points de terminaison ne retournent plus d’informations d’utilisation précises. Vous devez mettre à niveau toute automatisation qui utilise ces points de terminaison pour utiliser le nouveau point de terminaison GET /enterprises/{enterprise}/settings/billing/usage. Les tableaux ci-dessous fournissent une explication détaillée sur l’utilisation de la plateforme de facturation pour récupérer des informations équivalentes.
Modifications apportées à la définition d’appel
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.
Obtention des données de facturation 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 |
|
Obtention des données de facturation GitHub Actions à 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 .
|
Obtenir la facturation du 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
|