Project

General

Profile

Plugins Directory » Periodic Task

Author: Julian Perelli
Website: https://github.com/jperelli/Redmine-Periodic-Task/
Code repository: https://github.com/jperelli/Redmine-Periodic-Task/
Registered on: 2015-09-16 (about 11 years ago)
Current version: 7.2.0
Compatible with: Redmine 7.1.x, 7.0.x, 6.1.x, 6.0.x, 5.1.x
User ratings:   (14)

Recurring issues for Redmine: creates issues from templates on a schedule
  • daily, business days, weekly, monthly, yearly, specific days of the week.
  • with subtasks, relations, attachments, assignee rotation.
  • auto-config without cron.

Recurring issues for Redmine

Some work repeats on a schedule: renew the SSL certificate once a year, run the security checks every 3 months, write the weekly report every Monday, rotate the on-call duty. Redmine has no built-in recurring issues; this plugin adds them. You define a periodic task (an issue template plus a recurrence rule) and the plugin creates the issue when it is due.

  • Recurrence every N days, business days, weeks (on chosen weekdays), months (day of month or "3rd Wednesday") or years, with an optional end date or maximum number of runs
  • Generated issues get everything a hand-made issue has: tracker, status, priority, assignee or assignee rotation, category, version, custom fields, watchers, attachments, subtasks and relations to other issues
  • Date variables in subject and description (Weekly report **WEEKISO**/**YEAR**)
  • Choose what happens when the previous issue is still open: create anyway, skip, close it or wait
  • Works with cron, without cron (checked on web requests) or from any external scheduler through a check URL
  • Full REST API, issue list filter and column for generated issues, activity entries, scheduler log
  • Redmine 5.x to 7.0 (5.1–7.0 tested in CI on every change), 15 languages, MIT

Documentation, screenshots and installation: GitHub
Changelog: CHANGELOG.md

Changelog

7.2.0 (2026-09-17)

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

Features

- Import tasks from ics: upload a calendar file in Administration → Periodic Tasks, pick a project per row and create the periodic tasks requires migration ((https://github.com/jperelli/Redmine-Periodic-Task/issues/182)) (Julian Perelli)
- Import tasks from JSCalendar (RFC 8984): the Import menu of the import page offers one entry per format, `.ics` or `.json` (Julian Perelli)
- Import tasks from a crontab: third entry of the Import menu, one task per `m h dom mon dow command` line (Julian Perelli)
- Export tasks to ics: checkboxes on the rows of the task lists (project tab and Administration → Periodic Tasks) and an Actions → Export to ics menu that downloads the checked tasks as an iCalendar file, one recurring to-do per task (Julian Perelli)
- Export tasks to JSCalendar (RFC 8984): Actions → Export to jscal downloads the checked tasks as a JSON `Group` of `Task` objects with recurrence rules (Julian Perelli)
- Export tasks to a crontab: Actions → Export to crontab downloads the checked tasks as `m h dom mon dow subject` lines, the description as comments above each job; what cron cannot express is noted in a comment (Julian Perelli)

Fixes

- The time zone label next to Next run date shows the offset in force today, DST included, e.g. `(GMT+02:00 CEST) Bern` instead of the standard-time `(GMT+01:00) Bern` while the value was already read as +02:00 ((https://github.com/jperelli/Redmine-Periodic-Task/issues/185)) (Julian Perelli)

Redmine-Periodic-Task-7.2.0.zip (323 KB) Redmine-Periodic-Task-7.2.0.zip Julian Perelli, 2026-09-17 18:08

7.1.1 (2026-09-11)

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

Fixes

- rake redmine:check_periodictasks now explains what to do instead of failing with uninitialized constant ScheduledTasksChecker when the plugin sits in plugins/ but Redmine loads plugins from another directory (Debian/Ubuntu packages: /var/lib/redmine/<instance>/plugins). The message names both directories. New README section on installing on the Debian redmine package (#179).

No migration required. Full changelog: CHANGELOG.md

Redmine-Periodic-Task-7.1.1.zip (187 KB) Redmine-Periodic-Task-7.1.1.zip Julian Perelli, 2026-09-12 10:47

7.1.0 (2026-09-06)

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

  • Cron-less scheduling: an admin setting runs the checker from ordinary web requests (throttled, DB-locked, in a background thread), so it works on Docker, Windows and shared hosting. There is also a check URL for external schedulers (uptime monitor, CI schedule, Kubernetes CronJob) and a scheduler log on the plugin settings page.
  • REST API (JSON/XML) to list, create, update, delete and run tasks, following the core API conventions.
  • Assignee rotation: generated issues go in turn to an ordered list of members (on-call, release captain, first responder).
  • End condition: end on a date and/or after N runs.
  • "Previous issue open" modes: create anyway, skip, close the previous issue, or wait and restart from its closing date.
  • Attachments on the template, copied to every generated issue.
  • Live preview of the next 5 occurrences with a mini calendar while editing the rule.
  • Non-working days option (move to next/previous working day) following Redmine's own setting.
  • PREVIOUS_ISSUE variable and a "previous generated issue" relation target, so each weekly report links to the last one.
  • "Periodic task" filter and column on the issue list, "Create periodic task from this issue" link, copy action, admin page listing every project's tasks.
Redmine-Periodic-Task-7.1.0.zip (181 KB) Redmine-Periodic-Task-7.1.0.zip Julian Perelli, 2026-09-06 18:50

7.0.0 (2026-09-03)

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

Features

- Support Redmine 7.0 (Rails 8.1 / Ruby 4.0) (Julian Perelli)
- Add configurable `subtasks` and `related issues`: each generated issue gets the configured child issues and relations requires migration (Julian Perelli)
- Add spanish translation ((https://github.com/jperelli/Redmine-Periodic-Task/pull/136)) (Lu Pon)
- Add Traditional Chinese (`zh-TW`) translation ((https://github.com/jperelli/Redmine-Periodic-Task/pull/135)) (@chris85618)
- Add configurable `% Done` shown with Redmine's progress bar in the detail page requires migration (Julian Perelli)
- Add Google Calendar-style recurrence: weekly tasks can repeat on several weekdays and monthly tasks on the 1st..5th (or last) occurrence of one or more weekdays, e.g. the 3rd Wednesday of every month requires migration ((https://github.com/jperelli/Redmine-Periodic-Task/issues/50)) (Julian Perelli)
- Add [doc/recurrence-design.md](doc/recurrence-design.md) explaining how the next run date is calculated, linked with a help icon from the task form and from the last error message (Julian Perelli)
- Add the missing translations for the `Run now` button and the plugin credit in all locales (Julian Perelli)

Fixes

- Localize the project menu tab, module name and permission name instead of hardcoding `Periodic Task` (Julian Perelli)

Chore

- Add Redmine 7.0 to the CI test matrix and bump the dev docker image to 7.0 (Julian Perelli)
- Replace the removed `bundle install --with` flag with `BUNDLE_WITH` in the Dockerfiles, required by Bundler 4 shipped with Redmine 7.0 (Julian Perelli)

Redmine-Periodic-Task-7.0.0.zip (381 KB) Redmine-Periodic-Task-7.0.0.zip Julian Perelli, 2026-09-03 11:21

6.3.0 (2026-09-03)

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

Features
  • Add configurable issue status requires migration (Julian Perelli)
  • Show the configured default priority in form and detail labels (Julian Perelli)
  • Add RedmineUP Tags plugin support: configured tags are added to generated issues requires migration
Fixes
  • Generate scheduled issues as the task author (User.current) so permission-based validations from other plugins, e.g. Luxury Buttons tracker roles, pass under cron/rake (#67)
  • Use the user's time zone for next run date and show it next to the input (Julian Perelli)
Redmine-Periodic-Task-6.3.0.zip (322 KB) Redmine-Periodic-Task-6.3.0.zip Julian Perelli, 2026-09-03 00:17

6.2.0 (2026-06-30)

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

Features

- Add created/updated timestamps to periodictask and generated issues are linked back to their periodic task requires migration (Julian Perelli)
- Add a journal table to see the actions in user and project activity page requires migration (Julian Perelli)
- New detail page showing its configuration and the history of issues it has generated. (Julian Perelli)
- Modernize the list view to match Redmine's issue list: more columns, sortable headers, and a three-dots actions menu (Julian Perelli)
- Modernize the create/edit form to match Redmine's create/edit forms: same labels and order, reused components (Julian Perelli)
- Show an "Automatically created by periodic task #n" note on the detail page of issues generated by a periodic task, linking back to the task (Julian Perelli)
- Add run now action button to generate an issue from the template online (Julian Perelli)

Fixes

- Enforce project permissions on the periodic task controller so only members with the `:periodictask` permission can list, create or edit tasks (Julian Perelli)
- Localize the interval/due-date unit dropdowns per request instead of freezing them to the boot-time default locale (Julian Perelli)
- Remove leftover Prototype `onclick` from the task list edit link that referenced a non-existent element (Julian Perelli)
- Sync the `subject_variables` help text across all locales with the actually supported macros (Julian Perelli)

Chore

- Store custom field values as JSON instead of YAML, removing a Rails 7.1+ deprecation requires migration (Julian Perelli)
- Add seed data to ./provision.sh so that we get periodictasks and issues created for developing faster (Julian Perelli)
- Improve fixtures data (Julian Perelli)
- Collapse the duplicate `load_users`/`load_watchers` controller filters into a single member lookup (Julian Perelli)
- Remove the unused `find_periodictask` controller method (Julian Perelli)
- Remove deprecated version from docker-compose (Julian Perelli)
- Improve Readme install instructions (Julian Perelli)
- Add RuboCop config and a lint job to CI to enforce code style for contributors (Julian Perelli)
- Add tests suite to run in multiple versions of redmine in CI (Julian Perelli)
- Add screenshots to readme (Julian Perelli)

Redmine-Periodic-Task-6.2.0.zip (316 KB) Redmine-Periodic-Task-6.2.0.zip Julian Perelli, 2026-06-30 02:57

6.1.3 (2026-05-08)

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

Fixes

- Fix edit page crash when watcher_user_ids is nil in legacy records

Redmine-Periodic-Task-6.1.3.zip (48.2 KB) Redmine-Periodic-Task-6.1.3.zip Julian Perelli, 2026-05-08 22:44

6.1.2 (2026-04-10)

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

Fixes

- fix Custom Fields aren't read from the DB

Chores

- Add bulgarian translation

Redmine-Periodic-Task-6.1.2.zip (48.1 KB) Redmine-Periodic-Task-6.1.2.zip Julian Perelli, 2026-04-10 08:13

6.1.1 (2026-04-07)

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

Fixes

- Migration fails for mysql watcher_user_ids json default value

Redmine-Periodic-Task-6.1.1.zip (46.7 KB) Redmine-Periodic-Task-6.1.1.zip Julian Perelli, 2026-04-07 12:22

6.1.0 (2026-04-07)

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

v6.1.0 - 2026-04-07

https://github.com/jperelli/Redmine-Periodic-Task/blob/main/CHANGELOG.md

warning: This version requires migrations to be run. Remember to run:
bundle exec rake redmine:plugins:migrate NAME=periodictask RAILS_ENV=production

Features
- Using timezones other than UTC is now possible
- Add parent task support
- Add QUARTER variable to use in subject and description
- Add WEEKISO variable to use in subject and description
- Add field priority to periodic tasks
- Add field watchers to periodic tasks

Fixes
- Next run date constantly increasing
- PREVIOUS_MONTH variable not working correctly
- Compatibility with redmine 6.1, attr_protected issue

Chores
- Improve all locales
- Add translation for portuguese
- Add translation for croatian
- Add translation for polish
- Add translation for ukranian

Redmine-Periodic-Task-6.1.0.zip (46.7 KB) Redmine-Periodic-Task-6.1.0.zip Julian Perelli, 2026-04-07 01:48

6.0.0 (2025-01-11)

Compatible with Redmine 6.1.x, 6.0.x.

- Support for redmine v6

Redmine-Periodic-Task-6.0.0.zip (28.8 KB) Redmine-Periodic-Task-6.0.0.zip Julian Perelli, 2025-01-11 00:13

5.0.0 (2024-04-24)

Compatible with Redmine 5.1.x, 5.0.x.

- Added support for redmine v5

Redmine-Periodic-Task-5.0.0.zip (28.7 KB) Redmine-Periodic-Task-5.0.0.zip Julian Perelli, 2024-04-24 13:19

4.1.0 (2019-03-04)

Compatible with Redmine 4.1.x, 4.0.x, 3.4.x, 3.3.x, 3.2.x, 3.1.x, 3.0.x.

- Added support to redmine v4
- Added support to redmine custom fields

Redmine-Periodic-Task-4.1.0.zip (41.3 KB) Redmine-Periodic-Task-4.1.0.zip Julian Perelli, 2019-03-04 01:57

3.3.0 (2018-09-10)

Compatible with Redmine 3.4.x, 3.3.x, 3.2.x, 3.1.x, 3.0.x, 2.6.x, 2.5.x, 2.4.x, 2.3.x, 2.2.x, 2.1.x, 2.0.x.

Italian translation added
Remove gem file version
Fix bug with issues without descriptions
fix #49 Add Estimated Time field
fix #83 support for redmineUP checklists plugin

Redmine-Periodic-Task-3.3.0.zip (37.2 KB) Redmine-Periodic-Task-3.3.0.zip Julian Perelli, 2018-09-11 05:42

3.2.0 (2017-02-12)

Compatible with Redmine 3.5.x, 3.4.x, 3.3.x, 3.2.x, 3.1.x, 3.0.x, 2.6.x, 2.5.x, 2.4.x, 2.3.x, 2.2.x, 2.1.x, 2.0.x.

  • Adding vagrantfile to aid rapid development
  • Feature #55 Interval without weekend days
  • Feature #57 Add DAY variable
Redmine-Periodic-Task-3.2.0.zip (34.7 KB) Redmine-Periodic-Task-3.2.0.zip v3.2.0 Julian Perelli, 2017-02-12 20:42

3.1.2 (2016-01-06)

Compatible with Redmine 3.3.x, 3.2.x, 3.1.x, 3.0.x, 2.6.x, 2.5.x, 2.4.x, 2.3.x, 2.2.x, 2.1.x, 2.0.x.

Fixes some str replacement i18n bugs

3.1.1 (2015-10-27)

Compatible with Redmine 3.2.x, 3.1.x, 3.0.x, 2.6.x.

- adding ru translation
- fix wrong edit/new label

Redmine-Periodic-Task-3.1.1.zip (18.9 KB) Redmine-Periodic-Task-3.1.1.zip Julian Perelli, 2015-10-27 16:51

3.1.0 (2015-09-15)

Compatible with Redmine 3.2.x, 3.1.x, 3.0.x.

added support to use categories in periodic tasks

Redmine-Periodic-Task-3.1.0.zip (18 KB) Redmine-Periodic-Task-3.1.0.zip Julian Perelli, 2015-10-07 23:51

User ratings

  by Lu Pon about 1 month ago

I'm trying and looks very good

  by Yar n 8 months ago

still supported!

  by Andrei Melis over 1 year ago

  by Bon Espresso almost 7 years ago

  by Raul Sanchez about 8 years ago

  by Edd Vertov over 9 years ago

Must have!

  by joao paulo lima saraiva about 10 years ago

Muito bom esse plugin, deveria ser algo padrão no redmine

  by Buczek Mirek over 10 years ago

Can't install it, because:

"rake aborted!
SystemStackError: stack level too deep
/usr/local/rvm/gems/ruby-2.0.0-p643/gems/activesupport-4.2.2/lib/active_support/dependencies.rb:244"

  by olivier marie over 10 years ago

Good plugin
Just i don't find an option to copy or import lot's of task.

  by Truong Ta almost 11 years ago

Very useful.

  by Mikhail Struchalin almost 11 years ago

root@redmine:/usr/share/redmine# rake --trace redmine:plugins:migrate NAME=periodictask RAILS_ENV=production
rake aborted!
SystemStackError: stack level too deep
/var/lib/gems/1.9.1/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:244

  by Pavel Potcheptsov almost 11 years ago

It works. (c)

  by Ilya Moskalev about 11 years ago

good plugin, need set time other except UTC, and need localization

  by Julian Perelli about 11 years ago