GitHub
Out-of-the-box Source Code Repository Integration
Introduction
General Availability
This integration is generally available. To find more information about the release stages of our integrations, see Release Stages.
The LeanIX VSM GitHub Repository integration offers an easy way to auto-discover all your services from GitHub. Based on this VSM's mapping inbox allows you to easily sift through all the stale information from GitHub to decide, which services are really useful to your organization and hence should be part of your service catalog. This will help you to maintain a high standard of data quality when you subsequently map your services to their individual teams to create clear team ownership.

Integrate with GitHub to:
- Automatically discover your services to build your company-wide service catalog
- Map team ownership to have clear software governance in place
Setup
The GitHub repository connector scans your GitHub organization(s) to fetch your GitHub repositories and adjacent information,
such as the programming languages used. The integration can be set up in full self-service via the Admin UI.
Support of GitHub versions
This connector currently only supports the GitHub Cloud-hosted versions ( both free & enterprise). We currently don't support GitHub Server versions nor GitHub AE. To check out which version you're using please refer to the GitHub documentation
PAT Authentication
To get a personal access token follow the below steps:
Creating Personal Access Token
- Please refer to the GitHub instructions or directly create the PAT via this link
- Ensure you enable the following scopes:
repo
repo:status
repo_deployment
public_repo
repo:invite
security_events
read:org

GitHub scopes to be set
Authorizing for Single Sign On
If your GitHub Organization requires Single-Sign-On, then you will also need to authorize the token for single-sign-on ( see below) or follow the detailed instructions via GitHub documentation.

Authorizing for organizations with SSO
Fetching GitHub organization(s)
To see the names of your managed organizations, follow these instructions or directly fetch your organizations from your settings.

Configuration in VSM
In your LeanIX VSM workspace, go to Administration > Integrations and follow the instructions to set up the GitHub integration.

GitHub Repository Integration setup in the Integration UI
How to map your discovered repositories to VSM service catalog items?
After the integration successfully loaded all your repositories into the VSM mapping inbox you can now start to sift through and decide which of these repos are actually worthy to maintain in the service catalog. To do so:
- Head over to Technology > Mapping

- Click on Create and either map it to another - existing service (if these are duplicates) - or create a new VSM service that will end up in the service catalog.


- Congrats! you have now created your first VSM service - neat & tidy. Go ahead and explore what it has to offer and map it to
your teams.

DORA Metrics
Software Delivery Metrics are the best way for teams to track and monitor team productivity. The GitHub repository integration can automatically fetch information for two of the most important DORA metrics:
- Deployment frequency: Number of deployments to production for a Team.
- Lead time for changes: Time from committing a change to code successfully running in production.
Find below the mechanism by which the change and release events are registered.
Registering Release Event
All closed or merged pull requests in our public repository ps-scripts

Pull requests which are merged, and are less than 30days old are valid. There is only valid pull request among the 4 closed pull requests.

This will be registered as release
event along with the commits change Ids from below.
Registering Change Events
The pull request has 3 commits.

The 3 commits are registered as change
events along with author details.
GitHub API Rate Limits
The integration uses GitHub's GraphQL API. In case an organization has an exceptionally large number of repositories, GitHub API throttles the requests. Though the integration attempts to automatically recover from rate limiting, the integration takes more time to finish.
Scheduling
Schedule the integration once a day if your organization has (approx.) >2000 repositories and/or >200 teams
Imported data
The integration retrieves the following pieces of information from your Azure repo system:
- Metadata, such as repository name, description, url etc.
- Repository status e.g.
archived
,active
- Repository code composition e.g.
typescript
- Repository topics e.g.
frontend
. - Repository visibility e.g.
private
- Top 3 contributors to the repository e.g.
[email protected]
Updated about 1 month ago