Оповещения из Gitlab в Telegram
Мы перебрали несколько вариантов, которые Гугл выводит на первой странице по запросу "Gitlab Telegram notifications".
Сначала перечислим те, которые нам не понравились:
- https://ifedyukin.ru/blog/2018/telegram_ci
- отдельный сценарий, который надо размещать на узле, на котором выполняется gitlab-runner;
- явные вызовы сценария из .gitlab-ci для успеха и ошибки (все остальные вызываются через web-hooks);
- настройки бота предполагается помещать в секретные переменные каждого репозитория.
- https://www.integromat.com/en/integrations/gitlab/telegram
- платный сервис с урезанным бесплатным тарифом.
- https://github.com/danigm/gitlab-telegram-bot
- громоздкое веб-приложение на Python и Flask.
И в итоге остановились на Integram:
- сервис бесплатен;
- исходные тексты открыты — https://github.com/requilence/integram.
Порядок настройки в Telegram:
- Для получения персональных уведомлений — подключитесь к https://t.me/gitlab_bot.
- Либо для получения уведомлений в коллективный чат — добавьте в него @gitlab_bot
- В ответ на “/start” бот пришлёт вам уникальную ссылку следующего вида:
https://integram.org/gitlab/aqRvL9c0ZPw
Завершение настройки в Gitlab'e:
- Откройте репозитарий и перейдите в раздел Settings => Integrations.
- В поле URL введите присланную ботом ссылку.
- В поле Secret Token не забудьте ввести произвольную случайную строку!
Если поле останется пустым, никаких сообщений об ошибке не будет, но сообщения до получателя не дойдут. - В поле Trigger отметьте все события, о которых желаете получать уведомления.
- Нажмите “Add webhook”.
- Нажмите “Test” в появившейся записи и убедитесь, что в Telegram пришло тестовое сообщение.