# Уведомления в Mattermost

Входящий вебхук в Mattermost и подключение в Statuser — пошагово со скриншотами

> Индекс всей документации в markdown: https://statuser.cloud/llms.txt — там перечислены остальные статьи. Всё одним файлом: https://statuser.cloud/llms-full.txt. Документация API: https://statuser.cloud/api-reference.md

## Доступность по тарифам

Доступно в тарифе Team

| Функция | Free | Pro | Team |
| --- | --- | --- | --- |
| Уведомления в Mattermost | нет | нет | да |

Сравнение тарифов: https://statuser.cloud/pricing

## Через API и MCP

Описанное в статье можно сделать программно — запросом к публичному API или через MCP-сервер Statuser, который работает поверх того же API. Понадобится API-ключ, создать его можно на любом тарифе; ограничения тарифа в API те же, что в интерфейсе.

- Документация API: https://statuser.cloud/api-reference (машиночитаемо: https://statuser.cloud/api-reference.md)
- MCP-сервер: https://github.com/statuser-cloud/mcp

---

Statuser присылает уведомления в канал Mattermost через входящий вебхук. Настройка займёт несколько минут: создайте вебхук в Mattermost, вставьте его адрес в Statuser — и уведомления начнут приходить в канал.

## Что понадобится

- Права администратора Mattermost, чтобы один раз разрешить входящие вебхуки на сервере. Сам вебхук может создать любой участник, которому разрешено управлять интеграциями.
- Сервер Mattermost, доступный из интернета: Statuser отправляет сообщения снаружи. Если Mattermost во внутренней сети, хватит прокси, который открывает наружу только вебхуки, — [как его настроить](#если-mattermost-во-внутренней-сети).

## Шаг 1. Разрешите входящие вебхуки

Откройте меню продукта (значок из квадратов в левом верхнем углу) → **Системная консоль** → **Интеграции** → **Управление интеграцией** и включите три настройки:

- **Разрешить входящие вебхуки** — без неё Mattermost не примет ни одного сообщения.
- **Разрешить интеграциям переопределять имена** и **Разрешить интеграциям переопределять иконки изображений профилей** — тогда сообщения придут от имени Statuser с его значком. Если оставить эти две выключенными, уведомления всё равно будут приходить, но от имени того, кто создал вебхук.

![Системная консоль Mattermost, раздел «Управление интеграцией»: включены «Разрешить входящие вебхуки», «Разрешить интеграциям переопределять имена» и «Разрешить интеграциям переопределять иконки изображений профилей»](https://statuser.cloud/docs/screens/mattermost-notification-settings-light.png)

Нажмите **Сохранить** внизу страницы.

## Шаг 2. Создайте входящий вебхук

Вернитесь в команду и откройте меню продукта → **Интеграции** → **Входящие вебхуки** → **Добавить входящий Webhook**. Заполните форму:

- **Заголовок** — `Statuser`, чтобы вебхук было легко узнать в списке.
- **Канал** — куда будут приходить уведомления.
- **Имя пользователя** и **Изображение профиля** оставьте пустыми: их задаёт Statuser.

![Форма «Входящие вебхуки → Добавить» в Mattermost: заголовок Statuser, описание «Уведомления о сбоях серверов», выбран канал «Алерты»](https://statuser.cloud/docs/screens/mattermost-notification-webhook-form-light.png)

Нажмите **Сохранить**. Mattermost покажет адрес вебхука — скопируйте его целиком.

![Страница «Установлено» после создания вебхука: адрес вида https://mattermost.example.com/hooks/… и кнопка копирования рядом с ним](https://statuser.cloud/docs/screens/mattermost-notification-webhook-url-light.png)

> Адрес вебхука работает как пароль: токен лежит прямо в нём, и любой, кто его
> знает, может писать в канал. Не пересылайте его в открытых чатах.

## Шаг 3. Подключите Mattermost в Statuser

1. Откройте **Настройки аккаунта** → [Уведомления](https://statuser.cloud/my/account/notifications) и нажмите **Добавить канал**.
2. Выберите **Mattermost** и вставьте скопированный адрес. Подпись необязательна — она пригодится, если каналов Mattermost будет несколько.
3. Нажмите **Отправить тест** — в канал придёт тестовое сообщение Statuser.
4. Нажмите **Подключить** и отметьте проекты, уведомления которых должны приходить в этот канал.

![Диалог «Добавить канал» в Statuser: выбран Mattermost, в поле URL вставлен адрес входящего вебхука, кнопки «Отправить тест» и «Подключить»](https://statuser.cloud/docs/screens/mattermost-notification-connect-light.png)

Проверить канал позже можно в любой момент: откройте меню **⋯** на его карточке в разделе [Уведомления](https://statuser.cloud/my/account/notifications) и выберите **Отправить тест**.

## Как выглядят уведомления

Каждое сообщение приходит блоком с цветной полосой: красная — сбой или уже случившаяся проблема, зелёная — восстановление, жёлтая — плановое напоминание, оранжевая — медленный ответ, синяя — изменение DNS-записей. Внизу — ссылка на инцидент или сервер в Statuser.

![Два сообщения Statuser в канале Mattermost: «API бэкенда недоступен» с красной полосой и «API бэкенда снова доступен» с зелёной, с хостом, причиной, временем инцидента и регионами проверки](https://statuser.cloud/docs/screens/mattermost-notification-message-light.png)

Какие события уходят в канал, настраивается в правилах уведомлений: у события можно раскрыть список каналов и выключить в нём **Mattermost**. Из каких проектов — решают тумблеры каналов в настройках проекта. Подробнее — в статье [Каналы уведомлений](/docs/notification-types).

## Если Mattermost во внутренней сети

Открывать в интернет весь Mattermost не придётся. Statuser отправляет только запросы `POST` на путь `/hooks/` — хватит прокси на сервере с публичным адресом, который пропускает их и ничего больше. Например, в nginx:

```nginx
server {
    listen 443 ssl;
    server_name mm-hooks.example.com;
    # ssl_certificate и ssl_certificate_key — сертификат для mm-hooks.example.com

    location /hooks/ {
        limit_except POST { deny all; }
        proxy_pass http://mattermost.internal:8065;
    }

    location / {
        return 404;
    }
}
```

В Statuser вставьте адрес вебхука, заменив в нём хост на адрес прокси: `https://mm-hooks.example.com/hooks/…`.

Прокси должен именно пересылать запросы: по редиректу Statuser не переходит. Чтобы пускать через прокси только Statuser, фильтруйте запросы по заголовку `User-Agent` — у всех наших запросов к вебхукам он одинаковый:

```text
Mozilla/5.0 (compatible; Statuser Webhook; https://statuser.cloud/)
```

Фильтр по IP здесь не сработает: в [списке адресов Statuser](/docs/statuser-user-agent-and-ips) — адреса проверок, а уведомления отправляются с других.

## Если тест не проходит

- **Сервер чата недоступен из интернета** — Mattermost во внутренней сети. Откройте снаружи путь `/hooks/`, например [через прокси](#если-mattermost-во-внутренней-сети).
- **Чат вернул HTTP 501** — в системной консоли выключены входящие вебхуки, вернитесь к шагу 1.
- **Чат вернул HTTP 400** — адрес скопирован не целиком или вебхук удалён. Скопируйте адрес заново в **Интеграции** → **Входящие вебхуки**.
- **Сообщения приходят от вашего имени, а не от Statuser** — не включено переопределение имён и иконок, вернитесь к шагу 1.

---

Источник: https://statuser.cloud/docs/mattermost-notification
