Skip to main content

Automatisieren von Nutzungsberichten mit der REST-API

Hier erfährst du, wie du das Berichterstellen zur Verwendung kostenpflichtiger Features mithilfe der REST-API automatisierst.

Wer kann dieses Feature verwenden?

Enterprise owners, organization owners, and billing managers

Die neue Abrechnungsplattform ist jetzt für alle Benutzer verfügbar.

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 REST-API von GitHub noch nicht verwendet hast, findest du weitere Informationen unter Verwenden der REST-API.

Übersicht über Endpunkte

Du musst je nach Kontotyp und gewünschtem Informationsgrad verschiedene Endpunkte verwenden, um Daten zu sammeln.

KontoReportAccessEndpunktWeitere Informationen
BenutzerNutzungsdaten für alle kostenpflichtigen ProdukteKontoinhaber/users/{username}/settings/billing/usageErweiterte Abrechnungsplattform
OrganisationenPremium-Anforderungsverbrauch mit Details zu Kontingent und abgerechneter NutzungOrganisationsbesitzer und Abrechnungsmanager/organizations/{org}/settings/billing/premium_request/usageErweiterte Abrechnungsplattform
OrganisationenNutzungsdaten für alle kostenpflichtigen ProdukteOrganisationsbesitzer und Abrechnungsmanager/organizations/{org}/settings/billing/usageErweiterte Abrechnungsplattform
EnterprisesPremium-Anforderungsverbrauch mit Details zu Kontingent und abgerechneter NutzungUnternehmensbesitzerinnen und Abrechnungsmanagerinnen/enterprises/{enterprise}/settings/billing/premium_request/usageREST-API-Endpunkte für die Enterprise-Fakturierung
EnterprisesNutzungsdaten für alle kostenpflichtigen ProdukteUnternehmensbesitzerinnen und Abrechnungsmanagerinnen/enterprises/{enterprise}/settings/billing/usageREST-API-Endpunkte für die Enterprise-Fakturierung

Abrufen des Premium-Anforderungsverbrauchs

  1. Authentifiziere dich bei GitHub mit einer der folgenden Methoden:

  2. Rufe den erforderlichen premium_request/usage-Endpunkt auf, und gib dabei das Unternehmen, die Organisation oder den Benutzer an, für das bzw. den du Daten benötigst.

Informationen zum Herunterladen anderer Metriken für GitHub Copilot findest du unter Analysieren der Nutzung im Laufe der Zeit mit der GitHub Copilot-Metriken-API.

Abrufen von Nutzungsdaten für alle kostenpflichtigen Produkte

  1. Authentifiziere dich bei GitHub mit einer der folgenden Methoden:

  2. Rufe den erforderlichen usage-Endpunkt auf, und gib dabei das Unternehmen, die Organisation oder den Benutzer an, für das bzw. den du Daten benötigst.

  3. Standardmäßig werden Daten für alle Produkte für das aktuelle Jahr gemeldet. Für Unternehmen werden nur Daten gemeldet, die keiner Kostenstelle zugeordnet sind.

    Du kannst spezifischere Daten mithilfe von Abfrageparametern anfordern.

    • Gib einen Zeitraum an, indem du einen oder mehrere der folgenden Parameter festlegst: year, month, day und hour.
    • Gib mithilfe des Abfrageparameters cost_center_id (nur Unternehmensendpunkt) eine Kostenstelle an, über die ein Bericht erstellt werden soll.

Ausführlichere Informationen und ein Beispiel für Aufrufe und Antworten findest du unter:

Migrieren von den Endpunkten, die für die vorherige Abrechnungsplattform verwendet wurden

Nach der Umstellung auf die verbrauchseinheitenbasierte Abrechnung geben die Endpunkte, die du zum Abrufen von Daten von der vorherigen Abrechnungsplattform verwendet hast, keine genauen Nutzungsinformationen mehr zurück.

  • Alle Aufrufe des Formulars upgraden: /ACCOUNT-TYPE/NAME/settings/billing/PRODUCT
  • Damit das Äquivalent verwendet wird: /ACCOUNT-TYPE/NAME/settings/billing/usage-Endpunkt

Änderungen bei der Authentifizierung

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.

Berechnen von GitHub Actions-Informationen 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 EigenschaftBerechnen mit der neuen API-Antwort
total_minutes_used
  • Filtern der Ergebnisse nach "product": "Actions" und "unitType": "minutes"
  • Zusammenrechnen von quantity
total_paid_minutes_usedDies wird jetzt über netAmount als Betrag in USD dargestellt.
  • Filtern der Ergebnisse nach "product": "Actions" und "unitType": "minutes"
  • Zusammenrechnen von netAmount
included_minutesDies wird jetzt über discountAmount als Betrag in USD dargestellt.
  • Filtern der Ergebnisse nach "product": "Actions" und "unitType": "minutes"
  • Zusammenrechnen von discountAmount
minutes_used_breakdown
  • Filtern der Ergebnisse nach "product": "Actions" und "unitType": "minutes"
  • Zusammenrechnen von quantity gruppiert nach sku

Berechnen von GitHub Packages-Informationen 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 EigenschaftBerechnen mit der neuen API-Antwort
total_gigabytes_bandwidth_used
  • Filtern der Ergebnisse nach "product": "Packages" und "unitType": "gigabytes"
  • Zusammenrechnen von quantity
total_paid_gigabytes_bandwidth_usedDies wird jetzt über netAmount als Betrag in USD dargestellt.
  • Filtern der Ergebnisse nach "product": "Packages" und "unitType": "gigabytes"
  • Zusammenrechnen von netAmount
included_gigabytes_bandwidthDies wird jetzt über discountAmount als Betrag in USD dargestellt.
  • Filtern der Ergebnisse nach "product": "Packages" und "unitType": "gigabytes"
  • Zusammenrechnen von discountAmount

Berechnen von Informationen zum 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 EigenschaftBerechnen mit der neuen API-Antwort
days_left_in_billing_cycleNicht 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_monthDies wird jetzt über netAmount als Betrag in USD dargestellt.

Voraussetzung: Übergebe die Abfrageparameter month und year.

Für den Actions-Speicher
  • Filtern der Ergebnisse nach "product": "Actions" und "unitType": "GigabyteHours"
  • Zusammenrechnen von netAmount
Für den Packages-Speicher
  • Filtern der Ergebnisse nach "product": "Packages" und "unitType": "GigabyteHours"
  • Zusammenrechnen von netAmount
estimated_storage_for_monthVoraussetzung: Übergebe die Abfrageparameter month und year.

Für den Actions-Speicher
  • Filtern der Ergebnisse nach "product": "Actions" und "unitType": "GigabyteHours"
  • Zusammenrechnen von quantity
Für den Packages-Speicher
  • Filtern der Ergebnisse nach "product": "Packages" und "unitType": "GigabyteHours"
  • Zusammenrechnen von quantity