Skip to main content
Version: 6.0.0

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)โ€‹

  1. Navigate to the top-right corner of GitHub and click on your profile photo
  2. Click on Settings
  3. Go to Developer settings from the left-hand side panel
  4. Click on Personal access tokens, and then Tokens (classic)
  5. 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โ€‹

FieldDescription
Knowledge NameProvide a descriptive name for this knowledge source Example: "Company Main Repository" or "Project Documentation"
GitHub TokenEnter 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 PathFor 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:

  1. Enable the "Recurring" option in settings
  2. Select frequency (hourly, daily, weekly)
  3. 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โ€‹

IssueSolution
Authentication failureVerify your token has correct permissions and hasn't expired
No data retrievedCheck that the repository path and organization name are correct
Missing issuesEnsure the token owner has access to the repository
Rate limitingReduce frequency of updates or use a token with higher rate limits
Incomplete dataCheck 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.