GitHub
Connect your ept AI chatbot with GitHub to access and search your repositories, documentation, and code for intelligent responses.
Back to Integrations Overview
Overview
The GitHub integration enables your ept AI chatbot to:
- Search and access repository documentation and README files
- Provide context-aware responses based on code documentation
- Access both public and private repositories (with proper permissions)
- Maintain secure OAuth authentication with GitHub
The integration uses secure OAuth authentication and follows the standard ept AI integration pattern: create an integration in the ept AI app, then configure a channel to use that integration.
Prerequisites
Before setting up the GitHub integration, ensure you have:
- GitHub Account: Active GitHub account with repository access
- Repository Access: Access to repositories you want to integrate
- OAuth App Creation: Ability to create OAuth applications in GitHub
- ept AI Setup: Your ept AI chatbot configured and ready
Setup Instructions
Step 1: Create OAuth Application in GitHub
-
Create OAuth App in GitHub:
- Go to GitHub Settings > Developer settings > OAuth Apps
- Click "New OAuth App"
- Configure the app:
- Application name: "ept AI GitHub Integration"
- Homepage URL:
https://your-ept-ai-domain.com
- Application description: "AI-powered repository documentation search and access"
- Authorization callback URL:
https://your-ept-ai-domain.com/oauth/github/callback
-
Get OAuth Credentials:
- Note your Client ID and Client Secret
- These will be used to establish the OAuth connection
Step 2: Create GitHub Integration in ept AI
-
Access Integration Settings:
- Log into your ept AI dashboard
- Navigate to Configuration > Integrations
- Click "Create Integration"
- Select "GitHub" from the available integrations
-
Configure OAuth Connection:
Client ID: your-github-client-id
Client Secret: your-github-client-secret
GitHub URL: https://github.com
Redirect URI: https://your-ept-ai-domain.com/oauth/github/callback -
Authorize Connection:
- Click "Connect to GitHub"
- Complete the OAuth authorization flow
- Grant necessary permissions to ept AI:
repo
- Full control of private repositoriesread:org
- Read organization dataread:user
- Read user profile data
Step 3: Configure GitHub Channel
-
Create Channel:
- Navigate to Configuration > Channels
- Click "Create Channel"
- Configure the channel:
- Channel Name: "GitHub Documentation Assistant"
- Channel Type: Select "GitHub"
- Integration: Select the GitHub integration you created
- Knowledge Source Configuration: Choose your documentation-focused KSC
-
Configure Channel Settings:
{
"github_channel_config": {
"integration_id": "github_integration_123",
"knowledge_source": "github-docs-ksc",
"repository_access": {
"repositories": ["owner/repo1", "owner/repo2"],
"include_private": true,
"include_forks": false
},
"content_types": {
"readme_files": true,
"documentation": true,
"wiki_pages": true,
"issues": false,
"pull_requests": false
},
"file_extensions": [".md", ".txt", ".rst", ".adoc"],
"search_options": {
"fuzzy_matching": true,
"path_filtering": true,
"relevance_threshold": 0.7
}
}
}
Configuration Options
Repository Access Settings
- Repository Selection: Specify which repositories to include
- Private Repositories: Include private repositories (requires permissions)
- Forked Repositories: Include or exclude forked repositories
- Organization Repositories: Access repositories across your organization
Content Types
- README Files: Access repository README and documentation files
- Wiki Pages: Include GitHub wiki pages in search results
- Documentation: Process documentation directories (docs/, .github/, etc.)
- Issues & PRs: Include issue and pull request content (optional)
- Code Files: Process specific file types for documentation
File Processing
- File Extensions: Specify which file types to process (.md, .txt, etc.)
- Path Filtering: Filter by specific directories or file paths
- Content Extraction: Extract text content from documentation files
- Format Preservation: Maintain markdown formatting and structure
Use Cases
Developer Support
- Documentation Search: Quickly find relevant documentation and guides
- Code Examples: Access code examples and implementation details
- Troubleshooting: Find solutions to common development issues
- Best Practices: Access coding standards and best practices
Project Management
- Project Documentation: Access project README files and guides
- Setup Instructions: Find installation and setup documentation
- API Documentation: Access API documentation and examples
- Contributing Guidelines: Access contribution and development guidelines
Knowledge Management
- Documentation Synchronization: Keep AI knowledge current with repository updates
- Content Discovery: Discover relevant documentation across repositories
- Knowledge Gap Identification: Identify missing documentation
- Content Quality: Improve documentation quality through AI feedback
Best Practices
Repository Organization
- Clear Documentation: Maintain well-structured README files
- Documentation Directories: Use consistent documentation folder structures
- Wiki Usage: Leverage GitHub wikis for detailed documentation
- Regular Updates: Keep documentation current with code changes
Integration Configuration
- Repository Selection: Only include relevant repositories for your use case
- Content Filtering: Use path filtering to focus on documentation
- File Type Selection: Choose appropriate file extensions for your content
- Access Control: Limit access to private repositories as needed
Security Considerations
- OAuth Scopes: Only request necessary permissions for security
- Private Repository Access: Carefully manage access to private content
- Token Security: Secure OAuth tokens and credentials
- Audit Logging: Monitor access to repository content
Troubleshooting
Common Issues
Authentication Problems:
- Verify OAuth credentials are correct
- Check that redirect URI matches exactly
- Ensure proper OAuth scopes are configured
Repository Access:
- Confirm access permissions to specified repositories
- Check repository visibility settings (public/private)
- Verify organization membership and permissions
Content Processing:
- Verify documentation files exist in specified paths
- Check file extension configuration
- Review content extraction settings
Getting Help
- GitHub Documentation: GitHub API Documentation
- OAuth Setup: GitHub OAuth Guide
- Support: Contact support@ept.ai for integration assistance
Related Resources
-
Knowledge Sources - Manage documentation content
-
Channels - Configure integration endpoints
-
Developer Guide - Implementation guidance