Overview
The GitHub integration in the Engineering Metrics Dashboard allows organizations to connect GitHub repositories and collect repository activity data for engineering analytics. Using this integration, organizations can monitor:- Pull request activity
- Repository contributions
- Commit activity
- Development trends
- Engineering performance metrics
Prerequisites
Before configuring the integration, ensure you have:- Access to the Engineering Metrics Dashboard
- A valid GitHub Personal Access Token
- Access to the GitHub repositories that need to be monitored
- Required permissions to configure integrations
Navigate to GitHub Connections
- Open the Engineering Metrics Dashboard.
- Navigate to the Integrations section.
- Select Source Code Management Integrations.
- Choose GitHub from the available integrations.
Create a New GitHub Connection
- Click New Connection.
- The Manage Connections: GitHub window will appear.
- Enter a unique Connection Name.
Example Connection Names
- GitHub Production
- Engineering Repositories
- GitHub Enterprise
Select the GitHub Environment
Choose the GitHub environment that you want to connect.Available Options
GitHub Cloud
Select this option when connecting repositories hosted on GitHub.com.GitHub Server
Select this option when connecting repositories hosted on a self-managed GitHub Enterprise Server.Configure Authentication
- Select the preferred authentication method.
- Enter the required Personal Access Token.
The Personal Access Token must have sufficient permissions to access the repositories that will be synchronized.
Create a GitHub Personal Access Token
Follow these steps to create a Fine-grained Personal Access Token (PAT) in GitHub.Step 1: Sign in to GitHub
- Sign in to your GitHub account.
Step 2: Open Developer Settings
- Click your profile picture in the top-right corner.
- Select Settings.
- Scroll to the bottom of the left sidebar.
- Click Developer settings.
Step 3: Open Personal Access Tokens
- Click Personal access tokens.
- Select Fine-grained tokens.
Step 4: Generate a New Token
- Click Generate new token.
- Complete authentication if prompted.
Step 5: Configure the Token
Provide the following details:- Token name – Enter a descriptive name for the token (for example, G360 Integration).
- Description (Optional) – Add a brief description of the token’s purpose.
- Expiration – Select an appropriate expiration date.
- Resource owner – Choose the GitHub account or organization that owns the repositories.
- Repository access
- All repositories – Grants access to all repositories owned by the selected resource owner.
- Only select repositories – Grants access only to the repositories you choose.
Step 6: Configure Repository Permissions
- Expand the Repository permissions section.
- Assign the required permissions based on the metrics and features you want G360 to access.
Minimum required token permissions:
When creating a GitHub connection, the access token must include the required permissions based on the repositories you want to access. When creating your GitHub Personal Access Token, select the following permissions:Use a classic Personal Access Token when connecting GitHub to G360. G360 cannot verify permissions on GitHub’s newer fine-grained Personal Access Tokens, so their compatibility cannot be confirmed.
The
repo scope is required only if you want to collect data from private repositories. If you only need access to public repositories, the public repository scopes are sufficient.Step 7: Generate the Token
- Scroll to the bottom of the page.
- Click Generate token.
Step 8: Copy the Token
Step 9: Use the Token
Copy the generated token into the GitHub integration configuration in G360 to complete the connection.Best Practices
- Use Fine-grained Personal Access Tokens instead of classic tokens whenever possible.
- Grant only the minimum permissions required for the integration.
- Set an expiration date in accordance with your organization’s security policy.
- Store the token securely and never commit it to source control or share it publicly.
Optional Configuration
Proxy
If your organization uses a proxy server, enter the proxy details in the Proxy field.Custom Rate Limit
Users can configure a custom API rate limit if required by organizational policies or GitHub API usage restrictions.Test the Connection
- Click Test Connection.
- Wait for the validation process to complete.
Expected Result
- If the credentials are valid, the connection test will succeed.
- If the test fails, verify the Personal Access Token and configuration settings before retrying.
Save the Connection
- After a successful connection test, click Save Connection.
- The GitHub connection will now appear in the available connections list.
Configure Data Scopes
After creating the connection:- Select the GitHub connection.
- Click Add Data Scope.
Repository Selection
- Search for the desired repository.
- Select one or more repositories using the available checkboxes.
- Click Save.
Managing Data Scopes
Users can:- Add Data Scope
- Associate Scope Entity
- Delete Data Scope
Understanding Data Scopes
A data scope represents a GitHub repository that has been authorized for synchronization. Only repositories included in a configured data scope will be available for project setup and analytics.Using GitHub Data in Projects
After configuring a GitHub connection and data scope:- Navigate to the Projects section.
- Create a new project or edit an existing project.
- Select GitHub as the data source.
- Choose the configured GitHub connection.
- Select the required repository scope.
- Complete the project configuration.
Monitoring Synchronization Status
The Status section provides:- Synchronization history
- Task execution details
- Success and failure status
- Processing duration
- Completed operations overview
Troubleshooting
Connection Test Failed
Possible causes:- Invalid Personal Access Token
- Missing repository permissions
- Incorrect GitHub configuration
- Network connectivity issues
- Verify the Personal Access Token
- Confirm repository access permissions
- Retry the connection test
Repositories Not Appearing
Possible causes:- Repository access restrictions
- Missing permissions
- Synchronization still in progress
- Verify repository visibility
- Confirm token permissions
- Retry synchronization
Best Practices
- Use descriptive connection names
- Verify Personal Access Token validity periodically
- Only add repositories that are required for reporting
- Monitor synchronization status regularly
- Review repository activity and engineering metrics periodically

