📱 Подписаться
IT и цифровая трансформация

SLA для Redmine. Подходящих плагинов не оказалось

📰 Habr 👁️ 5 просмотров

groTex225 часов назад

SLA для Redmine. Подходящих плагинов не оказалось

Уровень сложностиПростойВремя на прочтение5 минОхват и читатели3.5KRuby*Ruby on Rails*АналитикаИз песочницыДавеча появилась необходимость внедрить SLA в Redmine для некоторых типов задач. Каких‑то автоматизированных метрик в компании сейчас нет, из‑за чего руководителю направления приходится «вручную» или вернее «вглазную» контролировать сроки. Минусы этого описывать не буду. Сменить Redmine может и хотелось бы, но возможности такой нет.

Несмотря на устаревший интерфейс, по‑прежнему довольно много компаний используют Redmine, благодаря 3 китам: бесплатности, открытому исходному коду, гибкости настройки, а также те кому важно иметь систему на собственном хостинге.

Я был уверен, что задача нетривиальная. Ведь система давно на рынке, экосистема плагинов немаленькая — значит, должно быть готовое решение. Достаточно найти подходящий плагин, установить — и готово! С этой целью я начал поиск доступных вариантов.

На практике всё оказалось сложнее...

Вот и решил я разобраться, какие плагины реально работают (или не работают) на версии Redmine 5.1, какие проблемы возникают и какие варианты вообще остаются.

При первом ознакомлении с плагинами Redmine уже выяснилась одна существенная проблема — у большей их части отсутствует хоть какое-то внятное описание, а при более детальном анализе становится понятно, что даже если удастся что-то найти подходящее, то нет никаких гарантий совместимости с текущей версией Redmine 5.1.

Раз уж у меня было время и желание, то подошел к вопросу с должным энтузиазмом. Таблица сравнений будет ниже.

Написал небольшое ТЗ, но здесь не будем вдаваться в него подробно. Если вкратце задача стоит так:

Чтобы не трогать работающий функционал и не быть голословным в своих догадках.

Поднял стенд Redmine в Docker с отдельной внутренней базой данных и тестовыми данными, чтобы безопасно установить, протестировать и сравнить плагины.

Оказалось, что подходящих плагинов неожиданно мало, а «живых» еще меньше. Хоть требований и немного:

• Необходимо контролировать время реакции;
• Время решения;
• И уметь в списке задач фильтровать по параметрам выше.В итоге отобрал несколько наиболее живых вариантов. Искал их на официальном сайте и гитхабе.

Теперь подробнее:

Как я поднимал стенд

Чтобы изолировать все мои эксперименты, я собрал стенд в docker

• отдельный контейнер с Redmine
• отдельная база данных
• доступ только через localhost
• фиксированная версия Redmine (5.1)Заранее вынес папку с файлами и плагинами на локальный диск, чтобы не пересобирать контейнер каждый раз.

Docker-compose.yml

services:
postgres:
image: postgres:16
volumes:
- db_data:/var/lib/postgresql/data
environment:
POSTGRES_USER: "redmine"
POSTGRES_PASSWORD: "password"
POSTGRES_DB: "redmine"
PGDATA: "/var/lib/postgresql/data"
restart: always
redmine:
image: redmine:5.1
ports:
- 80:3000
volumes:
- ./local-files:/usr/src/redmine/files
- ./local-plugins:/usr/src/redmine/plugins
depends_on:
- postgres
environment:
REDMINE_DB_POSTGRES: "postgres"
REDMINE_DB_USERNAME: "redmine"
REDMINE_DB_PASSWORD: "password"
REDMINE_DB_DATABASE: "redmine"
restart: no

volumes: redmine_data: db_data:Запускаюсь

docker-compose up -dИ вот Redmine запущен, ожидал что будут ошибки, но запуск прошел спокойно.

в docker-desktop появились контейнеры, в браузере Redmine открывается.

Авторизуюсь в первый раз (admin/admin)

Заполнил разные справочники, создал проект и несколько задач.

И вот уже казалось бы пора проверять скачанные плагины, но нет. Сначала делаю backup хотя бы базы данных.

Из desktop версии докера сделать это несложно:

Переходим во вкладку "Volumes" -> Открываем базу -> Переходим во вкладку "Export" -> Жмем кнопку "Quick export"

Тестирование плагинов

Чтобы избежать конфликтов, проверяю плагины по отдельности. Принцип следующий:

• Беру плагин и кладу в папку plugins на диске
• Устанавливаю зависимости(bund le install)
• Делаю миграцию, если требуется (rake redmine:plugins)Как правило, что требуется для установки плагина описано в месте откуда я их скачивал.

Сразу поймал пару ошибок вида:

Could not find gem 'business_time (>= 0.13.0)'
Could not find gem 'holidays (>= 7.1.0)'Вылечил, установив нужные библиотеки:

gem install business_time gem install holidays

Анализ плагинов

Сводная таблица

№ПлагинРезультатКомментарий1reporting_slaНе успешноНесовместимость версий2likehopper/redmine_slaНе успешноНет поддержки oracle3redmine_issue_slaНе успешноНесовместимость версий4redmine_sla_timerНе успешноНесовместимость версий5redmine_sla_olaУспешноЕсть дополнительные требования к задачам6agileУспешноНе покрывает нужных сценариев7RedmineUPУспешноНе совсем то, что нужно8Самописный плагин-Оценка по времени = 3-5 дня на демоверсиюПодробнее о каждом плагине

reporting_sla

плагин для отслеживания и отчетности по соглашениям об уровне обслуживания (SLA) в Redmine, предоставляющий подробные отчеты о жизненном цикле задач с настраиваемыми расчетами SLA на основе рабочего времени, праздников, выходных и матриц приоритетов.

Ссылка: https://github.com/easy-petr/redmine-sla-plugin

Дата последнего обновления:18.11.2025

Вывод: Версии Rails/Redmine несовместимы. Требует серьезной доработки

likehopper/redmine_sla

плагин делегирует расчет SLA хранимым процедурам PostgreSQL, что позволяет: точно обрабатывать рабочие графики сроки с учетом праздников эффективно рассчитывать большие объемы задач предсказуемые и воспроизводимые результаты движок разработан для производственной среды

Ссылка

Дата последнего обновления: 12.02.2026

Вывод: хорошая производительность, логика расчета SLA вынесена в бд. работает только с PostgreSQL. Могло бы быть неплохо, но у меня Oracle.

redmine_agile

Устанавливается без доработок, работает, но не решает задачу SLA

Ссылка

Дата последнего обновления: 03.12.2025

Вывод: не про SLA, а скорее про визуализацию задач

redmine_issue_sla

Плагин, позволяющий назначать соглашения об уровне обслуживания (SLA) в зависимости от приоритета задачи и проекта. В последний раз обновлялся под Redmine 3.x

Ссылка

Дата последнего обновления: 29.01.2018

Вывод: на 5.1 не встает без переделок, плагин устарел

redmine_sla_timer

Описания как таковое отсутствует

Ссылка

Дата последнего обновления: 12.07.2020

Вывод:на redmine 5.1 без переделок не встает

redmine_sla_ola

Плагин запускается, но для нормальной работы тоже требуются доработки. Необходимо

• добавить кастомное поле products
• добавить поле first_replyБез этого плагин просто бесполезен.

Ссылка

Дата последнего обновления:  12.07.2020

Вывод: рабочий вариант, но не “из коробки”

RedmineUP Helpdesk

Живой продукт. Авторы предлагают только пакетные предложения. В том числе и для тех.поддержки

Ссылка

Дата последнего обновления:нет информации

Вывод: Стабильный вариант, если есть бюджет. Есть поддержка и обновления.

Итог

Готового решения, чтобы поставить и использовать я не нашел.

Большинство плагинов просто из "коробки" не взлетят. Если вам нужен SLA в Redmine, то, по сути, есть три дороги:

• Платить чтобы внедрил кто-то другой (redmineUP), но не всегда это оказывается проще, учитывая политику безопасности.
• Дорабатывать существующие (redmine_sla_ola)
• Писать своеЧетвертого я не нашел. На мой взгляд 3 вариант наиболее подходящим, по крайней мере, в моем конкретном случае.

В следующей статье покажу прототип.Теги:• redmine
• plugins
• redmine pluginХабы:• Ruby
• Ruby on Rails

Получайте больше инсайтов о систематизации бизнеса

Подписывайтесь на Telegram-канал Business Operations — ежедневные материалы о бизнес-процессах, операционном управлении и повышении эффективности

💬 Подписаться на канал