GitHub Enterprise Cloud (data residency)

Service ID: github-enterprise-cloud

GitHub Enterprise Cloud with data residency runs an organization's GitHub in the cloud on a dedicated *.ghe.com subdomain, where every host — including OAuth and the REST API — is served from the tenant's subdomain instead of github.com.

At a Glance

Difficulty
⚡MODERATEEach Consumer Registers Their Own OAuth App on Their Tenant
Authentication
OAuth 2.0Authorization Code flow, through a GitHub OAuth app.
Webhooks
Virtual webhooks↗ - ticket created and updated
Partnership Required
No
Apideck Credentials
Not available(Each tenant needs its own OAuth app, so each consumer supplies a Client ID and Client Secret.)
Costs
Needs the GitHub Enterprise plan, which every data-residency tenant runs on.
Sandbox Availability
Available — Access Sandbox↗(Free 30-day Enterprise Cloud trial; create it on GHE.com to get a data-residency tenant.)
Account Type Required
GitHub Enterprise Cloud with data residency (a *.ghe.com tenant).
Consumer Access Level
Owner of the GitHub organisation being connected.
Rate Limits
5,000 requests an hour per authorising user; 15,000 when the OAuth app is owned or approved by the Enterprise Cloud organisation and the user is a member.

Responsibility matrix

TaskYou (Customer)Your ConsumerApideck
Enable the GitHub Enterprise Cloud Connector✓ Via Apideck Dashboard——
Register an OAuth App on the Tenant—✓—
Supply the Tenant Subdomain & OAuth App Credentials in Vault—✓—
Authorise the Connection & Pick the Organisation—✓—
Store & Encrypt Credentials——✓
Build via the Unified API✓ Builds the requests—✓ Maintains connector
Monitor Connections✓ Via Apideck Dashboard—✓ Logs & alerts

Environments

Single environment
Each tenant has one API host, https://api.SUBDOMAIN.ghe.com, used for testing and production alike. Requests to api.github.com do not reach a data-residency tenant.

🚨Important to Know About GitHub Enterprise Cloud (data residency)

  • If the organisation restricts OAuth app access, which GitHub turns on by default for new organisations, an owner must approve the OAuth app first. Until then it has no API access to private organisation resources.
  • A connection reaches one organisation only. Covering several organisations means one connection for each.
⚠️

2 gotchas across 1 resource

Connector-specific behaviors and limitations to be aware of

📦

5 supported resources

View field mappings, supported operations, and schema details