This article covers what is GitHub integration and how to enable and integrate GitHub with the Resolution Intelligence Cloud to sync GitHub entities.
Integration with GitHub, a CMDB source, will onboard all entities including repositories, users, and teams (groups) from GitHub to the Resolution Intelligence Cloud. You can add conditions to control the entities to be onboarded while creating a GitHub instance. All the entities onboarded to the platform are monitored continuously for Dependabot alerts.
When a Dependabot alert is generated in any of these GitHub entities, a signal is sent to the Resolution Intelligence Cloud. The Dependabot alert is triggered when security vulnerabilities are detected in any of the repositories.
Prerequisites
- Organization ID (Obtained through the cURL request)
- API key (personal access token generated from the GitHub account). Refer to Generating an API key (Personal access token) on GitHub
Generating an API key (Personal access token) on GitHub
Use this procedure to generate an API key to sync entities from GitHub to the Resolution Intelligence Cloud.
1. Log in to the GitHub account.
2. Click the user profile icon and select Settings.
3. From the left navigation menu, select Developer Settings.
4. Click to expand the Personal access tokens options and select the Tokens (classic) option.
5. Click the Generate new token drop-down and select Generate new token (classic). This opens the New personal access token (Classic) page.
6. Select the check boxes corresponding to repos, users and teams you want to sync to the Resolution Intelligence Cloud.
7. Click Generate token. This generated token must be configured while creating an instance in the Resolution Intelligence Cloud.
Enabling GitHub Integration
Use this procedure to enable GitHub Integration to add an instance to onboard entities belonging to an organization.
- Click Configurations to navigate to the Configurations options.
- Select Integrations, under the Data Ingestion section to see all the data sources and monitoring tools that you want to integrate.
3. Select CMBD from the list to see only the CMDB sources available to integrate with the platform.
4. Search for GitHub integration in the search box.
5. Click on the GitHub card to open. This takes you to the GitHub Integration page.
6. Click Add and select Add New Integration to add a new integration to the platform. This enables GitHub Integration.
Adding a GitHub Instance
Use this procedure to add a GitHub instance from where you want to sync entities such as repositories, teams (groups), and users who have access to Git.
- Click Add Instance. This opens the Add Instance page.
- Specify the Instance Details:
Name – The name of the GitHub instance.
API key – The personal access token generated in GitHub.
Organization ID – The ID of the organization from where you want to onboard the GitHub entities. You can fetch the organization ID through Curl request.
3. Under Specify Ingestion Criteria, construct the condition expression.
4. Select a field and operator from the drop-down lists. For the value, select a value from the drop-down list or enter it manually, depending on the field type. The condition allows you to onboard only the specific entities to the platform.
4. A condition expression can consist of several phrases, joined by an AND (or) OR. For each phrase, select a field, operator, and value. Click the button to add an additional row. Use the parentheses and AND/OR options to join the phrases together to form a condition expression.
The conditions include the following attributes:
-
- Alias Name
- Created time
- Updated time
- Name
5. Under Schedule, choose the following to sync the incoming data from AWS.
Time zone: Select the appropriate Time zone at which the sync should happen. (for example, (UTC+05:30) Asia/Kolkata)
Time: Select the appropriate date and time at which the sync should happen.
Repeat: From the drop-down, select the following
-
- Monthly: Specify the number of months and the day. (for example, for every 6 months on the 30th day according to the Timezone you selected)
- Weekly: Specify the day (for example, Every Thursday at 10:AM according to the Timezone you selected)
- Daily: On every day at a specific time based on the time you have specified
5. Click Validate and Save to validate the provided data. Once validation is successful, the instance gets created.
Viewing the existing instances
Use this procedure to view the GitHub instances added to this tenant.
- Select Integrations, under the Data Ingestion section to see all the data sources and monitoring tools that you want to integrate. This opens the Integrations page where you can see all the enabled and available integrations.
- Click the GitHub card in the Enabled Integrations section. This opens the page where you can see the existing instances.
- Review this information:
Field name | Field description |
---|---|
Name | The name of the GitHub instance. |
Organization ID | A unique ID of the organization whose assets are synced. |
The email address of the user who has created the GitHub instance. | |
Updated Time | The time at which the instance was last updated. |
Schedule | The job schedule created for this instance. |
You can do the following on this page:
- Syncing the GitHub instance
- Viewing the job history
- Deleting an Instance
- Deleting a schedule
- Modifying the Instance details
Syncing the GitHub instance
Use this procedure to sync the GitHub entities to the Resolution Cloud platform instantly.
To sync the GitHub entities:
- Select Integrations, under the Data Ingestion section to see all the data sources and monitoring tools that you want to integrate. This opens the Integrations page where you can see all the enabled and available integrations.
- Click the GitHub card in the Enabled Integrations section. This opens the page where you can see the existing instances.
- Click the ellipses icon corresponding to the GitHub instance you want to sync and select Sync now. This syncs the latest entities to the platform.
Viewing the job history
Use this procedure to track the history of succeeded and failed jobs. This gives you details, such as when the job was performed and what is the outcome of the job.
To sync the GitHub entities:
- Select Integrations, under the Data Ingestion section. This opens the Integrations page where you can see all the enabled and available integrations.
- Click the GitHub card in the Enabled Integrations section. This displays the existing instances.
- Click the ellipses icon corresponding to the GitHub instance whose job history you want to view and select Job History. This displays the Job History tab.
- View the following job details:
Field name | Field description |
---|---|
Job ID | A unique ID generated for every run. |
Start time | The time when the job was started. |
End time | The time when the job ended. |
Execution time | The time taken to run a job. |
Status |
The status of the job run. Possible values:
|
5. Click on a particular job to view its job logs and find out the issues in the failed jobs. You can also use the download option to download the logs to a spreadsheet.
Note: If the job is failed, you can use the Retry button to re-run the job
Deleting an Instance
Use this procedure to delete a GitHub Instance.
- Select Integrations, under the Data Ingestion section. This opens the Integrations page where you can see all the enabled and available integrations.
- Click the GitHub card in the Enabled Integrations section. This displays the existing instances.
- Click the ellipses icon corresponding to the GitHub instance you want to delete and select Delete Instance.
- A pop-up window appears. Click Yes to delete.
Deleting a schedule
Use this procedure to delete a schedule associated with the GitHub instance. You cannot view the Delete schedule option when there are no schedules set for this instance.
- Select Integrations, under the Data Ingestion section. This opens the Integrations page where you can see all the enabled and available integrations.
- Click the GitHub card in the Enabled Integrations section. This displays the existing instances.
- Click the ellipses icon corresponding to the GitHub instance and select Delete Schedule to delete the scheduled job for this instance.
You can now view the scheduler being removed from this instance.
Modifying the Instance details
Use this procedure to modify the instance details.
- Select Integrations, under the Data Ingestion section. This opens the Integrations page where you can see all the enabled and available integrations.
- Click the GitHub card in the Enabled Integrations section. This displays the existing instances.
- Click the ellipses icon corresponding to the GitHub instance you want to modify and select Edit Instance. This takes you to the Edit Instance page.
- Change the Instance details and Click Validate and Save the save the updated changes.
Deactivating GitHub Integration
Use this procedure to deactivate the GitHub Integration for this organization or tenant.
- Select Integrations, under the Data Ingestion section. This opens the Integrations page where you can see all the enabled and available integrations.
- Click the GitHub card in the Enabled Integrations section.
- Click the ellipses icon and select Deactivate to remove the existing entities from the platform. However, reactivating will retrieve all the entities.
Comments
0 comments
Please sign in to leave a comment.