GitHub Connector
Overviewโ
The GitHub Connector is a robust tool designed to seamlessly integrate with your GitHub repositories, making it easy to fetch detailed repository information. By simply providing the necessary inputs, this connector retrieves all relevant data, including issues, pull requests, comments, and more. Whether you're managing open-source projects or private repositories, the GitHub Connector ensures you have quick and organized access to your repository's data, enabling efficient code management and collaboration using our products ACE Search and Chat.
Table of Contentsโ
Setting Up Accessโ
Create a GitHub Personal Access Token (Classic)โ
- Navigate to the top-right corner of GitHub and click on your profile photo
- Click on Settings
- Go to Developer settings from the left-hand side panel
- Click on Personal access tokens, and then Tokens (classic)
- Click on Generate new token, and then select Generate new token (classic) from the dropdown
Please provide the following minimal permissions while generating the token:
The recommended permissions include:
repo
(Full control of private repositories)read:org
(Read organization membership)read:user
(Read all user profile data)user:email
(Access user email addresses)
Token Security Best Practicesโ
- Set an appropriate expiration date for your token
- Store your token securely and never share it publicly
- Use tokens with minimal necessary permissions
- Regularly audit and rotate your tokens
Connector Configurationโ
Required Informationโ
Field | Description |
---|---|
Knowledge Name | Provide a descriptive name for this knowledge source Example: "Company Main Repository" or "Project Documentation" |
GitHub Token | Enter the personal access token you generated This will be used for authentication with GitHub's API |
Organization (Optional) | If the repository belongs to an organization, provide the organization name Leave blank for personal repositories Example: "microsoft" or "google" |
Repository Path | For organization repositories: Enter just the repository name For personal repositories: Enter the full path in the format "userID/repository_name" Example: "octocat/Hello-World" or just "tensorflow" (if under an organization) |
Supported Entitiesโ
The GitHub Connector extracts and makes available the following repository data:
- Issue title
- Issue body
- Issue state (open/closed)
- Issue URL
- Issue created at (timestamp)
- Issue updated at (timestamp)
- Issue closed at (timestamp)
- Issue user (creator)
- Issue labels
- Issue assignees
- Issue milestone
- Issue comments
- Issue repository
Advanced Featuresโ
Scheduled Updatesโ
You can configure the connector to regularly update its data:
- Enable the "Recurring" option in settings
- Select frequency (hourly, daily, weekly)
- Set the interval value (e.g., every 6 hours, every 2 days)
This ensures your knowledge base stays current with the latest GitHub data.
Filtering Optionsโ
To focus on specific content, you can:
- Filter by Labels: Specify issue labels to include or exclude
- Example: only retrieve issues labeled "documentation" or "bug"
- Filter by State: Choose to retrieve only open issues, only closed issues, or both
- Useful for focusing on active work or completed tasks
- Filter by Date Range: Limit retrieved issues to those created or updated within a specific time period
- Helpful for recent activity monitoring
Use Casesโ
The GitHub Connector is particularly valuable for:
- Project Management
- Track issue status and assignments
- Monitor project milestones and progress
- Development Oversight
- Keep tabs on bug reports and feature requests
- Review implementation discussions
- Documentation
- Access repository documentation through our search interface
- Answer questions about project structure and organization
- Collaboration
- Stay informed about team discussions
- Reference GitHub conversations in broader context
Troubleshootingโ
Issue | Solution |
---|---|
Authentication failure | Verify your token has correct permissions and hasn't expired |
No data retrieved | Check that the repository path and organization name are correct |
Missing issues | Ensure the token owner has access to the repository |
Rate limiting | Reduce frequency of updates or use a token with higher rate limits |
Incomplete data | Check that all necessary permissions are enabled for the token |
Best Practicesโ
- Start Small: Begin by connecting to smaller repositories to test functionality
- Use Descriptive Knowledge Names: Name your connections clearly for easy identification
- Regular Updates: Schedule recurring updates based on your repository activity level
- Permission Management: Use tokens with the minimum necessary permissions
- Monitor Usage: Keep track of API usage to avoid rate limiting
FAQโ
Q: Can I connect to multiple repositories?
A: Yes, create separate connector configurations for each repository.
Q: Does the connector retrieve repository code?
A: Currently, the connector focuses on issues and related metadata, not code content.
Q: How far back does the connector retrieve issues?
A: The connector retrieves all accessible issues, regardless of age.
Q: Can I use this with GitHub Enterprise?
A: Yes, the connector works with both GitHub.com and GitHub Enterprise instances.
Q: Will private repository information be secure?
A: Yes, data is only accessible to users with appropriate permissions in our system.