Skip to main content

REST API를 사용하여 사용량 보고 자동화

REST API를 사용하여 유료 기능 사용에 대한 보고를 자동화하는 방법을 알아보세요.

누가 이 기능을 사용할 수 있나요?

Enterprise owners, organization owners, and billing managers

이제 모든 사용자가 새 청구 플랫폼을 사용할 수 있습니다.

GitHub에서 데이터를 자동으로 풀(pull)해서 REST API를 사용하여 비용과 사용량을 모니터링하는 데 사용하는 비즈니스 시스템을 채울 수 있습니다. 이전에 GitHub REST API를 사용한 적이 없다면 REST API 사용을(를) 참조하세요.

엔드포인트 개요

계정 유형과 원하는 정보 수준에 따라 서로 다른 엔드포인트를 사용하여 데이터를 수집해야 합니다.

어카운트보고서Access엔드포인트자세한 정보
사용자모든 유료 제품의 사용량 데이터계정 보유자/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 엔드포인트

프리미엄 요청 사용량 가져오기

  1. 다음 방법 중 하나를 사용하여 GitHub로 인증하세요.

  2. 필요한 premium_request/usage 엔드포인트를 호출하여 데이터를 가져오려는 엔터프라이즈, 조직, 사용자를 지정합니다.

GitHub Copilot에 대한 다른 지표를 다운로드하려면 GitHub Copilot 메트릭 API를 사용하여 시간대별 사용량 분석을(를) 참조하세요.

모든 유료 제품의 사용량 데이터 가져오기

  1. 다음 방법 중 하나를 사용하여 GitHub로 인증하세요.

  2. 필요한 usage 엔드포인트를 호출하여 데이터를 가져오려는 엔터프라이즈, 조직, 사용자를 지정합니다.

  3. 기본적으로 현재 연도의 모든 제품의 데이터가 보고됩니다. 엔터프라이즈의 경우 비용 센터와 연결되지 않은 데이터만 보고됩니다.

    쿼리 매개 변수를 사용하여 보다 구체적인 데이터를 요청할 수 있습니다.

    • 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
  • "product": "Actions""unitType": "minutes"에 따라 결과 필터링
  • 합계 quantity
total_paid_minutes_used이제 netAmount를 통해 $ 금액으로 표시됩니다.
  • "product": "Actions""unitType": "minutes"에 따라 결과 필터링
  • 합계 netAmount
included_minutes이제 discountAmount를 통해 $ 금액으로 표시됩니다.
  • "product": "Actions""unitType": "minutes"에 따라 결과 필터링
  • 합계 discountAmount
minutes_used_breakdown
  • "product": "Actions""unitType": "minutes"에 따라 결과 필터링
  • sku별로 그룹화된 합계 quantity

새 응답 데이터에서 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
  • "product": "Packages""unitType": "gigabytes"에 따라 결과 필터링
  • 합계 quantity
total_paid_gigabytes_bandwidth_used이제 netAmount를 통해 $ 금액으로 표시됩니다.
  • "product": "Packages""unitType": "gigabytes"에 따라 결과 필터링
  • 합계 netAmount
included_gigabytes_bandwidth이제 discountAmount를 통해 $ 금액으로 표시됩니다.
  • "product": "Packages""unitType": "gigabytes"에 따라 결과 필터링
  • 합계 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를 통해 $ 금액으로 표시됩니다.

필수 구성 요소: monthyear 쿼리 매개 변수를 전달합니다.

Actions 스토리지의 경우
  • "product": "Actions""unitType": "GigabyteHours"에 따라 결과 필터링
  • 합계 netAmount
Packages 스토리지의 경우
  • "product": "Packages""unitType": "GigabyteHours"에 따라 결과 필터링
  • 합계 netAmount
estimated_storage_for_month필수 구성 요소: monthyear 쿼리 매개 변수를 전달합니다.

Actions 스토리지의 경우
  • "product": "Actions""unitType": "GigabyteHours"에 따라 결과 필터링
  • 합계 quantity
Packages 스토리지의 경우
  • "product": "Packages""unitType": "GigabyteHours"에 따라 결과 필터링
  • 합계 quantity