Connect & Integrate GitHub
Last updated: July 22, 2026
Introduction
This guide covers using YeshID’s GitHub integration to connect your GitHub organization.
Once connected, YeshID imports:
Users (organization members, with their admin/member role)
Teams and sub-teams, with team memberships
Repositories, with team access and outside/direct collaborators
GitHub App installations and the repositories they can access
Fine-grained personal access tokens and pending token requests, with their owners and repository scopes
Deploy keys
Actions secrets (organization- and repository-scoped)
Dependabot secrets (organization- and repository-scoped)
On GitHub Enterprise Cloud organizations, YeshID also imports members’ corporate email addresses (via verified domains or SAML single sign-on), so GitHub accounts are automatically matched to people in YeshID.
The GitHub integration is read-only: it gives you visibility and access reviews. YeshID does not currently create, invite, or remove GitHub users, so onboarding/offboarding steps for GitHub run as manual tasks.
GitHub.com and GitHub Enterprise Cloud are supported. GitHub Enterprise Server (self-hosted) is not.
Steps
Confirm you’re an owner of the GitHub organization. Only organization owners can install GitHub Apps. Being a GitHub Enterprise admin is not enough — if you administer the enterprise but aren’t a member of the organization, join it as an owner first (GitHub enterprise settings → Organizations → the “…” menu next to the organization → Join as owner).
Open the GitHub integration in YeshID. Navigate to Applications, select GitHub, and open the integration’s authentication setup.
Click Install GitHub App. You’ll be redirected to GitHub. Always start the installation from this button in YeshID — installations started directly on GitHub can’t complete the connection.
On GitHub, pick your organization and choose which repositories the app may access. We recommend All repositories — repository-level resources (collaborators, deploy keys, secrets) are only visible for repositories the app can access. All requested permissions are read-only; GitHub shows the exact list on the install screen.
Approve the installation. You’ll be redirected back to YeshID and the integration will show as connected.
Run a sync. Start an Import Users and Import Resources sync. YeshID pulls your members, teams, repositories, app installations, tokens, keys, and secrets.
FAQ
Why doesn’t my organization appear on GitHub’s install screen?
GitHub only lists organizations your signed-in account belongs to, and only owners can complete an installation. This most often affects GitHub Enterprise admins who administer the enterprise but never joined the organization itself. Join the organization as an owner from your enterprise settings (Organizations → “…” → Join as owner), then restart the installation from YeshID.
How does YeshID match GitHub accounts to people?
GitHub usernames aren’t email addresses, so matching depends on email data GitHub is willing to share:
On GitHub Enterprise Cloud organizations with a verified domain, YeshID imports each member’s corporate email automatically. Note that GitHub only returns emails that members have added to their GitHub account on the verified domain.
If your organization enforces SAML single sign-on at the organization level, YeshID also uses the SAML identity (usually the corporate email), which covers members regardless of their profile settings.
Otherwise, accounts import without emails and you can map them to people manually in YeshID.
To verify a domain: GitHub organization → Settings → Verified and approved domains → add your domain and create the DNS TXT record GitHub gives you.
Can YeshID create or remove GitHub users?
Not currently. The integration is for visibility and access review. Use manual onboarding/offboarding tasks with instructions for granting or revoking GitHub access.
Which repository access should I grant the app?
All repositories. With “Only select repositories,” YeshID can still import members and teams, but repository collaborators, deploy keys, and repository-scoped secrets are only visible for the selected repositories, so access reviews will have blind spots.
Why are some resources (tokens, secrets, deploy keys) missing after a sync?
If the installation lacks permission for a resource type, YeshID skips that resource type and continues rather than failing the import. If YeshID has requested new permissions since you installed the app, GitHub asks an organization owner to review and accept them — check your organization’s Settings → GitHub Apps for a pending request, accept it, and re-run the sync.
Can I manage multiple GitHub organizations?
Each GitHub App installation connects one organization. To manage another organization, add another GitHub application in YeshID and run the installation again for that organization.
Does this support GitHub Enterprise Server (self-hosted)?
No. The integration works with GitHub.com, including GitHub Enterprise Cloud. Self-hosted GitHub Enterprise Server instances aren’t supported.
What about the older OAuth connection?
Earlier GitHub connections used OAuth authorization. That method is deprecated: it sees only the organizations the authorizing user belongs to and depends on that person’s role. Reconnect using the GitHub App for a connection that isn’t tied to an individual’s account.
What happens if my sync hits a rate limit?
YeshID throttles its own requests to stay under GitHub’s API limits (5,000 requests/hour per installation). Very large organizations take longer to import, but syncs complete.