max_jenkins
Описание
Лёгкий бот для мессенджера MAX. Позволяет просматривать Jenkins-джобы, запускать сборки и проверять их статус прямо из мессенджера.
Языки
- Python100%
16 дней назад
16 дней назад
16 дней назад
16 дней назад
16 дней назад
README.md
🤖 MAX Jenkins Bot
Лёгкий бот для мессенджера MAX на базе библиотеки maxapi.
Позволяет просматривать Jenkins-джобы, запускать сборки и проверять их статус прямо из мессенджера MAX.
Является полным аналогом Telegram Jenkins Bot, адаптированным под MAX.
✨ Возможности
- Start & Help — приветствие и список команд
- Список джоб —
выводит все Jenkins-джобы со статусом/jobs - Запуск сборки — /build <имя джобы> [key=value ...]
- Поддерживаются имена джоб с пробелами
- Повторное использование параметров между запусками
- Коллекции — группы джоб, определённые в
:config.yaml- /buildset <код_коллекции> [key=value ...]
- или
при авто-определении/build <код_коллекции>
- Статус сборки —
и/last <джоба>/status <джоба> [номер] - Фоновый запуск — скрипт
для управления процессомbot.sh
📂 Структура проекта
max_jenkins_bot/
│── bot.py # Основной бот
│── bot.sh # Скрипт запуска/остановки/статуса
│── config.yaml # Конфигурация
│── requirements.txt # Зависимости Python
│── README.md # Документация
⚙️ Конфигурация
Все настройки хранятся в .config.yaml
Пример
🔑 Получение токена MAX
- Откройте мессенджер MAX
- Найдите бота @MasterBot
- Отправьте
и следуйте инструкциям/create - Скопируйте полученный токен в
→config.yamlmax.token
⚠️ Если тестируете бота в групповом чате — выдайте ему права администратора.
🔐 Настройка Jenkins
- API Token: войдите в Jenkins → ваш профиль → Настройки → создайте API Token
- Права: убедитесь, что пользователь Jenkins имеет права на чтение и запуск джоб
- Имена с пробелами поддерживаются:
/build Reload DVN API branch=main /last Reload DVN API /status Reload DVN API 42
🚀 Запуск
Установка зависимостей
Прямой запуск
Фоновый запуск
Логи сохраняются в .bot.log
🧾 Команды
| Команда | Описание |
|---|---|
| Приветствие и список команд |
| То же, что |
| Список всех Jenkins-джоб с цветовым статусом |
| Запустить Jenkins-джобу (пробелы в имени допустимы) |
| Запустить все джобы коллекции |
| Статус последней сборки |
| Статус конкретной или последней сборки |
✅ Примеры использования
/jobs
/build Reload DVN API branch=main
/status Reload DVN API 15
/last Reload DVN API
/buildset api_all branch=dev deploy=true
/build branch=dev (использует default_job из config.yaml)
🧰 Требования
- Python 3.9+
- maxapi>=0.9.17
- requests>=2.31.0
- PyYAML>=6.0.1
🔄 Отличия от Telegram-версии
| Параметр | Telegram Bot | MAX Bot |
|---|---|---|
| Библиотека | python-telegram-bot v21 | maxapi |
| Секция конфига | | |
| Прокси | SOCKS5 через httpx | не требуется |
| Форматирование текста | HTML () | Markdown () |
| Получение аргументов | | парсинг |
| Запуск | | |
📜 Лицензия
MIT License © 2025 Nikolai Gorlov