Персональные уведомления от GitLab в телеграм https://docs.struchkov.dev/gitlab-notification/ru/latest/
Go to file
Struchkov Mark 246e4235c1
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
Вынес генерацию уведомлений в NotifyBoxAnswerGenerator
2023-01-15 16:46:32 +03:00
.github Update FUNDING.yml 2022-03-23 21:38:58 +03:00
bot-context Вынес генерацию уведомлений в NotifyBoxAnswerGenerator 2023-01-15 16:46:32 +03:00
bot-core Вынес генерацию уведомлений в NotifyBoxAnswerGenerator 2023-01-15 16:46:32 +03:00
bot-data Вынес генерацию уведомлений в NotifyBoxAnswerGenerator 2023-01-15 16:46:32 +03:00
gitlab-app Вынес генерацию уведомлений в NotifyBoxAnswerGenerator 2023-01-15 16:46:32 +03:00
gitlab-sdk Новая система релизов 2022-12-18 22:23:44 +03:00
telegram-bot Вынес генерацию уведомлений в NotifyBoxAnswerGenerator 2023-01-15 16:46:32 +03:00
.drone.yml Вынес генерацию уведомлений в NotifyBoxAnswerGenerator 2023-01-15 16:46:32 +03:00
.gitignore Первая рабочая версия 2020-02-03 12:22:53 +03:00
docker-compose-dev.yml Добавил Dockerfile и docker-compose.yml 2022-12-04 11:54:36 +03:00
docker-compose.yml Добавил Dockerfile и docker-compose.yml 2022-12-04 11:54:36 +03:00
Dockerfile Упростил dockerfile 2022-12-13 16:28:17 +03:00
LICENSE Create LICENSE 2020-10-31 22:57:59 +03:00
pom.xml Вынес генерацию уведомлений в NotifyBoxAnswerGenerator 2023-01-15 16:46:32 +03:00
README.md Удалил упоминание bitbucket 2022-12-20 19:25:51 +03:00

Уведомления GitLab в Telegram

Это приложение позволит вам получать уведомления о событиях из GitLab.

Статья-документация: https://struchkov.dev/blog/gitlab-telegram-bot/

Исходный код: https://github.com/uPagge/gitlab-notification

Возможности бота

  1. Уведомление о новых MergeRequest
  2. Уведомление о возникновении конфликта в MergeRequest
  3. Уведомление о добавлении вас в новый проект
  4. Уведомление о смене статуса вашего MergeRequest
  5. Уведомление о комментариях, в которых вас упоминают в формате @nickname
  6. Уведомит о новой задаче в вашем MR.
  7. Уведомит о закрытии вашей задачи в чужом MR
  8. Уведомление о Pipeline

Как запустить

  1. Для начала нужно создать бота, который будет посылать вам уведомления в телеграмм. Делается это в специальном боте
  2. После создания вы получите токен, сохраните его. Пример: 34534050345:FlfrleflerferfRE-ergerFLREF9ERF-NGjM
  3. Теперь необходимо получить персональный токен в вашем gitlab. Достаточно токена на чтение. Сохраните его
  4. Создайте базу данных gitlab_bot. Обязательно именно такое название
  5. Можно приступать к запуску

Пример запуска

sudo docker run --name gitlab-notify  \ 
--env TELEGRAM_BOT_TOKEN=value \
--env TELEGRAM_BOT_USERNAME=value \
--env GITLAB_PERSONAL_TOKEN=value \
--env TELEGRAM_PERSON_ID=value \
--env GITLAB_URL=value \
--env DATASOURCE_URL=jdbc:postgresql://localhost:5432/gitlab_bot \
--env DATASOURCE_USERNAME=postgres \
--env DATASOURCE_PASSWORD=value \
--network="host" upagge/gitlab-telegram-notify:latest

Переменные

  • TELEGRAM_BOT_TOKEN -- токен, который вы получили при создание бота.
  • TELEGRAM_BOT_USERNAME -- название, которое вы дали боту. Пример my_gitlab_bot
  • GITLAB_PERSONAL_TOKEN -- токен, который вы получили в GitLab
  • TELEGRAM_PERSON_ID -- ваш id в телеграм, можно узнать у этого бота
  • GITLAB_URL -- можно указать https://gitlab.com или url на ваш локальный GitLab строго в таком формате http://localhost:7990
  • DATASOURCE_URL -- ссылка на базу данных Postgres, в следующем формате: jdbc:postgresql://localhost:5432/gitlab_bot
  • DATASOURCE_USERNAME -- пользовать бд
  • DATASOURCE_PASSWORD -- пароль от бд

После этого необходимо отправить боту сообщение, чтобы пройти первичную настройку.