2020-10-24 23:57:45 +05:30
---
2022-11-25 23:54:43 +05:30
stage: Manage
2023-07-09 08:55:56 +05:30
group: Import and Integrate
2022-11-25 23:54:43 +05:30
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
2020-10-24 23:57:45 +05:30
---
2023-04-23 21:23:45 +05:30
# Mattermost notifications **(FREE)**
2017-08-17 22:00:37 +05:30
2023-04-23 21:23:45 +05:30
Use the Mattermost notifications integration to send notifications for GitLab events
2021-04-29 21:17:54 +05:30
(for example, `issue created` ) to Mattermost. You must configure both [Mattermost ](#configure-mattermost-to-receive-gitlab-notifications )
and [GitLab ](#configure-gitlab-to-send-notifications-to-mattermost ).
2019-09-30 21:07:59 +05:30
2021-04-29 21:17:54 +05:30
You can also use [Mattermost slash commands ](mattermost_slash_commands.md ) to control
GitLab inside Mattermost.
2019-09-30 21:07:59 +05:30
2021-04-29 21:17:54 +05:30
## Configure Mattermost to receive GitLab notifications
2017-08-17 22:00:37 +05:30
2021-04-29 21:17:54 +05:30
To use the Mattermost integration you must create an incoming webhook integration
in Mattermost:
2017-08-17 22:00:37 +05:30
2019-02-15 15:39:39 +05:30
1. Sign in to your Mattermost instance.
2021-04-29 21:17:54 +05:30
1. [Enable incoming webhooks ](https://docs.mattermost.com/developer/webhooks-incoming.html#enabling-incoming-webhooks ).
1. [Add an incoming webhook ](https://docs.mattermost.com/developer/webhooks-incoming.html#creating-integrations-using-incoming-webhooks ).
2019-02-15 15:39:39 +05:30
1. Choose a display name, description and channel, those can be overridden on GitLab.
2021-02-22 17:27:13 +05:30
1. Save it and copy the **Webhook URL** because we need this later for GitLab.
2017-08-17 22:00:37 +05:30
2021-02-22 17:27:13 +05:30
Incoming Webhooks might be blocked on your Mattermost instance. Ask your Mattermost administrator
2019-12-04 20:38:33 +05:30
to enable it on:
- **Mattermost System Console > Integrations > Integration Management** in Mattermost
versions 5.12 and later.
- **Mattermost System Console > Integrations > Custom Integrations** in Mattermost
versions 5.11 and earlier.
2017-08-17 22:00:37 +05:30
2021-02-22 17:27:13 +05:30
Display name override is not enabled by default, you need to ask your administrator to enable it on that same section.
2017-08-17 22:00:37 +05:30
2021-04-29 21:17:54 +05:30
## Configure GitLab to send notifications to Mattermost
2017-08-17 22:00:37 +05:30
2023-04-23 21:23:45 +05:30
> [Changed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/106760) in GitLab 15.9 to limit Mattermost channels to 10 per event.
2021-04-29 21:17:54 +05:30
After the Mattermost instance has an incoming webhook set up, you can set up GitLab
2022-06-21 17:19:12 +05:30
to send the notifications:
2022-10-11 01:57:18 +05:30
1. On the top bar, select **Main menu > Projects** and find your project.
2022-06-21 17:19:12 +05:30
1. On the left sidebar, select **Settings > Integrations** .
1. Select **Mattermost notifications** .
1. Select the GitLab events to generate notifications for. For each event you select, input the Mattermost channel
to receive the notification. You do not need to add the hash sign (`#`).
1. Fill in the integration configuration:
- **Webhook**: The incoming webhook URL on Mattermost, similar to
`http://mattermost.example/hooks/5xo…` .
- **Username**: Optional. The username shown in messages sent to Mattermost.
To change the bot's username, provide a value.
- **Notify only broken pipelines**: If you enable the **Pipeline** event, and you want
notifications about failed pipelines only.
- **Branches for which notifications are to be sent**: The branches to send notifications for.
- **Labels to be notified**: Optional. Labels required for the issue or merge request
to trigger a notification. Leave blank to notify for all issues and merge requests.
- **Labels to be notified behavior**: When you use the **Labels to be notified** filter,
messages are sent when an issue or merge request contains _any_ of the labels specified
in the filter. You can also choose to trigger messages only when the issue or merge request
contains _all_ the labels defined in the filter.