Você pode efetuar pull automaticamente de dados do GitHub para preencher os sistemas de negócios que usa para monitorar os custos e o uso com a API REST. Se você ainda não usou a API REST do GitHub, consulte Usando a API REST.
Visão geral dos pontos de extremidade
Você precisa usar pontos de extremidade diferentes para coletar dados dependendo do tipo de conta e do nível de informações desejado.
Conta | Relatório | Acesso | Ponto de extremidade | Mais informações |
---|---|---|---|---|
Usuários | Dados de uso de todos os produtos pagos | Titular da conta | / | Plataforma de faturamento aprimorada |
Organizações | Consumo de solicitações premium, com detalhes de cota e uso cobrado | Proprietários de organizações e gerentes de faturamento | / | Plataforma de faturamento aprimorada |
Organizações | Dados de uso de todos os produtos pagos | Proprietários de organizações e gerentes de faturamento | / | Plataforma de faturamento aprimorada |
Enterprises | Consumo de solicitações premium, com detalhes de cota e uso cobrado | Proprietários de empresas e gerentes de faturamento | / | Pontos de extremidade da API REST para faturamento corporativo |
Enterprises | Dados de uso de todos os produtos pagos | Proprietários de empresas e gerentes de faturamento | / | Pontos de extremidade da API REST para faturamento corporativo |
Obtendo o consumo de solicitações premium
-
Autentique com o GitHub com um dos seguintes métodos:
- CLI do GitHub: use o comando
gh auth login
para autenticação; consulte Início rápido da CLI do GitHub. - Criar um personal access token (classic): e passar o token em sua chamada à API; consulte Criando um personal access token (classic).
- CLI do GitHub: use o comando
-
Chame o ponto de extremidade
premium_request/usage
necessário, especificando a empresa, a organização ou o usuário cujos dados você deseja.
Para baixar outras métricas do GitHub Copilot, consulte Analisar o uso ao longo do tempo com a API de métricas do GitHub Copilot.
Obtendo dados de uso de todos os produtos pagos
-
Autentique com o GitHub com um dos seguintes métodos:
- CLI do GitHub: use o comando
gh auth login
para autenticação; consulte Início rápido da CLI do GitHub. - Criar um personal access token (classic): e passar o token em sua chamada à API; consulte Criando um personal access token (classic).
- CLI do GitHub: use o comando
-
Chame o ponto de extremidade
usage
necessário, especificando a empresa, a organização ou o usuário cujos dados você deseja. -
Por padrão, os dados de todos os produtos do ano atual são relatados. Para empresas, apenas os dados que não estão associados a um centro de custo são relatados.
Você pode solicitar dados mais específicos usando parâmetros de consulta.
- Especifique um período definindo um ou mais dos seguintes parâmetros:
year
,month
,day
ehour
. - Especifique um centro de custo para relatar por identificador usando o parâmetro de consulta
cost_center_id
(somente no ponto de extremidade empresarial).
- Especifique um período definindo um ou mais dos seguintes parâmetros:
Para obter informações mais detalhadas e exemplos de chamadas e respostas, consulte:
- Obter relatório de uso de cobrança para uma empresa
- Obter relatório de uso de cobrança para uma organização
- Obter relatório de uso de cobrança para um usuário
Migrando dos pontos de extremidade usados para a plataforma de cobrança anterior
Após você fazer a transição para a cobrança limitada, os pontos de extremidade usados para obter dados da plataforma de cobrança anterior não retornarão mais informações de uso precisas.
- Atualize todas as chamadas do formulário:
/ACCOUNT-TYPE/NAME/settings/billing/PRODUCT
- Para usar o equivalente: ponto de extremidade
/ACCOUNT-TYPE/NAME/settings/billing/usage
Alterações na autenticação
Se você usou um fine-grained personal access token para autenticar com os pontos de extremidade anteriores, precisará criar um personal access token (classic) para autenticar com o novo ponto de extremidade.
Além disso, talvez você queira usar os novos parâmetros de consulta para especificar um período ou um centro de custo.
Calculando informações de GitHub Actions dos novos dados de resposta
Exemplo da resposta anterior
{"total_minutes_used": 305, "total_paid_minutes_used": 0, "included_minutes": 3000, "minutes_used_breakdown": { "UBUNTU": 205, "MACOS": 10, "WINDOWS": 90 } }
Exemplo da nova resposta
{ "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"} ] }
Para obter os mesmos valores dos novos dados de resposta:
Propriedade anterior | Calcular com base na nova resposta à API |
---|---|
total_minutes_ |
|
total_paid_minutes_ | Agora, isso é representado como um valor de $ via netAmount .
|
included_minutes | Agora, isso é representado como um valor de $ via discountAmount .
|
minutes_used_ |
|
Calculando informações de GitHub Packages dos novos dados de resposta
Exemplo da resposta anterior
{ "total_gigabytes_bandwidth_used": 50, "total_paid_gigabytes_bandwidth_used": 40, "included_gigabytes_bandwidth": 10 }
Exemplo da nova resposta
{ "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" } ] }
Propriedade anterior | Calcular com base na nova resposta à API |
---|---|
total_gigabytes_ |
|
total_paid_gigabytes_ | Agora, isso é representado como um valor de $ via netAmount .
|
included_gigabytes_ | Agora, isso é representado como um valor de $ via discountAmount .
|
Calculando informações de armazenamento compartilhado dos novos dados de resposta
Exemplo da resposta anterior
{ "days_left_in_billing_cycle": 20, "estimated_paid_storage_for_month": 15, "estimated_storage_for_month": 40 }
Exemplo da nova resposta
{ "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" } ] }
Propriedade anterior | Calcular com base na nova resposta à API |
---|---|
days_left_in_ | Não disponível. Essas informações podem ser inferidas subtraindo o dia atual do mês do número de dias no mês atual. |
estimated_paid_ | Agora, isso é representado como um valor de $ via netAmount . Pré-requisito: passe os parâmetros de consulta month e year . para armazenamento do Actions
|
estimated_storage_ | Pré-requisito: passe os parâmetros de consulta month e year . para armazenamento do Actions
|