Вы можете автоматически извлекать данные из GitHub для заполнения бизнес-систем, используемых для мониторинга затрат и использования с помощью REST API. Если вы еще не использовали REST API GitHub до этого, см . раздел AUTOTITLE.
Общие сведения о конечных точках
Для сбора данных в зависимости от типа учетной записи и нужного уровня информации необходимо использовать разные конечные точки.
Учетная запись | Отчет | Открыть | Конечная точка | Дополнительные сведения |
---|---|---|---|---|
Пользователи | Данные об использовании для всех платных продуктов | Владелец учетной записи | /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 Copilot, см. раздел Анализ использования с течением времени с помощью API метрик GitHub Copilot.
Получение данных об использовании для всех платных продуктов
-
Проверка подлинности с помощью GitHub с помощью одного из следующих методов:
- GitHub CLI: используйте команду для проверки подлинности, см. раздел
gh auth login
Краткое руководство по GitHub CLI. - Создайте personal access token (classic)и передайте маркер в вызов API, см. статью "Создание 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 параметры запроса. Для хранилища действий
|
estimated_storage_for_month | Предварительные требования: передайте month параметры и year параметры запроса. Для хранилища действий
|