Du kannst automatisch Daten von GitHub pullen und die Unternehmenssysteme damit auffüllen, mit denen du die Kosten und die Nutzung mithilfe der REST-API überwachst. Wenn du die GitHub-REST-API noch nie verwendet hast, beginne mit den Artikeln unter Verwenden der REST-API.
Verwenden des /usage
-Endpunkts der Abrechnungsplattform zum Abrufen getakteter Nutzungsdetails für ein Unternehmen
Die erweiterte Abrechnungsplattform bietet einen einzelnen REST-API-Endpunkt /usage
, den du für Berichte über die Nutzung aller getakteten Produkte verwenden kannst. Die von diesem Endpunkt bereitgestellten Nutzungsdaten sind nur für Unternehmensbesitzer und Unternehmensabrechnungs-Manager verfügbar. Daher musst du dich mit GitHub authentifizieren.
- Wenn du die GitHub-CLI verwendest, nutze zum Authentifizieren den Befehl
gh auth login
. - Andernfalls musst du ein personal access token (classic) erstellen. Weitere Informationen dazu findest du unter Erstellen eines personal access token (classic).
Wenn du den /usage
-Endpunkt aufrufst, musst du das Unternehmen angeben, für das du die Daten benötigst, sowie standardmäßig auch die Nutzung des aktuellen Jahrs, die nicht zu einer Kostenstelle gehört, über die ein Bericht erstellt wurde. Du kannst den vom Endpunkt zurückgegebenen Datenumfang mithilfe von Abfrageparametern verringern.
- Definiere einen bestimmten Zeitraum, indem du einen oder mehrere der folgenden Parameter festlegst:
year
,month
,day
undhour
. - Definiere eine Kostenstelle, über die du mit dem Abfrageparameter
cost_center_id
einen Bericht anhand des Bezeichners erstellen möchtest.
Ausführlichere Informationen und ein Beispiel für einen Aufruf und eine Antwort findest du unter Abrufen des Abrechnungsnutzungsberichts für ein Unternehmen.
Migrieren von den Endpunkten, die für die vorherige Abrechnungsplattform verwendet wurden
Die vorherige Abrechnungsplattform stellte drei verschiedene Endpunkte für Nutzungsdaten bereit:
- Abrufen der Abrechnung von GitHub Actions für ein Unternehmen
- Abrufen der Abrechnung von GitHub Packages für ein Unternehmen
- Abrufen der Abrechnung für freigegebenen Speicher für ein Unternehmen
Wenn du zur erweiterten Abrechnungsplattform wechselst, geben diese Endpunkte keine genauen Nutzungsinformationen mehr zurück. Du solltest alle Automatisierungen upgraden, die diese Endpunkte verwenden, um den neuen Endpunkt GET /enterprises/{enterprise}/settings/billing/usage nutzen zu können. In den folgenden Tabellen findest du eine ausführliche Erläuterung zum Verwenden der Abrechnungsplattform, um entsprechende Informationen abzurufen.
Änderungen an der Aufrufdefinition
Wenn du ein fine-grained personal access token zum Authentifizieren bei den vorherigen Endpunkten verwendet hast, musst du ein für das Authentifizieren beim neuen Endpunkt ein personal access token (classic) erstellen.
Darüber hinaus kannst du die neuen Abfrageparameter verwenden, um einen Zeitraum oder eine Kostenstelle anzugeben.
Abrufen von Abrechnungsdaten zu GitHub Actions aus den neuen Antwortdaten
Beispiel für die vorherige Antwort
{"total_minutes_used": 305, "total_paid_minutes_used": 0, "included_minutes": 3000, "minutes_used_breakdown": { "UBUNTU": 205, "MACOS": 10, "WINDOWS": 90 } }
Beispiel für die neue Antwort
{ "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"} ] }
So rufst du dieselben Werte aus den neuen Antwortdaten ab:
Vorherige Eigenschaft | Berechnen mit der neuen API-Antwort |
---|---|
total_minutes_used |
|
total_paid_minutes_used | Dies wird jetzt über netAmount als Betrag in USD dargestellt.
|
included_minutes | Dies wird jetzt über discountAmount als Betrag in USD dargestellt.
|
minutes_used_breakdown |
|
Abrufen von Abrechnungsdaten zu GitHub Packages aus den neuen Antwortdaten
Beispiel für die vorherige Antwort
{ "total_gigabytes_bandwidth_used": 50, "total_paid_gigabytes_bandwidth_used": 40, "included_gigabytes_bandwidth": 10 }
Beispiel für die neue Antwort
{ "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" } ] }
Vorherige Eigenschaft | Berechnen mit der neuen API-Antwort |
---|---|
total_gigabytes_bandwidth_used |
|
total_paid_gigabytes_bandwidth_used | Dies wird jetzt über netAmount als Betrag in USD dargestellt.
|
included_gigabytes_bandwidth | Dies wird jetzt über discountAmount als Betrag in USD dargestellt.
|
Abrufen der Abrechnung für freigegebenen Speicher aus den neuen Antwortdaten
Beispiel für die vorherige Antwort
{ "days_left_in_billing_cycle": 20, "estimated_paid_storage_for_month": 15, "estimated_storage_for_month": 40 }
Beispiel für die neue Antwort
{ "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" } ] }
Vorherige Eigenschaft | Berechnen mit der neuen API-Antwort |
---|---|
days_left_in_billing_cycle | Nicht verfügbar. Diese Informationen können abgeleitet werden, indem der aktuelle Tag des Monats von der Gesamtanzahl der Tage des aktuellen Monats subtrahiert wird. |
estimated_paid_storage_for_month | Dies wird jetzt über netAmount als Betrag in USD dargestellt. Voraussetzung: Übergebe die Abfrageparameter month und year . Für den Actions-Speicher
|
estimated_storage_for_month | Voraussetzung: Übergebe die Abfrageparameter month und year . Für den Actions-Speicher
|