GitHub Repository

Out-of-the-box Source Code Repository Integration

Introduction

The LeanIX VSM GitHub Repository integration offers the automated out-of-the-box creation and updating of LeanIX Software Artifact Fact Sheets. In this way, we provide repository information that can be linked to Software Artifacts to understand which Software Artifact are owned by which Teams. The integration also provides Software Artifact portfolio view that allows everyone in the organization to find the right Software Artifacts and know what Teams are owning them. VSM is focused on the high-level information of Repos.

Integrate with GitHub to:

  • bring in repo data as Software Artifacts
  • augment your Software Artifacts with relations to owning teams and also used technologies

Setup

The GitHub repository connector scans your GitHub organization(s) to fetch your GitHub repositories and adjacent information, such as Teams and Libraries used. The integration can be set up in full self-service via the Admin UI.

Installation

This integration doesn't require any installation of a plugin-in, as the Integration Hub handles the entire integration.

Configuration in GitHub

To integrate GitHub with LeanIX VSM you need two inputs: 1) a Personal Access token 2) the GitHub organization(s). Here's how to get a hold of both:

1. Creating a Personal Access Token

  1. Please refer to the GitHub instructions
  2. Ensure you enable the following scopes:
    a) repo
    b) repo:status
    c) repo_deployment
    d) public_repo
    e) repo:invite
    f) security_events
    g) read:org
GitHub scopes to be setGitHub scopes to be set

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 SSOAuthorizing for organizations with SSO

Authorizing for organizations with SSO

2. Fetching GitHub organization(s)

To see the names of your managed organizations, follow these instructions

Configuration in VSM

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

GitHub Repository Integration setup in the Admin UIGitHub Repository Integration setup in the Admin UI

GitHub Repository Integration setup in the Admin UI

📘

Sync Logging

Open "Sync Logging" tab to get understand the progress of your current integration run. Sync Logging also provides information on previous integration runs

Imported Data

Below you find how objects fetched from Github are translated into LeanIX Factsheets and attributes on them.

GitHub Object

LeanIX Value Stream Management

Repository name

Software Artifact Fact Sheet
(org/name = external Id reference)

Top 3 (based on the frequency of commits in the last 30 days) source code contributors are added as 'Responsible' subscriptions to the respective Software Artifact Fact Sheet.

Team entity

Team Fact Sheet
(name = external Id reference)

Team entity added to a repository

Relation between Software Artifact and Team Fact Sheet.

Languages of a repository

Technology Fact Sheet
(name of language = external Id reference)

Technology Fact Sheet is related to the Software Artifacts where the language is used. Ex: Java, C++, JS etc..

The size of code (in kilo bytes) written in the respective language are mapped on the relation.

Topics

All topics are mapped as LeanIX tags of the tag group GitHub Topics by default.

📘

Topics

Topics are a great way to pass custom data to your VSM workspace. We will add more mapping functionality based on topics to this connector. Today you can already use topics to map your data into VSM by leveraging the integration API and custom data mappings. Find out more in the section below on customization.

Extending the Integration

Integration also supports Integration API execution groups to enable users to add custom processors. To process the data correctly, you need to add a custom processor set. Refer to this manual for an end-to-end description of the needed steps.

Use the execution group vsmGitHubInbound to extend the integration.

The integration API will pick up your processors and merge them with the base processors at execution time. Make sure to set the Integration API run number accordingly.

For more information on the execution groups visit: https://docs.leanix.net/docs/integration-api#section-grouped-execution-of-multiple-integration-api-configurations

To get to grips on the general steps needed to extend the integration please also find an in-depth guide in the tutorials section.


Did this page help you?