Project

General

Profile

Plugins Directory » Redmine expert Agile

Author: Dennis Buehring
Website: https://github.com/expertZentrale/redmine_expert_agile
Code repository: https://github.com/expertZentrale/redmine_expert_agile
Registered on: 2026-08-20 (27 days ago)
Current version: 0.3.1
Compatible with: Redmine 7.0.x, 6.1.x, 6.0.x, 5.1.x
User ratings:   (0)

Redmine expert Agile

Agile boards for Redmine: a Kanban/Scrum board built on Redmine's own query system, story points, sprints with a backlog planner, and charts.

The board is a Redmine query. Every filter, column, grouping and visibility rule you already use on the issue list applies to a board unchanged, and a saved board is a single row in Redmine's queries table — the plugin adds no query schema of its own.

Features

  • Board — columns from issue statuses, drag & drop, swimlanes, advisory WIP limits, configurable card fields, sub-columns from a shared Prefix: status naming, and saved boards.
  • Story points — stored per issue, offered as a configurable value list (modified Fibonacci by default), restrictable to selected trackers, and available as a sortable column and filter on the issue list.
  • Sprints — a first-class entity with start and end dates, an open/active/closed lifecycle, and Version-style sharing across a project tree. Redmine versions remain usable for planning alongside sprints.
  • Backlog planner — drag issues into sprints or versions from a dedicated planning view, with the same filters and card fields as the board plus saved backlogs, behind its own project module.
  • Charts — burndown, burnup, cumulative flow, velocity and cycle time, in issues, hours or story points.
  • Colours — cards coloured by tracker, priority, status, project, assignee, spent time, or per issue.
  • REST API — read and write agile data (story points, sprint assignment), plus full sprint CRUD.

Design notes

A few deliberate choices, because they affect correctness rather than taste:

  • Board ranks are fractional and computed on the server. A move sends only the dragged card and its two neighbours, and writes one row once the cards around it carry ranks. Re-indexing a whole column in the browser loses concurrent moves and silently reorders cards that are paginated out of view.
  • Chart history is reconstructed in a single pass over one journal query and cached, rather than re-scanning every issue's journals once per date.
  • No inline JavaScript. Views render markup; data reaches the browser through a JSON island. The board works under a script-src 'self' content security policy.
  • No global monkeypatching of ActiveRecord::Base or ApplicationController.

Requirements

  • Redmine 5.0 or newer (tested against 5.1, 6.0, 6.1 and 7.0)
  • Ruby 3.2+ / MySQL, MariaDB or PostgreSQL
  • No additional gems — Chart.js is vendored with the plugin

Links

Licensed under the GPL-2.0-or-later. This is an independent, clean-room implementation and contains no code from any other agile plugin.

Installation notes

Installation

  1. Copy the plugin into your Redmine's plugins directory:
    cd /path/to/redmine/plugins
    git clone https://github.com/expertZentrale/redmine_expert_agile.git
    

    Or unpack a release archive from the Releases page into plugins/. The archive already contains a top-level redmine_expert_agile/ directory.
  2. Run the plugin migrations:
    cd /path/to/redmine
    bundle exec rake redmine:plugins:migrate NAME=redmine_expert_agile RAILS_ENV=production
    
  3. Restart Redmine.
  4. Enable the expert Agile module per project under Project settings → Modules. Enable expert Agile Backlog as well if you want the backlog planner.
  5. Grant the permissions your roles need under Administration → Roles and permissions.

No additional gems are required. Chart.js ships with the plugin, so there is no dependency on any other plugin's assets.

Upgrading

Re-run the migration step after replacing the plugin directory, then restart. Migrations are numbered and additive; none is ever edited after release.

Permissions

Module Permission Allows
expert Agile View agile board Open the board, read cards
expert Agile Edit agile board Drag & drop, create and edit cards
expert Agile Save agile boards Create private saved boards, charts and backlogs
expert Agile Manage public agile boards Create and edit public saved boards, charts and backlogs
expert Agile View agile charts Open the charts page
expert Agile Manage sprints Create, edit and close sprints
expert Agile Backlog View backlog Open the backlog planner, filter it, open a saved backlog
expert Agile Backlog Manage backlog Plan issues into sprints and versions

Saving a backlog uses the two board permissions above, which belong to the expert Agile module. A project that enables expert Agile Backlog on its own can therefore filter its backlog but not save one — enable both modules if saved backlogs are wanted.

Configuration

Administration → Plugins → Redmine expert Agile. Every setting ships with a default, so a fresh install is usable immediately. Two worth knowing:

  • Board item limit (default 500) caps how many issues one board render loads. A board that hits the cap says so rather than looking complete.
  • Chart item limit (default 1000) and chart cache duration (default 60 minutes) bound the cost of the charts that replay issue history. The counting charts are not subject to the cap.

Card colours for trackers, priorities and statuses are managed under Administration → Agile card colors.

Running alongside RedmineUP Agile

All classes, tables and routes are prefixed, so both plugins can be installed at the same time. However, both patch Issue, IssueQuery and ProjectsHelper, so enabling both on the same project is not supported. Migrate a project by disabling one module and enabling the other.

Changelog

0.3.1 (2026-08-27)

Compatible with Redmine 7.0.x, 6.1.x, 6.0.x, 5.1.x.

redmine_expert_agile 0.3.1 — 2026-08-27

Changed

  • A move the workflow refuses now says which transition it refused, and what is open instead. The board said "the workflow does not allow this status change", which leaves a user guessing whether they dropped the card in the wrong column, lack a permission, or hit a rule someone set deliberately — and leaves an administrator with nowhere to start looking, since a workflow is written per tracker, per role and per status pair and the message named none of them. It now names the tracker and both statuses, and lists the statuses that are open from where the card sits. Administrators also get a link into that tracker's workflow; nobody else is offered it, since nobody else can change one or open that page.

Upgrade notes

No migrations. Replace the plugin directory and restart.

The message is built by the board's own script, so a browser holding the previous one in cache keeps the old wording until it reloads the file.

Note when trying it as an administrator: Redmine measures an administrator against every role at once, so a transition counts as allowed if any role has it. To see the everyday case — allowed for one colleague, refused for another — try it as a user with a single role.

0.3.0 (2026-08-27)

Compatible with Redmine 7.0.x, 6.1.x, 6.0.x, 5.1.x.

redmine_expert_agile 0.3.0 — 2026-08-27

Removed

  • Cards can no longer be coloured one issue at a time. A board colours by what an issue is — its tracker, status, priority, project, assignee, or how its spent time compares to its estimate — and a colour set on a single issue is a note in a place nobody looks for one. The colour basis Issue is gone from the settings, the Issue tab from the card colour screen, and the colour field from the issue form. That tab was also the one screen here that could not survive a real installation: it listed every issue in the instance, each with the full palette.

Added

  • The current colour is spelled out beside the palette, as a swatch with the colour's name and its hex code, and it follows what you click rather than what was last saved.

Fixed

  • The colour picker showed no colours. 0.2.3 replaced the colour dropdowns with swatches, but neither screen that shows them loads the plugin's stylesheet — it is pulled in by the board, the backlog and the charts, and the card colour screen is none of those. Without it the swatches were empty elements of no size and the radio buttons behind them were never hidden, so what was left was a row of radio buttons whose colours existed only in a hover title. The screen now loads the stylesheet, and each swatch carries its own colour, size and border inline, so it is a visible colour even on a page that fails to load a stylesheet at all.
  • On 0.2.3, opening an issue raised an error wherever boards coloured by issue. The colour field on the issue form was drawn by a plugin helper that Redmine's own issues controller never had. Fixed first, then removed with the rest of per-issue colouring.

Upgrade notes

One migration, which deletes the rows that held per-issue colours. Nothing else reads or writes them once this version is installed, and no other colour is touched:

bundle exec rake redmine:plugins:migrate NAME=redmine_expert_agile RAILS_ENV=production

Anyone running 0.2.3 should take this release: there the card colour screen cannot be used at all, and an issue form raises where boards colour by issue.

Colour settings pointing at Issue fall back to no colouring, since that basis no longer exists. Colours assigned to trackers, priorities, statuses and projects are untouched.

Both fixes are in the plugin's assets, so a browser holding the previous stylesheet in cache will keep the old behaviour until it reloads the file.

0.2.3 (2026-08-26)

Compatible with Redmine 7.0.x, 6.1.x, 6.0.x, 5.1.x.

redmine_expert_agile 0.2.3 — 2026-08-26

Changed

  • Card colours are picked from the palette itself instead of from a list of colour names. Both places that assign one — the administration screen and the colour field on an issue — offered a dropdown reading "Green", "Light green", "Turquoise", so the one thing you need to see while choosing was the one thing not shown. Both now show the palette as the colours themselves, with the current one marked and a slashed swatch to clear it. They are radio buttons underneath, so the keyboard works as before.
  • The palette has grown from 9 colours to 18, ordered by hue so related shades sit together. The nine that existed keep their names and values, and anything already coloured keeps its colour.
  • The plugin has one entry in the administration menu, named after itself. Its settings were reachable only through Administration → Plugins → Configure, while the one thing the plugin put in the administration menu was the card colour screen, listed among Redmine's own areas under a name that said nothing about which plugin it belongs to. There is now a single expert Agile entry leading to the settings, and the card colour screen is reached from the colour section of those settings.

Fixed

  • The plugin's administration entry had no icon on Redmine 6 and newer. It asked for an icon from the plugin's own icon sprite, which this plugin never shipped — and an icon requested that way is not looked up in Redmine's core set, so nothing was drawn. The plugin now ships a sprite.

Upgrade notes

No migrations. Replace the plugin directory and restart.

Two things moved. The settings are now under Administration → expert Agile instead of Administration → Plugins → Configure, and the card colour screen is reached from the Colors section of that page rather than from its own entry in the administration menu; its address is unchanged, so a bookmark still works.

One visible change without a setting behind it: a board that colours by assignee derives the colour from the palette, so those cards change colour now that the palette has grown. Nothing is stored for them — the assignment was never meaningful, only stable.

0.2.2 (2026-08-26)

Compatible with Redmine 7.0.x, 6.1.x, 6.0.x, 5.1.x.

redmine_expert_agile 0.2.2 — 2026-08-26

Fixed

  • A move the workflow refused was still shown as done. Dragging a card to a column the workflow does not allow reported the refusal — and then left the card lying in the target column, as though the board had accepted the move it had just called impossible. Only a reload put the card back, since nothing was ever written. The card now returns to the exact position it was picked up from, as it does for a move refused for any other reason. Whether a move is refused at all depends on the workflow of the user's role, so the same drag can be fine for one user and refused for another.
  • Any failed move reported a refused status change. The message shown when a request never came back — a dropped connection, a server error, a response that was not the expected answer — was the workflow one on the board and "this sprint or version is not available" in the backlog planner, neither of which had anything to do with what actually went wrong. Those two remain what the server sends when it really does refuse a move; a request that got no answer now says so.

Upgrade notes

No migrations. Replace the plugin directory and restart.

Both fixes are in the board's own JavaScript, so a browser holding the previous version in cache will keep the old behaviour until it reloads the file.

0.2.1 (2026-08-20)

Compatible with Redmine 7.0.x, 6.1.x, 6.0.x, 5.1.x.