GitHub

View insights, workflows, pull requests and activity about your GitHub repository to quickly view lifecycle activity of your services within the catalog.

Summary - Creating a GitHub Credential

  1. Go to configure8 app -> Settings -> Credentials -> Add Credential and select GitHub credential provider.

  2. Click on Install GitHub app (you might have to sign in).

  3. Hit Install & Authorize on GitHub account. Done!

  4. You will be redirected back to configure8 app with a success message at the bottom of the screen. A discovery job will start.

GitHub provides a version control system to allow development teams to collaborate throughout the coding cycles. It allows multiple developers to work on a single project at the same time, reduces the risk of duplicative or conflicting work, and can help decrease production time. With GitHub, development teams can build code, track changes, and innovate solutions to problems that might arise during the development process simultaneously.

GitHub Resource Discovery

GitHub utilizes a Github application to access GitHub services, allowing you to integrate from external applications. Whether it's a client application like a web or mobile app, or it's a web API that backs a client app, a Github application establishes a trust relationship between your c8 application and the GitHub APIs.

To perform auto discovery of your GitHub resources for your service catalog, such as repositories and code dependencies, configure8 utilizes a Github application that delegates read-only permission for the configure8 discovery workers to read the GitHub service metadata. That metadata is then recorded within your configure8 catalog for service mapping. Each discovery worker runs in its own isolated container to ensure there is no cross pollination of resources for an organization.

Installing a GitHub Application

To connect your GitHub account to configure8, perform the following steps.

Get started by navigating to the Credentials page by clicking on the "lock" icon on the menu bar.

Next, select the Add Credential button.

From the Add Credential pop-up, select GitHub from the list of available providers.

Next, click on Install Github App button.

For GitHub Enterprise Self-hosted users, you will need to select the GitHub Enterprise Server (Self-hosted) checkbox and fill in the Base URL, Client ID and Client Secret. To generate the ID and Secret:

  1. Open your GitHub Enterprise (This url is the Base URL)

  2. Go to User Settings (BaseURL/settings/profile)

  3. On the left bottom click to the Developer settings (BaseURL/settings/apps)

  4. Click the button: New GitHub App

  5. Name the GitHub App “configure8” (this name is required)

  6. Make sure “Request user authorization (OAuth) during installation” is checked

List of required scope permissions for configure8 application in GitHub Enterprise installation
  • Organization permissions:

    • Members: Read

    • Organization dependabot secrets: read

  • Repository permissions:

    • Actions: read

    • Administration: read

    • Commit statuses: read

    • Contents: read

    • Dependabots alerts read

    • Deployments: read

    • Discussions: read

    • Environments: read

    • Issues: read

    • Metadata: read

    • Packages: read

    • Projects: read

    • Pull requests: read

You will redirected to your Github account (you might have to sign in) where you will be asked to allow the configure8 app to be installed. You can choose all the repositories in your account or select only certain repositories to be included. Click on Install & Authorize to complete installation. (Click here to learn more about Github applications.)

When installing a GitHub app, it is tied to the user that installs it. Also, once installed, if the installer leaves your GitHub organization, the configure8 application will have to be re-installed by a user with the proper permissions.

By the above reason, we recommend that the installation is performed by a GitHub Admin or Owner.

You will be re-directed back to the configure8 app with a success message at the bottom of the screen. An initial discovery schedule will kick-off after installation. To schedule a regular discover job, see Scheduling a discovery in the section below.

Scheduling a discovery

configure8 can auto discover the resources within your GitHub account on an ad-hoc basis or by leveraging our scheduling engine to scan for new resources on a 24/48 hour interval.

configure8 auto discovery uses an open BETA feature from GitHub to scan code dependencies within your repository. The dependency graph is available for every public repository that defines dependencies in a supported package ecosystem using a supported file format. Repository administrators can also set up the dependency graph for private repositories.

If you would like configure8 to scan and report your code dependencies for your private repositories, you must enable the dependency graph BETA feature.

To enable the dependency graph on your private repositories, follow the steps outlined in the GitHub documentation Enabling and disabling the dependency graph for a private repository.

To create a discovery job for your Azure account, start by navigating to the Credentials page by navigating to the Settings (gear) icon on the left hand side navigation.

Find the credentials you would like to schedule for auto discovery, select the ellipse button to display the context menu and select the View option.

From the pop-up under the Discovery section, you can schedule an on-going auto discovery of your resources by toggling on the Auto Discovery switch if not enabled, then choosing a frequency from the Schedule dropdown and selecting Save.

From the pop-up under the Manual Discovery section, you can also run an ad-hoc discovery simply by clicking Run Now.

Configuring GitHub for your Services

Adding a GitHub plug-in to your service adds the code quality summary to your service overview page. To add a GitHub plug-in to your service, start by selecting a service from your catalog Services listing.

From your service overview page, select the Add Plug-in button.

From the Plugins dialog, browse through the list of available plugins and select one of the available GitHub plug-ins by clicking on the Add button.

In the Plug-ins configuration wizard, select an existing credential to connect to the selected plugin provider. If you do not have an existing credential or would like to use a new credential, select the Add Credential button.

Next, enter the information required for your GitHub plug-in configuration.

  • Plugin Title: the title of the plug-in to display on the service overview page

Once you have entered all the required configuration information, select Done. Your configured plug-in is added to your service overview page.

Supported Auto Discovery Resources

The current supported GitHub resources that are auto discoverable by configure8 are:

  • Repositories

  • Contributors

  • Languages

  • Dependency Graph (BETA)

  • Workflows (actions)

Updating GitHub App

From time to time, you may need to update the GitHub app (for example, the user who installed the app leaves your organization). To update the app:

  1. Remove the existing configure8 app from Github

  2. Go to the Credentials section of configure8 and under the Actions menu click Edit

  3. Click the Install GitHub App button and follow the instructions as above

Last updated

Copyright © 2023 configure8, Inc. All rights reserved.