Gitlab Changes Integration Guide
TaskCall's Gitlab Changes Integration allows merge requests and commits from Gitlab to be sent to TaskCall as change events on services. Merging new changes into production can sometimes cause your code to break and result in incidents. TaskCall allows such changes to be highlighted to responders when addressing a critical incident so they can identify the real issue faster.
Pricing Plan
Gitlab Changes integration is only available on the Digital Operations plan.
Pointers
- The integration is between a TaskCall service and a Gitlab project.
- When a change event is sent to TaskCall, no incidents are created. Alert notifications are not sent out.
Why is it useful?
- TaskCall issues a webhook endpoint which is shared with Gitlab. When a merge request is approved (or a commit is pushed to a project depending on your preference and configuration), Gitlab sends its details to TaskCall. TaskCall stores these events as change events.
- When an incident occurs, the change events most relevant to it are displayed to help responders determine the core problem faster. The change events can also be viewed from the service the integration is on and from the Recent Changes page.
Configure Integration
In TaskCall
- Go to Configurations > Services. From the service directory, select the service you want to set up the integration on.
- On the service details page, go to the Integrations tab. Click the New Integration button.
- On the modal that is shown, give the integration a name.
- From the integration types, select the top radio button indicating that you are using a built-in integration.
- From the list of built-in integrations, select Gitlab. Click Save.
- A new modal will be shown, enter the Gitlab branches you would like to track. If you want to track multiple branches, then separate the branch names by a comma. Click Save.
- Copy the Integration URL that is issued for the integration.
In Gitlab
- Select the project you want to set up the integration on and go to Settings > Webhooks. Click Add new webhook.
- In the URL field paste the Integration URL you copied over from TaskCall.
- Under the Trigger section, check the Merge request events checkbox and uncheck the Push events option.
- Click Add webhook when you are done.
Test the integration to make sure that the change events are registered in TaskCall correctly.
Pull Request or Push
Although TaskCall is able to process both push and merge requests, we recommend organizations to only choose merge requests as triggers to avoid duplication. When a merge request is approved, a push request is also generated in the branch the changes are being merged into. This would result in duplication of the same message.
Furthermore, in the case of merge requests, TaskCall only processes those that are approved to avoid over logging of events.
Branch Tracking
When a webhook is set up for a Gitlab project, the webhook gets triggered for the selected events whenever the event occurs regardless of the branch. However, you may not want to track all the events from all the branches. Usually only the master or main branch is tracked as that represents the production environment. This is why TaskCall allows organizations to choose the branches they want the integration to track.
To edit the branches that should be tracked:
- Navigate to the details page of the service the Gitlab integration is on and go to the Integrations tab.
- From the list of integrations, find your Gitlab integration. Click the dropdown on the right end of the integration list item and select Edit.
- In the modal that is shown, enter the names of the new branches that should be tracked.
- Click Save.