Overview
What Gets Indexed
| Source | Content |
|---|---|
| Repositories | Repository names, descriptions, and README files |
| Issues | Issue titles, descriptions, comments, and labels |
| Pull Requests | PR titles, descriptions, review comments, and status |
| Discussions | Discussion threads and replies |
How It Works
- A GitHub Personal Access Token (PAT) grants Omni read-only access to your repositories
- The connector syncs content from repositories the authenticated user has access to
- Permission inheritance ensures users only see content from repositories they can access in GitHub
The connector uses read-only access. Omni cannot modify any content in your GitHub repositories.
Prerequisites
Before setting up the GitHub connector, ensure you have:- GitHub account with access to the repositories you want to index
- GitHub organization admin access (recommended for org-wide indexing)
- Omni deployment with the GitHub connector service running
Setup
Step 1: Create a Personal Access Token
- Go to GitHub Settings → Developer settings → Personal access tokens → Fine-grained tokens
- Click Generate new token
- Fill in the token details:
- Token name:
Omni Search - Expiration: Choose an appropriate expiration (or set a custom date)
- Repository access: Select the repositories you want Omni to index (or All repositories for org-wide indexing)
- Token name:
- Under Permissions, grant read-only access to:
- Repository permissions:
Contents(read),Issues(read),Pull requests(read),Discussions(read),Metadata(read)
- Repository permissions:
- Click Generate token
- Copy the token immediately — you won’t be able to see it again
Step 2: Connect in Omni
- Navigate to Settings → Integrations in Omni
- Find GitHub and click Connect
- Paste your Personal Access Token into the token field
- Click Connect
- Click Sync Now to start the initial sync
Your GitHub connector is now configured. Initial indexing may take a while depending on the number of repositories and issues in your organization.
Managing the Integration
Viewing Sync Status
Navigate to Settings → Integrations → GitHub to view:- Last sync time
- Number of indexed repositories, issues, and pull requests
- Any sync errors
Sync Modes
The GitHub connector supports two sync modes:| Mode | Description |
|---|---|
| Full | Syncs all content from all accessible repositories (used for initial sync) |
| Incremental | Syncs only new or updated content since last sync (used for updates) |
Removing the Integration
- Navigate to Settings → Integrations → GitHub
- Click Remove
- Optionally, delete the Personal Access Token in your GitHub settings
Troubleshooting
Repositories not appearing in search
Repositories not appearing in search
Common causes:
- The authenticated user doesn’t have access to the repository
- Sync has not completed yet
- The repository is archived and may need explicit inclusion
Authentication failed
Authentication failed
The Personal Access Token may be expired or revoked.Solution:
- Navigate to Settings → Integrations → GitHub
- Click Update Token to enter a new Personal Access Token
Rate limiting errors
Rate limiting errors
GitHub has API rate limits. The connector handles these automatically with backoff.Solution: Wait for the connector to retry. For large organizations, initial sync may take longer due to rate limits.
Private repository content not indexed
Private repository content not indexed
Ensure the Personal Access Token has access to private repositories.Solution: Verify the token has
Contents (read) permission and that the repository is included in the token’s repository access scope. If needed, regenerate the token with the correct permissions and update it in Omni.Discussions not being indexed
Discussions not being indexed
Discussions must be enabled on the repository for them to be indexed.Solution: Verify that GitHub Discussions is enabled in the repository settings.
Security Considerations
- Read-only access: The connector only has read permissions
- Repository-based permissions: Users only see content from repositories they can access in GitHub
- Token security: Personal Access Tokens should be treated like passwords
- Audit logging: Monitor token usage in GitHub’s security log
What’s Next
Search Your Data
Learn how to search across GitHub content
AI Assistant
Ask questions about your code and issues
Add More Connectors
Connect additional data sources