Skip to main content
GitHub bills Actions minutes, Packages storage, Copilot seats and more against one organization, so a single connection captures the lot. CostGraph reads GitHub as FOCUS 1.2 records at a grain of day x product x SKU x repository, carrying both gross and net billed cost.

Choose how the data reaches us

CostGraph pulls it

You supply a read-only token and we call GitHub once a day. Nothing to run.

You push it

You send us FOCUS records over the API. Credentials never leave your infrastructure.

Before you begin

  • Create a token that reads the organization’s billing. A fine-grained personal access token needs the organization permission Administration: read, plus Copilot: read for per-seat data. A classic token needs repo, read:org, and copilot. Create a classic token with the scopes prefilled.
  • If the organization enforces SAML single sign-on, authorize the token for that organization. An unauthorized token returns 403.
  • Note the organization login.

Let CostGraph pull

  1. Open Settings > Integrations and pick GitHub.
  2. Name the connection, pick the tenant these charges belong to, and enter the organization login whose billing you want.
  3. Enter the token.
  4. Select Connect.
CostGraph verifies the token with a short fetch before saving, so a wrong value or a missing permission fails while you are still on the form.
Credentials are encrypted at rest and used only to read billing data. Revoke the token in GitHub at any time and the connection stops; nothing else is affected.

Push it yourself

Send the charges to CostGraph as FOCUS records instead. Push FOCUS data covers the connection id, the focus:write key, and the request shape.

Run the exporter

Rather than build that request yourself, run our exporter. It reads GitHub on a schedule and pushes the records for you, wherever you want to run it: a container, a Kubernetes CronJob, or a binary on a machine you already have.
Your GitHub credential stays where you put it, and only the finished FOCUS records reach CostGraph. Run the exporter covers the three ways to run it and the variables it reads.

What CostGraph does with it

Records land as raw billing rows, are normalised into line items, and roll up into daily cost. From there GitHub spend appears in Cost Overview and in anomaly detection alongside every other provider.