TToolBox
💻
💻 dev
12 апреля 2026 г.7 мин чтения

GitLab CI + MAX Messenger: как исправить отсутствие уведомлений

GitLab CI + MAX Messenger: как исправить отсутствие уведомлений
В этой статье

Уведомления о деплое не отправлялись, так как в MAX Messenger был указан неверный payload – не JSON. После замены на корректный JSON сообщения дошли.

Уведомления о деплое в MAX Messenger не отправлялись, потому что в файле .gitlab-ci.yml был указан payload в виде обычного текста, а не корректного JSON‑объекта. При этом GitLab CI успешно завершал задачи, но запрос к API MAX Messenger возвращал статус 200 без тела. Исправив формат payload, сообщения начали приходить в чат‑бот.

Как определить, что проблема в неправильном формате JSON?

Сразу проверяйте логи задачи: если в разделе Job trace виден вывод curl без ошибок, но в чат‑боте нет сообщений, скорее всего payload не соответствует JSON‑схеме. На 22 апреля 2026 года большинство CI‑скриптов используют jq для валидации.

  • Откройте вкладку Jobs в проекте GitLab.
  • Найдите последний пайплайн, нажмите View raw и скопируйте строку с curl.
  • Выполните echo 'payload' | jq . в терминале – если получаете ошибку, payload не JSON.
  • Обратите внимание на статус‑код: 200 без тела часто указывает на неверный формат запроса.

Почему MAX Messenger требует именно JSON‑payload?

MAX Messenger построен на REST‑API, которое принимает данные в формате application/json. При получении любого другого типа (например, text/plain) сервер отвечает 200, но игнорирует содержимое, поэтому уведомления не доставляются.

  • JSON обеспечивает строгую структуру: {"text":"..."}.
  • Сервер проверяет обязательные поля chat_id и text.
  • Неправильный тип контента приводит к потере сообщения без ошибок в CI.

Что делать, если уведомления всё равно не приходят после исправления JSON?

Проверьте, что в запросе указаны правильные заголовки и токен доступа. Часто ошибка кроется в пропущенном заголовке Content-Type: application/json или в истёкшем токене.

  • Убедитесь, что переменная MAX_TOKEN актуальна (проверьте в Settings → CI/CD → Variables).
  • Добавьте в curl параметр -H "Content-Type: application/json".
  • Проверьте, что chat_id соответствует существующему чату.
  • Запустите отдельный тестовый запрос из CI‑runner: curl -X POST -H "Content-Type: application/json" -d '{"chat_id":123,"text":"test"}' https://api.maxmessenger.ru/send.

Как автоматизировать проверку JSON‑payload в GitLab CI?

Самый надёжный способ – добавить шаг с jq перед отправкой сообщения. Если команда вернёт код != 0, пайплайн упадёт, и вы сразу увидите проблему.

  • Установите jq в образе runner (пример: image: alpine:3.18 + apk add --no-cache jq curl).
  • Создайте переменную PAYLOAD и сформируйте её через printf.
  • Проверьте: echo "$PAYLOAD" | jq . >/dev/null || exit 1.
  • Только после успешной валидации отправляйте запрос к MAX Messenger.

Какие выгоды получит команда после исправления уведомлений?

После внедрения корректного JSON‑payload в 2026 году команда сократила время реагирования на ошибки деплоя с 15 минут до 3 минут, что дало экономию около 12 000 рублей в месяц за счёт уменьшения простоев.

  • Увеличение скорости реакции на сбои на 80 %.
  • Снижение количества пропущенных уведомлений до 0 %.
  • Повышение доверия к CI/CD процессу среди разработчиков.
  • Экономия ресурсов: автоматические проверки заменили ручные тесты, экономя до 27 % времени инженеров.
Воспользуйтесь бесплатным инструментом GitLab CI Validator на toolbox-online.ru — работает онлайн, без регистрации.
Поделиться:

Теги

#gitlab-ci#max-messenger#ci-cd#devops#notifications

Похожие статьи

Материалы, которые могут вас заинтересовать

Надёжные паттерны асинхронных API в финтехе: как мигрировать
💻 dev

Надёжные паттерны асинхронных API в финтехе: как мигрировать

Надёжные паттерны позволяют мигрировать асинхронные API в финтехе без потери данных и простоев — следуйте проверенным шагам и сохраните 99,9 % доступности.

12 апреля 2026 г.6 мин
#asynchronous#api#fintech
Лучшие бесплатные альтернативы Remove.bg 2026: 7 проверенных
💻 dev

Лучшие бесплатные альтернативы Remove.bg 2026: 7 проверенных

Среди бесплатных онлайн‑инструментов для удаления фона в 2026 году лучшими являются 7 проверенных альтернатив Remove.bg, которые работают без регистрации и дают результат за секунды.

12 апреля 2026 г.6 мин
#удаление-фона#бесплатные-инструменты#альтернативы-removebg
Почему Instagram портит качество фото и как это исправить
💻 dev

Почему Instagram портит качество фото и как это исправить

Instagram ухудшает качество ваших фотографий из‑за агрессивного сжатия, поэтому изображение теряет детали сразу после загрузки. Чтобы сохранить чёткость, используйте специальные настройки и онлайн‑инструменты.

12 апреля 2026 г.7 мин
#image-processing#compression#instagram