GitHub에서 데이터를 자동으로 풀(pull)해서 REST API를 사용하여 비용과 사용량을 모니터링하는 데 사용하는 비즈니스 시스템을 채울 수 있습니다. GitHub REST API를 이전에 사용하지 않은 경우REST API 사용을 참조하세요.
엔드포인트 개요
계정 유형 및 원하는 정보 수준에 따라 다른 엔드포인트를 사용하여 데이터를 수집해야 합니다.
| 어카운트 | 보고서 | Access | 엔드포인트 | 추가 정보 |
|---|---|---|---|---|
| Users | 모든 유료 제품의 사용량 현황 데이터 | 계정 소유자 | /users/{username}/settings/billing/usage | 향상된 청구 플랫폼 |
| 조직 | 할당량 및 청구된 사용량에 대한 세부 정보가 포함된 프리미엄 요청 사용량 | 조직 소유자 및 청구 관리자 | /organizations/{org}/settings/billing/premium_request/usage | 향상된 청구 플랫폼 |
| 조직 | 모든 유료 제품의 사용량 현황 데이터 | 조직 소유자 및 청구 관리자 | /organizations/{org}/settings/billing/usage | 향상된 청구 플랫폼 |
| 엔터프라이즈 | 할당량 및 청구된 사용량에 대한 세부 정보가 포함된 프리미엄 요청 사용량 | 엔터프라이즈 소유자 및 청구 관리자 | /enterprises/{enterprise}/settings/billing/premium_request/usage | 엔터프라이즈 청구를 위한 REST API 엔드포인트 |
| 엔터프라이즈 | 모든 유료 제품의 사용량 현황 데이터 | 엔터프라이즈 소유자 및 청구 관리자 | /enterprises/{enterprise}/settings/billing/usage | 엔터프라이즈 청구를 위한 REST API 엔드포인트 |
프리미엄 요청 사용량 확인하기
-
다음 방법 중 하나를 사용하여 GitHub로 인증합니다.
- GitHub CLI:
gh auth login명령을 사용하여 인증을 수행하세요.GitHub CLI 빠른 시작을 참조하세요. personal access token (classic)을 만들고, 생성된 토큰을 API 호출에 전달하세요. 자세한 내용은 personal access token (classic) 만들기 를 참조하세요.
- GitHub CLI:
-
필요한
premium_request/usage엔드포인트를 호출하여 데이터를 원하는 엔터프라이즈, 조직 또는 사용자를 지정합니다.
모든 유료 제품에 대한 사용량 현황 데이터 가져오기
-
다음 방법 중 하나를 사용하여 GitHub로 인증합니다.
- GitHub CLI:
gh auth login명령을 사용하여 인증을 수행하세요. 자세한 내용은GitHub CLI 빠른 시작을 참조하세요. personal access token (classic)를 생성하고 API 호출에 토큰을 전달합니다. Creating a personal access token (classic) 를 참조하세요.
- GitHub CLI:
-
필요한
usage엔드포인트를 호출하여 데이터를 원하는 엔터프라이즈, 조직 또는 사용자를 지정합니다. -
기본적으로 현재 연도의 모든 제품에 대한 데이터가 보고됩니다. 기업의 경우 비용 센터와 연결되지 않은 데이터만 보고됩니다.
쿼리 매개 변수를 사용하여 보다 구체적인 데이터를 요청할 수 있습니다.
- 다음 매개 변수
year``month``day``hour중 하나 이상을 설정하여 기간을 지정합니다. - 쿼리 매개 변수
cost_center_id를 사용하여 식별자로 비용 센터를 지정합니다. 이 구문은 엔터프라이즈 엔드포인트에서만 사용할 수 있습니다.
- 다음 매개 변수
자세한 정보 및 예제 호출 및 응답은 다음을 참조하세요.
이전 청구 플랫폼에 사용된 엔드포인트에서 마이그레이션
요금제 청구로 전환한 후 이전 청구 플랫폼에서 데이터를 가져오는 데 사용한 엔드포인트는 더 이상 정확한 사용량 정보를 반환하지 않습니다.
- 다음과 같은 형태의 모든 호출을 업그레이드합니다:
/ACCOUNT-TYPE/NAME/settings/billing/PRODUCT - 해당하는
/ACCOUNT-TYPE/NAME/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 Packages 정보를 계산합니다.
이전 응답의 예
{ "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 쿼리 매개 변수를 전달합니다. Actions 스토리지의 경우
|
estimated_storage_for_month | 필수 구성 요소:month 및year 쿼리 매개 변수를 전달합니다. Actions 스토리지의 경우
|