GitHub からデータを自動的にプルし、REST API を使用してコストと使用状況を監視するために使用するビジネス システムを設定できます。 これまで GitHub REST API を使用したことがない場合は、出発点としてこちらの記事「REST API の使用」を参照することをお勧めします。
課金プラットフォーム /usage
エンドポイントを使用して Enterprise の従量課金制の使用状況の詳細を取得する
拡張課金プラットフォームには、すべての従量課金制製品の使用状況を報告するために使用できる 1 つの REST API /usage
エンドポイントが用意されています。 このエンドポイントによって提供される使用状況データは、Enterprise 所有者と Enterprise 支払いマネージャーのみが使用できるため、GitHub で認証する必要があります。
- GitHub CLI を使用する場合は、
gh auth login
コマンドを使用して認証します。 - それ以外の場合は、personal access token (classic) を作成する必要があります。「personal access token (classic) の作成」を参照してください。
/usage
エンドポイントを呼び出すときは、データを必要とする Enterprise を指定する必要があります。既定では、コスト センターに属さない今年の使用量が報告されます。 クエリ パラメーターを使用して、エンドポイントから返されるデータの範囲を絞り込むことができます。
year
、month
、day
、hour
のパラメーターの 1 つ以上を設定して、特定の期間を定義します。cost_center_id
クエリ パラメーターを使用して、識別子を指定することで、報告するコスト センターを定義します。
詳細情報、呼び出しと応答の例については、Enterprise の課金使用状況レポートの取得に関する記事を参照してください。
以前の課金プラットフォームに使用していたエンドポイントからの移行
以前の課金プラットフォームでは、使用状況データに対して 3 種類のエンドポイントが用意されていました。
- Enterprise の GitHub Actions の課金情報を取得する
- Enterprise の GitHub Packages の課金情報を取得する
- Enterprise の共有ストレージの課金情報を取得する
拡張課金プラットフォームに移行すると、これらのエンドポイントから正確な使用状況情報が返されなくなります。 これらのエンドポイントを使う自動化がある場合は、新しいエンドポイント GET/enterprises/{enterprise}/settings/billing/usage を使うようにアップグレードする必要があります。 以下の表は、課金プラットフォームを使用して同等の情報を取得する方法の詳細な説明です。
呼び出し定義の変更
以前のエンドポイントで認証するために fine-grained personal access token を使用した場合は、新しいエンドポイントで認証するために personal access token (classic) を作成する必要があります。
さらに、新しいクエリ パラメーターを使用して、期間またはコスト センターを指定することもできます。
新しい応答データから GitHub Actions の課金情報データを取得する
以前の応答の例
{"total_minutes_used": 305, "total_paid_minutes_used": 0, "included_minutes": 3000, "minutes_used_breakdown": { "UBUNTU": 205, "MACOS": 10, "WINDOWS": 90 } }
新しい応答の例
{ "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"} ] }
新しい応答データから同じ値を取得するには:
以前のプロパティ | 新しい API 応答から計算する |
---|---|
total_minutes_used |
|
total_paid_minutes_used | これは、netAmount を介して $ 金額と表されるようになりました。
|
included_minutes | これは、discountAmount を介して $ 金額と表されるようになりました。
|
minutes_used_breakdown |
|
新しい応答データから GitHub パッケージの課金情報データを取得する
以前の応答の例
{ "total_gigabytes_bandwidth_used": 50, "total_paid_gigabytes_bandwidth_used": 40, "included_gigabytes_bandwidth": 10 }
新しい応答の例
{ "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" } ] }
以前のプロパティ | 新しい API 応答から計算する |
---|---|
total_gigabytes_bandwidth_used |
|
total_paid_gigabytes_bandwidth_used | これは、netAmount を介して $ 金額と表されるようになりました。
|
included_gigabytes_bandwidth | これは、discountAmount を介して $ 金額と表されるようになりました。
|
新しい応答データから共有ストレージの課金情報を取得する
以前の応答の例
{ "days_left_in_billing_cycle": 20, "estimated_paid_storage_for_month": 15, "estimated_storage_for_month": 40 }
新しい応答の例
{ "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" } ] }
以前のプロパティ | 新しい API 応答から計算する |
---|---|
days_left_in_billing_cycle | 使用できません。 この情報を推測するには、現在の月の日数からその月の現在の日付を減算します。 |
estimated_paid_storage_for_month | これは、netAmount を介して $ 金額と表されるようになりました。 前提条件: month と year のクエリ パラメーターを渡します。 アクション ストレージの場合
|
estimated_storage_for_month | 前提条件: month と year のクエリ パラメーターを渡します。 アクション ストレージの場合
|