Plugins Directory » Redmine SLA
|
|
Author: | Like HOPPER |
|---|---|---|
| Website: | https://github.com/likehopper/redmine_sla | |
| Code repository: | git@github.com:likehopper/redmine_sla.git | |
| Registered on: | 2023-06-04 (over 3 years ago) | |
| Current version: | 3.0.0 | |
| Compatible with: | Redmine 6.1.x, 6.0.x, 5.1.x, 5.0.x | |
| User ratings: |
Redmine SLA¶
Manage your SLAs in Redmine!

Digest¶
Redmine SLA plugin gives the possibility of managing service levels.
It provides flexible configuration of calendars, times and terms.
It calculates types of response times for project trackers.
Features¶
These are the features of this plugin :- Global administration of SLA definitions
- Project-level SLA configuration
- Role-based permissions
- Full REST API support
- Live SLA information in issue views,
issue lists and time-entry lists
Localisations¶
- English
- French
Databases¶
SLA calculations are delegated to the database engine for performance and reliability.
Supported databases:- PostgreSQL 11+
- MySQL 8.0+
- MariaDB 10.2+
The appropriate tables, views and stored functions are installed automatically for the configured database adapter.
Fixtures¶
Sample data is available to test the plugin :
https://github.com/likehopper/redmine_sla/blob/main/doc/TESTING.md
And many examples (via APIs) are available in the documentation :
https://github.com/likehopper/redmine_sla/tree/main/doc
Credits¶
Icons created by https://www.flaticon.com/fr/auteurs/magnific
Installation notes
- Download plugin and copy plugin folder
redmine_slato Redmine's plugins folder. - Go to Redmine root folder to install necessary gems with
bundle install. - Launch the plugin migration to create tables, functions and views :
rake redmine:plugins:migrate NAME=redmine_sla. - Restart your application server (Apache with Passenger, Nginx with Passenger, Unicorn, Puma, etc.) and redmine_sla is ready to use.
Changelog
3.0.0 (2026-09-01)
Compatible with Redmine 6.1.x, 6.0.x, 5.1.x, 5.0.x.
Multi-database support¶
- Added MySQL 8.0+ and MariaDB 10.2+ support alongside PostgreSQL 11+.
- Database-specific views and stored functions are installed automatically for the configured adapter.
- SLA level, elapsed-time and diagnostic calculations produce consistent results on every supported database.
Upgrade compatibility¶
- Existing SLA types are preserved and receive deterministic positions when upgrading from an older version.
- The ordered and non-null
sla_types.positionmigration is supported on PostgreSQL, MySQL and MariaDB. - Existing project-level SLA permissions and secure PATCH-only cache operations are preserved.
Performance and reliability¶
- SLA level calculation now evaluates calendar days instead of scanning every minute.
- Holiday processing and elapsed-time calculations have been optimized.
- The SLA "Explain" diagnostic view is available on every supported database.
Installation requirements¶
The normal migration command remains unchanged:
bundle exec rake redmine:plugins:migrate NAME=redmine_sla RAILS_ENV=production
MySQL and MariaDB installations must provide server time-zone tables. If binary logging is enabled, log_bin_trust_function_creators must allow creation of the plugin's stored functions.
Full details: https://github.com/likehopper/redmine_sla/releases/tag/v3.0.0
2.2.2 (2026-08-31)
Compatible with Redmine 6.1.x, 6.0.x, 5.1.x, 5.0.x.
Security and permissions¶
- SLA cache refresh, deletion and purge now require
manage_slaon every affected project. - Users with
view_slaretain read-only access only to SLA caches belonging to issues they are allowed to see. - Global SLA cache purge remains restricted to administrators.
- Project-scoped operations cannot modify caches belonging to another project.
Secure routes¶
- Cache refresh and purge operations now use PATCH instead of GET.
- State-changing requests therefore benefit from Rails' standard CSRF protection.
Upgrade reliability¶
- Includes the safe SLA type position migration introduced in 2.2.1.
- Existing SLA types are assigned deterministic positions in their previous creation order before
positionbecomes mandatory. - Upgrade behavior is compatible with PostgreSQL, MySQL and MariaDB.
Full details: https://github.com/likehopper/redmine_sla/releases/tag/v2.2.2
2.2.1 (2026-08-31)
Compatible with Redmine 6.1.x, 6.0.x, 5.1.x, 5.0.x.
Upgrade fix¶
- Fixed upgrades from installations created before SLA type ordering.
- Existing SLA types receive deterministic positions in their previous creation order.
- The resulting
sla_types.positioncolumn is enforced as non-null. - The migration is portable across PostgreSQL and MySQL/MariaDB.
Full details: https://github.com/likehopper/redmine_sla/releases/tag/v2.2.1
2.1.7 (2026-08-29)
Compatible with Redmine 6.1.x, 6.0.x, 5.1.x, 5.0.x.
SLA type reliability¶
- Dynamic SLA accessors are now resolved at runtime instead of being generated only when the application starts.
- Newly created SLA types are immediately available without restarting Redmine.
- Deleting an SLA type no longer leaves obsolete accessor methods in the application.
- The change applies consistently to issues, time entries and SLA caches.
Full details: https://github.com/likehopper/redmine_sla/releases/tag/v2.1.7
2.1.4 (2026-08-29)
Compatible with Redmine 6.1.x, 6.0.x, 5.1.x, 5.0.x.
Performance¶
- Project-scoped SLA cache purges now use bulk deletion instead of deleting records one by one.
- SLA spent-time rows continue to be removed through the existing database cascade.
- Improves purge performance on projects containing many issues without changing functional behavior.
Full details: https://github.com/likehopper/redmine_sla/releases/tag/v2.1.4
2.2.0 (2026-08-29)
Compatible with Redmine 6.1.x, 6.0.x, 5.1.x, 5.0.x.
SLA type ordering¶
- Added drag-and-drop ordering from the dedicated
/sla/typeslist. - The configured order applies to issue gauges, issue and time-entry columns, the SLA Explain view and the SLA Level Terms matrix.
- Added a toggle to reveal SLA types that are not yet used by an existing level.
- Updated the SLA Level Terms matrix to use Redmine's native list presentation.
Additional improvements¶
- Fixed rounded-bar and pie-gauge rendering issues.
- SLA type accessors are now resolved dynamically.
- Improved the performance of project-scoped SLA cache purges.
- Removed routine query-building messages from error-level logs.
Full details: https://github.com/likehopper/redmine_sla/releases/tag/v2.2.0
2.1.1 (2026-08-28)
Compatible with Redmine 6.1.x, 6.0.x, 5.1.x, 5.0.x.
SLA calculation diagnostics¶
- Added an on-demand "Explain" view for individual issue SLA calculations.
- Shows the selected SLA level and calendar, working hours and the reason why a level matched.
- Provides a day-by-day breakdown of elapsed SLA time, including weekends and holidays.
- Access is restricted to users allowed to manage SLA information for the project.
Reliability¶
- Long untracked status intervals are summarized instead of generating one diagnostic row per calendar day.
- The diagnostic view is read-only and does not modify SLA caches.
Full details: https://github.com/likehopper/redmine_sla/releases/tag/v2.1.1
2.0.4 (2026-04-25)
Compatible with Redmine 6.1.x, 6.0.x, 5.1.x, 5.0.x, 4.2.x, 4.1.x, 4.0.x.
Redmine 6.x — security, fixes & performance¶
Security¶
- Role-based visibility in context menus (
visible?check instead ofadmin?). - Fix SQL injection via
sanitize_sqlin SLA cache models.
Bug Fixes¶
- Removed duplicate uniqueness validation in SLA schedules.
- Improved error handling in the
refreshaction and priority lookup. - Schedule time normalization and status path resolution.
Performance¶
- Memoized SLA cache / term / spent lookups on issues.
- Fixed N+1 queries and duplicate default scopes.
Refactoring & Testing¶
- Extracted
build_sla_columnto remove duplication inavailable_columns. - Comprehensive unit tests across all SLA models.
- Functional tests for schedules and project-trackers controllers.
- Version consistency suite (semver, registry alignment, CHANGELOG coverage).
Full details: https://github.com/likehopper/redmine_sla/releases/tag/v2.0.4
2.0.3 (2026-02-12)
Compatible with Redmine 6.1.x, 6.0.x, 5.1.x, 5.0.x, 4.2.x, 4.1.x, 4.0.x.
Redmine 6.x — documentation¶
Documentation¶
- Major improvement of project documentation.
- Harmonized examples structure.
- Alignment between YAML fixtures and rendered UI behavior.
- Reorganized screenshots (
doc/screenshots/example-*).
Maintenance¶
- Minor comment corrections and internal documentation cleanup.
- Improved readability of test fixtures and examples.
Full details: https://github.com/likehopper/redmine_sla/releases/tag/v2.0.3
2.0.2 (2026-02-11)
Compatible with Redmine 6.1.x, 6.0.x, 5.1.x, 5.0.x, 4.2.x, 4.1.x, 4.0.x.
Redmine 6.x — test suite & internals¶
Refactoring & Stabilization¶
- Complete rewrite and stabilization of the test suite.
- Reorganization of test architecture (unit, system, documentation).
- Improved compatibility reliability with Redmine 6.x.
Testing¶
- Documentation-driven test suite.
- New base test classes (
ApplicationSlaDocumentationTestCase,ApplicationSystemTestCase). - Improved Capybara / Selenium integration.
- Deterministic test ordering and suite selection via the
SUITEenvironment variable.
Internal¶
- Ruby 3 keyword arguments compatibility.
- Fixture loading refactor and various cleanups.
Full details: https://github.com/likehopper/redmine_sla/releases/tag/v2.0.2
2.0.1 (2026-02-01)
Compatible with Redmine 6.1.x, 6.0.x, 5.1.x, 5.0.x, 4.2.x, 4.0.x.
Redmine 6.x — stabilization¶
- Initial Redmine 6 compatibility adjustments.
- Structural updates preparing the 2.0 stabilization.
- SLA computation and rendering fixes.
Full details: https://github.com/likehopper/redmine_sla/releases/tag/v2.0.1
2.0.0 (2026-02-01)
Compatible with Redmine 6.1.x, 6.0.x, 5.1.x, 5.0.x, 4.2.x, 4.1.x, 4.0.x.
Stable release — Redmine 6.x¶
- Official support for Redmine 6.x.
- Rails / ActiveRecord compatibility adjustments.
Full details: https://github.com/likehopper/redmine_sla/releases/tag/v2.0.0
1.0.0 (2025-11-22)
Compatible with Redmine 5.1.x, 5.0.x, 4.2.x, 4.1.x, 4.0.x, 3.4.x.
Stable release — Redmine 5.x¶
- First major stable release.
- Compatibility updated for Redmine 5.x.
Full details: https://github.com/likehopper/redmine_sla/releases/tag/v1.0.0
0.0.9 (2023-06-04)
Compatible with Redmine 5.0.x, 4.2.x, 4.1.x, 4.0.x, 3.4.x.
Stable release — Redmine 4.x¶
- First public release !
Full details: https://github.com/likehopper/redmine_sla/releases/tag/0.0.9