Skip to content

brandonzorn/chatops_bot

Repository files navigation

1.2. Область применения

  • Управление рабочими чатами (командные, гильдийные, тимлидов).
  • Мониторинг и оповещение о проблемах в сервисах.
  • Интеграция с CI/CD для отслеживания изменений кода.

2. Функциональные требования

2.1. Управление сотрудниками

  • Хранение данных:

    • Использование БД для хранения информации о сотрудниках:
      • ФИО, Telegram username/phone number
      • Роль (backend dev, frontend dev, QA, etc.)
      • Должность (разработчик, тимлид, руководитель направления)
      • Команда (Team1, Team2, etc.)
        Информации о командах:
      • Название команды
      • Сервисы в зоне ответственности команды
      • Описание команды(за какой функционал отвечает)
  • Добавление/удаление сотрудников:

    • Бот должен автоматически добавлять нового сотрудника во все чаты, соответствующие его роли/команде.
    • При увольнении — автоматически исключать из всех чатов.

2.2. Управление чатами

  • Типы чатов:
    • Командные (Team1, Team2)
    • Гильдии (Backend, Frontend, QA)
    • Для тимлидов
    • Общие чаты

2.3. Интеграция с Grafana Loki и Prometheus

  • Алертинг:
    • Если процент 500х/400х ошибок > 1% → бот отправляет сообщение в соответствующий чат сервиса.
    • Возможность настройки порогов для разных сервисов.
  • Метрики:
    • Подключение к Prometheus для сбора и анализа метрик.
  • Расширенный алертинг:
    • Эскалация инцидентов: если алерт не подтвержден за N минут → уведомление тимлиду.
    • Ручное подтверждение алертов: кнопка "Acknowledge" в сообщении для избежания спама.

2.4. Интеграция с GitLab CI/CD

  • Уведомления о событиях:
    • Создание/закрытие MR (Merge Request) и PR (Pull Request).
    • Возможность настройки подписки на события для конкретных репозиториев.

2.5. Аналитика и отчеты

  • Еженедельные отчеты:
    • Количество инцидентов (500х/400х ошибок).
    • Активность команды (задачи, MR, деплои).
    • Возможность запроса кастомных отчетов через команды бота.

2.6. Персональные уведомления

  • Настройка подписки на события:
    • Разработчик может подписаться на алерты только своего сервиса.
  • Do Not Disturb (DND) режим:
    • Команда /silence 2h – временное отключение уведомлений на 2 часа.

2.7. Администрирование

  • Команды для админов:
    • /add_user – добавление нового сотрудника.
    • /remove_user – удаление сотрудника.
    • /update_role – изменение роли/команды.
    • /alert_settings – настройка порогов алертов.
    • /gitlab_subscribe – подписка на события GitLab.

3. Технические требования

3.1. Стек технологий

  • Backend: Python (python-telegram-bot)
  • База данных: PostgreSQL
  • Мониторинг:
    • Grafana Loki (логи)
  • Интеграции:
    • GitLab API
    • Telegram Bot API
  • Деплой: Docker

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published