SEI GitHub Enterprise integration
GitHub Enterprise is a self-hosted, on-premises version of GitHub.
It provides organizations with the tools and features of GitHub, but allows them to host and manage their repositories and collaboration tools within their own infrastructure for enhanced security and control.
Use the SEI Github Enterprise integration to integrate SEI with Github Enterprise.
Configure the authentication
SEI communicates with Github Enterprise by setting up authentication using a Personal Access Token (PAT). you must create a GitHub personal access token to configure the SEI GitHub integration. To learn more on this, Go to Configuring the authentication.
Configure the integration
- Cloud
- Satellite
- Select Integrations under Settings.
- Select Available Integrations, locate the GitHub Enterprise integration.
- Select Install.
- Add the Username & paste the Personal Access Token as the value for the PAT field. (Note: You can add multiple PATs for the same integration)
- In the URL field, add the URL where your GitHub repository is deployed.
- Select repositories to associate with the integration or select Ingest All Repos to associate all current and future repos in your GitHub organization.
- If applicable, configure Additional Options:
- Fetch PRs: Allow SEI to ingest PR data from GitHub.
- Fetch Issues: Allow SEI to ingest data from GitHub Issues.
- Fetch Projects: Allow SEI to ingest data from GitHub Projects.
- Fetch Commits: Allow SEI to ingest commit metadata from GitHub.
- Fetch Commit Files: Allow SEI to ingest data within commits from GitHub.
- Connect via GitHub webhook: Select this option if you want GitHub to push data to SEI through a webhook, rather than SEI pulling data from GitHub. This is an advanced configuration and only recommended if you are confident about using this configuration.
- In Integration Name, enter a name for the integration.
- Finish configuration and Save the integration.
The steps for configuring the integration using Satellite is similar to configuring the integration on cloud, with the exception of using satellite to communicate with the Github enterprise server.
Make sure to select the satellite integration checkbox while configuring the integration.
Here’s a sample satellite.yml
file:
satellite:
tenant: <ACCOUNT_ID>
api_key: <ACCOUNT_API_KEY>
url: 'https://app.harness.io/gratis/sei/api' # Note that this URL is relative to the environment you are using.
integrations:
- id: '<INTEGRATION_ID>'
application: github_enterprise
url: 'https://api.github.com'
metadata:
repos: <REPOSITORIES>
is_push_based: true
fetch_commits: true
fetch_prs: true
fetch_issues: true
fetch_projects: true
fetch_commit_files: true
auto_register_webhook: true
authentication: multiple_api_keys
keys:
- api_key: <GITHUB_PAT_1>
user_name: <GITHUB_USERNAME>
- api_key: <GITHUB_PAT_2>
user_name: <GITHUB_USERNAME>
If you encounter any issues during the integration process, go to the Satellite integration Troubleshooting and FAQs.