Redmine SLA
SupportUn SLA de cuatro horas no son cuatro horas. Respuesta y resolución medidas en tiempo laborable: tus calendarios, tus festivos, tus reglas de pausa, con avisos, umbral crítico y detección de incumplimientos.
Varios servidores: $399

- Redmine
- 4, 5, 6 y 7
- Objetivos
- 4 relojes independientes
- Bases de datos
- PostgreSQL, MySQL, MariaDB, SQLite
- Informes
- 4, con exportación a CSV
- Gems adicionales
- Ninguna
- Archivos del núcleo modificados
- Ninguna
Horario laboral, bien calculado
Horarios semanales con turnos partidos, zona horaria por calendario, festivos fijos y recurrentes y días laborables especiales. Hora de pared a través del cambio horario, de modo que 09:00–18:00 sigue siendo 09:00–18:00.
Cuatro relojes independientes
Primera respuesta, aceptación, resolución y cierre: cada uno con su objetivo, su estado y su comportamiento de pausa. Configura solo los que uses.
A la espera del cliente
Las reglas por estado deciden qué relojes se paran. «A la espera del cliente» puede congelar la resolución mientras la primera respuesta sigue corriendo, porque esa sigue siendo cosa tuya.
Condiciones en lenguaje llano
Filtra por proyecto, tracker, estado, categoría, asignado, grupo, cliente o cualquier campo personalizado, por nombres reales y nunca por identificadores.
Aviso, crítico, incumplimiento
Los umbrales saltan antes del vencimiento, no después. El correo sale por el propio mailer de Redmine y un índice único impide que un aviso se envíe dos veces.
Cumplimiento defendible
Cumplimiento por objetivo, distribuciones de tiempos de respuesta y resolución con mediana y valores atípicos, y una tabla de incumplimientos con vencimiento, fecha real y exceso.
Tu reloj se detiene cuando tu equipo se va a casa
Restar dos marcas de tiempo te penaliza por los fines de semana. Redmine SLA recorre tu calendario laboral y cuenta solo los minutos en los que estás abierto, así que un objetivo de cuatro horas creado el viernes a última hora vence el lunes, no esa misma noche.
| Petición creada | Tiempo laborable contado | Vencimiento | Tiempo real |
|---|---|---|---|
| Martes 09:30 | 4h, sin interrupciones | Martes 13:30 | 4 horas |
| Viernes 17:00 | 1h el viernes, 3h el lunes | Lunes 12:00 | 67 horas |
| Viernes 17:00, lunes festivo | 1h el viernes, 3h el martes | Martes 12:00 | 91 horas |
| A cualquier hora, en un calendario 24×7 | 4h transcurridas | Cuatro horas después | 4 horas |
Los calendarios admiten jornadas partidas, zona horaria propia, festivos puntuales y recurrentes, y días laborables especiales.
Cuatro relojes, cada uno con sus reglas
Define solo los objetivos que de verdad prometes. Cada uno se inicia, se pausa y se detiene con su propio evento, así que “a la espera del cliente” puede congelar la resolución mientras la primera respuesta sigue corriendo.
Primera respuesta: alguien ha contestado
Se detiene con el primer comentario público de cualquier persona que no sea el autor. Qué cuenta como respuesta se define en cada política.
Reconocimiento: alguien se hace cargo
Se detiene cuando la petición se asigna o cuando alcanza un estado que tú eliges.
Resolución: el problema está arreglado
Se detiene cuando la petición alcanza un estado cerrado o uno de los estados de resolución que tú eliges.
Cierre: la petición está terminada
Un objetivo aparte para el cierre definitivo, para equipos que primero resuelven y después lo confirman con el cliente.
Parece Redmine porque es Redmine
Sin iframe, sin aplicación aparte, sin segundo inicio de sesión. Son pantallas reales del plugin en Redmine 7.0, con un proyecto de demostración que tiene peticiones en todos los estados de SLA.
Agentes: el panel de SLA en cada petición
Una fila por objetivo, con su estado, el tiempo restante, cuánto se ha consumido del objetivo y el vencimiento exacto.


Responsables de equipo: la cola, ordenada por lo que está a punto de torcerse
Filtra por estado, salud, política o incumplimiento, ordena por vencimiento y exporta a CSV. Los mismos campos son filtros y columnas en la lista de peticiones del propio Redmine.
Directivos: informes que puedes poner delante de un cliente
Cumplimiento, tiempo de respuesta, tiempo de resolución e incumplimientos, filtrados por periodo, política, tipo y prioridad. Todos los informes se exportan a CSV.


Administradores: políticas escritas con palabras claras
“Cuando la Prioridad de la petición es una de Urgente, Inmediata.” Las condiciones usan nombres reales elegidos en desplegables, no identificadores de registros. Las duraciones admiten 30, 4h o 1d 4h.




Operaciones: un único lugar para ver que todo funciona


Todo lo que de verdad se discute en un service desk
Las disputas rara vez son sobre si una petición llegó tarde. Son sobre qué horas contaban, cuándo debería haberse detenido el reloj y cuál era el objetivo en ese momento.
Horario laboral, bien hecho
Horarios semanales con jornadas partidas, zona horaria por calendario, festivos fijos y recurrentes y días laborables especiales. Las 09:00 siguen siendo las 09:00 tras los cambios de horario de verano.
A la espera del cliente
Reglas de pausa por estado, globales o por política. Solo se devuelve el tiempo laborable, así que una pausa durante el fin de semana no cuesta nada.
Aviso, crítico, incumplimiento
Los umbrales saltan antes de la fecha límite. Cada notificación se envía una sola vez mediante el sistema de correo del propio Redmine, con plantillas que puedes editar por evento e idioma.
La política adecuada para cada petición
Filtra por proyecto y subproyectos, tipo, prioridad, estado, categoría, autor, persona asignada, grupo o cualquier campo personalizado. Cuando coinciden varias políticas, gana la de posición más baja.
Dentro de la lista de peticiones
Política de SLA, estado, salud, incumplimiento, vencimiento y tiempo restante como filtros y columnas en la lista de peticiones de Redmine: se pueden ordenar, agrupar y exportar.
Las ediciones no reescriben el pasado
Cada SLA guarda una instantánea de la política con la que empezó. Cambiar un objetivo el próximo trimestre no altera las cifras del trimestre pasado. Recalcular es una acción deliberada del administrador.
Qué le ocurre a una petición
Un error crítico creado un viernes por la tarde, en un calendario de lunes a viernes de 09:00 a 18:00, con un objetivo de primera respuesta de 30 minutos y un objetivo de resolución de cuatro horas.
| Cuándo | Evento | Qué hace el plugin |
|---|---|---|
| Vie 15:00 | Creada | Se asigna la primera política que coincide y sus relojes se ponen en marcha. Hoy quedan tres horas laborables, así que una pasa al lunes. |
| Vie 15:20 | Primera respuesta | Un comentario público de un agente detiene el reloj de primera respuesta a los 20 minutos, dentro de su objetivo de 30 minutos. |
| Vie 16:00 | En espera | La resolución se pausa. Cuando el cliente responde el lunes, el vencimiento se desplaza exactamente el tiempo laborable perdido. |
| Lunes | Aviso al 75 % | El correo de aviso se envía cuando todavía hay tiempo para actuar. |
| Lunes | Resuelta | Se registran el tiempo consumido y si se cumplió el objetivo, y ya no vuelven a cambiar. |
| Consumido | Salud |
|---|---|
| Por debajo del 75 % | Saludable |
| 75% | En riesgo |
| 90% | Crítico |
| 100% | Incumplido |
| En espera | En pausa |
| Objetivo cumplido | Completado |
JSON para cada pantalla
Una API JSON de solo lectura cubre todo lo que muestran las pantallas. Se autentica con una clave de API normal de Redmine y respeta los mismos permisos que las páginas.
| Método | Endpoint | Devuelve |
|---|---|---|
| GET | /sla/issues/:id.json | El SLA de una petición |
| GET | /sla/issues.json | Peticiones con SLA, filtrables |
| GET | /projects/:id/sla/issues.json | Peticiones con SLA de un proyecto |
| GET | /sla/timeline/:id.json | Cronología de una petición |
| GET | /sla/dashboard.json | Contadores y cumplimiento del cuadro de mando |
| GET | /sla/reports/:report.json | Cualquiera de los cuatro informes |
| GET | /sla/policies.json | Políticas y sus objetivos |
| GET | /sla/calendars.json | Calendarios y horarios laborales |
Consulta el SLA de una petición
Envía tu clave en la cabecera X-Redmine-API-Key. La respuesta incluye la política, el calendario, la salud general y una entrada por objetivo con su estado, su vencimiento y el tiempo consumido. Úsala para mostrar cuentas atrás de SLA en una pantalla de equipo o para llevar las cifras de cumplimiento a tus propios informes.
Seis permisos, concedidos por rol
SLA es un módulo de proyecto estándar de Redmine. Actívalo en los proyectos que mides y da a cada rol solo lo que necesita. Los administradores de Redmine siempre tienen los dos permisos globales.
| Permiso | Ámbito | Qué permite |
|---|---|---|
| view_sla | Proyecto | Ver el panel de SLA en las peticiones, la lista de peticiones con SLA y la cronología |
| view_sla_dashboard | Proyecto | Ver el cuadro de mando de SLA |
| view_sla_reports | Proyecto | Ver y exportar los informes de SLA |
| manage_sla | Proyecto | Editar la configuración de SLA del proyecto y recalcular el SLA de una petición |
| manage_sla_policies | Global | Crear y editar políticas y reglas de pausa |
| manage_sla_calendars | Global | Crear y editar calendarios y festivos |
Funciona donde ya funciona tu Redmine
| Entorno | Estado | Notas |
|---|---|---|
| Redmine 7.x | Compatible | Probado en Redmine 7.0 con Rails 8.1 y Ruby 3.4.2. Las capturas de esta página son de la versión 7.0. |
| Redmine 6.x | Compatible | |
| Redmine 5.x | Compatible | Requiere ejecutar la tarea de assets de plugins después de migrar |
| Redmine 4.x | Compatible | La 4.0 es la versión mínima que declara el plugin |
| Bases de datos | Compatible | PostgreSQL, MySQL, MariaDB y SQLite, sin SQL específico de ninguna base de datos |
| Gems adicionales | Ninguna | Sin Redis ni Sidekiq. Una entrada de cron o un temporizador de systemd ejecuta la comprobación en segundo plano. |
| Núcleo de Redmine | Intacto | No se edita ningún archivo del núcleo, así que las actualizaciones de Redmine no se ven afectadas |
Instalación en tres pasos
Requiere acceso por shell y poder ejecutar tareas rake. Haz siempre una copia de seguridad antes de instalar un plugin.
cd /path/to/redmine # the package arrives by email, or from your download link unzip redmine_sla-1.0.0.zip -d plugins/
RAILS_ENV=production bundle exec rake redmine:plugins:migrate # Redmine 4 and 5 only (Redmine 6+ serves plugin assets directly) RAILS_ENV=production bundle exec rake redmine:plugins:assets touch tmp/restart.txt # or systemctl restart redmine
# every five minutes: evaluate timers that are due, safe to run repeatedly */5 * * * * cd /path/to/redmine && RAILS_ENV=production bundle exec rake redmine_sla:process >> log/sla.log 2>&1
# Administration → SLA → create the default business calendars, then follow the checklist # Administration → SLA → Policies → write one policy: targets, calendar, conditions # Project → Settings → Modules → tick SLA for each project you measure # Administration → Roles and permissions → grant the SLA permissions
¿El plugin modifica archivos del núcleo de Redmine?
¿Qué pasa con los SLA existentes si edito una política?
¿Necesita Redis, Sidekiq o gems adicionales?
¿Pueden tener SLA distintos los diferentes clientes o proyectos?
¿Y las peticiones que ya existían antes de instalarlo?
¿Es seguro desinstalarlo?
¿Las capturas de pantalla son reales?
Precios
Un servidor
Una instancia de Redmine · usuarios ilimitados · 12 meses de actualizaciones.
Varios servidores
Servidores de Redmine ilimitados · usuarios ilimitados · 12 meses de actualizaciones.