max_jenkins

0

Описание

Лёгкий бот для мессенджера MAX. Позволяет просматривать Jenkins-джобы, запускать сборки и проверять их статус прямо из мессенджера.

Языки

  • Python100%
16 дней назад
16 дней назад
16 дней назад
16 дней назад
16 дней назад
README.md

🤖 MAX Jenkins Bot

Лёгкий бот для мессенджера MAX на базе библиотеки maxapi.
Позволяет просматривать Jenkins-джобы, запускать сборки и проверять их статус прямо из мессенджера MAX.

Является полным аналогом Telegram Jenkins Bot, адаптированным под MAX.


✨ Возможности

  • Start & Help — приветствие и список команд
  • Список джоб
    /jobs
    выводит все Jenkins-джобы со статусом
  • Запуск сборки
    /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

  1. Откройте мессенджер MAX
  2. Найдите бота
    @MasterBot
  3. Отправьте
    /create
    и следуйте инструкциям
  4. Скопируйте полученный токен в
    config.yaml
    max.token

⚠️ Если тестируете бота в групповом чате — выдайте ему права администратора.


🔐 Настройка Jenkins

  1. API Token: войдите в Jenkins → ваш профиль → Настройки → создайте API Token
  2. Права: убедитесь, что пользователь Jenkins имеет права на чтение и запуск джоб
  3. Имена с пробелами поддерживаются:
    /build Reload DVN API branch=main /last Reload DVN API /status Reload DVN API 42

🚀 Запуск

Установка зависимостей

Прямой запуск

Фоновый запуск

Логи сохраняются в

bot.log
.


🧾 Команды

КомандаОписание
/start
Приветствие и список команд
/help
То же, что
/start
/jobs
Список всех Jenkins-джоб с цветовым статусом
/build <имя джобы> [k=v ...]
Запустить Jenkins-джобу (пробелы в имени допустимы)
/buildset <код_коллекции> [k=v ...]
Запустить все джобы коллекции
/last <имя джобы>
Статус последней сборки
/status <имя джобы> [номер_сборки]
Статус конкретной или последней сборки

✅ Примеры использования

/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)

🧰 Требования


🔄 Отличия от Telegram-версии

ПараметрTelegram BotMAX Bot
Библиотекаpython-telegram-bot v21maxapi
Секция конфига
telegram:
max:
ПроксиSOCKS5 через httpxне требуется
Форматирование текстаHTML (
<code>
)
Markdown (
`
)
Получение аргументов
context.args
парсинг
message.body.text
Запуск
app.run_polling()
dp.start_polling(bot)

📜 Лицензия

MIT License © 2025 Nikolai Gorlov