View insights, workflows, pull requests and activity about your GitHub repository to quickly view lifecycle activity of your services within the catalog.
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 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-onlypermission 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.
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 users, you will need to select the GitHub Enterprise 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)
- 4.Click the button: New GitHub App
- 5.Name the GitHub App “configure8” (this name is required)
- 7.Make sure “Request user authorization (OAuth) during installation” is checked
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. They must have the proper permissions to install apps in your Github account. If you do not, you will be prompted by Github to request authorization from someone who does have permissions. Once granted, you can install the application. 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.
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.
configure8 can auto discover the repository resources within your GitHub account on an ad-hoc basis or by leveraging our scheduling engine to scan for new resources on a 2/4/6/8/10/12 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 GitHub account, start by navigating to the Credentials page by clicking on the "lock" icon on the menu bar.
Find the credentials you would like to schedule for auto discovery, select the ellipse button to display the context menu and select the Schedule option.
From the Schedule pop-up, you can run an ad-hoc discovery simply by clicking Run Now.
From the Schedule pop-up, you can also schedule an on-going auto discovery of your GitHub account resources by choosing an hourly frequency from the dropdown and selecting Schedule Discovery.
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.
The current supported GitHub resources that are auto discoverable by configure8 are:
- Dependency Graph (BETA)
- Workflows (actions)
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
Copyright © 2022 configure8, Inc. All rights reserved.