GitLab
GitLab is an open-core DevOps software package that lets users develop, secure, and operate software in a single application. This workflow creates change records so you can monitor the impact of GitLab events on your service health. You can then build automations to update stakeholders, or send messages to respond to events in GitLab.
How it works
When an event is generated in GitLab, it sends a JSON-formatted webhook to xMatters. A GitLab trigger in xMatters parses the webhook and creates a change record. The webhook includes essential data about the change to help you build automated tasks.
Install the workflow
The following instructions describe how to install the workflow through the xMatters one-click installation process.
- Go to the Workflow Templates page and click the GitLab tile.
- On the Set up the Workflow tab, give the workflow a name that identifies its purpose (this must be unique in your instance), add an optional description, and set the default incident type (if applicable). Any built-in Initiate Incident steps in the workflow will automatically be set to the selected incident type.
- You can edit these later, if needed.
- Click Next to set up the connection.
- Choose the authentication method. A trigger URL is generated based on the selected authentication method.
- Copy the trigger URL — you’ll use the URL to configure the webhook in GitLab.
- The trigger URL does not include a recipients parameter, but you can add one to notify an impacted or associated service of the change.
- Send a test signal to the trigger URL to test the connection.
- Click Open Workflow to go to the workflow and customize it, or click Close to close the installation window.
Configure GitLab to send requests to the trigger URL
To have GitLab send alerts to the flow trigger, you need to configure a webhook and set it to use the trigger URL.
- In GitLab, go to Settings > Webhooks.
- On the Webhooks page fill in the following fields:
- Url: Paste the trigger URL you copied from Flow Designer. Add the target name of a single service you want to notify when the change is received.
- For URL authentication, use an ampersand to attach the service. For example, if you want to notify the Cassiopeia Service, you'd add &recipients=Cassiopeia%20Service to the URL.
- For other authentication types, use a question mark to attach the service. For example, if you want to notify the Antares Service, you'd add ?recipients=Antares%20Service to the URL.
- You must URL-encode any special characters or spaces in the target names.
- Select the type of GitLab events that will send changes to xMatters. The following event types are supported:
- Push events
- Merge request events
- Job events
- Pipeline events
- Deployment events
- Feature flag events
- Releases events
- Leave Enable SSL verification selected.
- Url: Paste the trigger URL you copied from Flow Designer. Add the target name of a single service you want to notify when the change is received.
- Click Add webhook.
You're ready to use the webhook to trigger automated flows, including steps such as sending alerts and initiating incidents, though we always recommend testing before putting things into use.
Set the impacted or associated service
To set a recipient for this webhook, add the name of a single impacted or associated service to the end of the trigger URL in GitLab. The encoding used to add the service is based on the type of authentication you select in Flow Designer.
- For URL authentication, use an ampersand to attach the service. For example, if you want to notify the Cassiopeia Service, you'd add &recipients=Cassiopeia%20Service to the URL.
- For other authentication types, use a question mark to attach the service. For example, if you want to notify the Antares Service, you'd add ?recipients=Antares%20Service to the URL.
Remember to URL-encode any special characters, including spaces, in your service name.
After setting the recipient on the GitLab webhook, go to Flow Designer and open the Change Record step. Drag and drop the Recipients variable into the Associated Service field. When changes are received, the associated or impacted service is notified of the change.
You can also manually add a service by typing its name into the Associated Service field.
Next Steps
Now that you've installed the workflow, you can use it as-is, or customize it to suit your needs better. Here are some examples of things you can add to the workflow to customize it:
- Use Slack, Zoom, and Microsoft Teams steps to add collaboration channels to the flow.
- Add a Create Alert step to notify recipients of the change.
- Update the message sent to resolvers to include the information most relevant to your team.
- Use the GitLab Changes trigger to build your own custom flows.