Plugins Directory » Custom Workflows

8157 Author: Anton Argirov
Website: https://github.com/anteo/redmine_custom_workflows/wiki
Code repository: https://github.com/anteo/redmine_custom_workflows
Registered on: 2012-09-03 (over 4 years ago)
Current version: 0.1.5
Compatible with: Redmine 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
User ratings:   (23)

Plugin development is supported by DOM Digital Online Media GmbH

This plug-in provides a great functionality for those who is familiar with the Ruby language.
It allows to customize workflow by defining own rules of issues processing. It's possible:
  • To change issue properties if some conditions are met;
  • To create new issues programmatically if the conditions are met (for example you can create an issue in another project if the status of source issue is changed to specific value);
  • To raise custom errors which will display to user, if he does something wrong;
  • To do anything that conforms to your needs;
Starting with version 0.1.2 you can specify observable object for workflow. Supported observable objects for now:
  • Issue (before_save, after_save, before_destroy, after_destroy)
  • Group (before_save, after_save, before_destroy, after_destroy)
  • User (before_save, after_save, before_destroy, after_destroy)
  • Project (before_save, after_save, before_destroy, after_destroy)
  • Attachment (before_save, after_save, before_destroy, after_destroy)
  • Wiki Content (before_save, after_save, before_destroy, after_destroy)
  • Group Users (before_add, after_add, before_remove, after_remove)
  • Issue Attachments (before_add, after_add, before_remove, after_remove)
  • Project Attachments / Files (before_add, after_add, before_remove, after_remove)
  • Wiki Page Attachments (before_add, after_add, before_remove, after_remove)
  • <Shared code>

<Shared code> - special type for workflows that running before all other workflows and can provide libraries of additional functions or classes.

Follow Wiki for finding answers.

Installation notes

From a ZIP file:
  • Download the latest version of the plugin
  • Unzip to /plugins (Redmine 2.x) or /vendor/plugins (Redmine 1.x) folder of Redmine
After download:
  1. Run rake redmine:plugins:migrate (Redmine 2.x) or rake db:migrate:plugins (Redmine 1.x).
  2. Restart Redmine.

Changelog

0.1.5 (2015-11-22)

Compatible with Redmine 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.

  • New observable objects added (Project, Wiki Content, Attachment, Issue Attachments, Project Attachments, Wiki Page Attachments)
  • Ability to hook before_destroy and after_destroy events

redmine_custom_workflows-0.1.5.zip (46.5 KB) Anton Argirov, 2015-11-22 11:50

0.1.4 (2015-07-15)

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

  • Non-active workflows are now not checked for syntax. Now you can import non-valid (for your Redmine instance for example) workflow, make changes to it and then activate.
  • Log message changed so that issue_id is before subject
  • Fixed migration from version 0.0.4

redmine_custom_workflows-0.1.4.zip (35.7 KB) Anton Argirov, 2015-07-15 11:19

0.1.3 (2015-06-24)

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

Compatibility with Redmine 2.x.x has returned

redmine_custom_workflows-0.1.3.zip (35.2 KB) Anton Argirov, 2015-06-24 09:37

0.1.2 (2015-06-23)

Compatible with Redmine 3.0.x.

  • Added new observable objects. Along with Issue objects you can now watch for changes in User and Group objects
  • Added support of shared workflows - special workflows that running before all other workflows and can provide functions and classes for it
  • Added Mailer helper for sending custom emails from workflows (check Wiki)

redmine_custom_workflows-0.1.2.zip (35 KB) Anton Argirov, 2015-06-23 10:37

0.0.6 (2015-05-26)

Compatible with Redmine 2.6.x, 2.5.x, 2.4.x, 2.3.x, 2.2.x, 2.1.x, 2.0.x, 1.4.x.

Added import/export workflow abilities

redmine_custom_workflows-0.0.6.zip (59.9 KB) Anton Argirov, 2015-05-29 16:04

0.1.0 (2015-05-08)

Compatible with Redmine 3.0.x.

Compatibility with Redmine 3.x, support of Redmine 2.x.x has dropped (for Redmine 2.x.x please use version 0.0.5)

redmine_custom_workflows-0.1.0.zip (24.4 KB) Anton Argirov, 2015-05-08 10:54

0.0.5 (2015-05-08)

Compatible with Redmine 2.6.x, 2.5.x, 2.4.x, 2.3.x, 2.2.x, 2.1.x, 2.0.x, 1.4.x, 1.3.x, 1.2.x.

Compatibility with the latest versions of Redmine 2.x.x

redmine_custom_workflows-0.0.5.zip (57.2 KB) Anton Argirov, 2015-05-08 08:04

0.0.4 (2012-10-08)

Compatible with Redmine 2.1.x, 2.0.x, 1.4.x, 1.3.x, 1.2.x.

  • Added ability to enable workflows globally for all projects. No need to enable 'Custom workflows' project module anymore. Just go to the 'Administration' -> 'Custom workflows' section and enable or disable your workflows in one place.
  • Fixed bug with 'Status transition prohibited' when updating the issue status by the repository commit

Don't forget to migrate plugins after installing the new version.

plugins.redmine_custom_workflows.zip (59.2 KB) Anton Argirov, 2013-05-22 08:10

0.0.3 (2012-09-10)

Compatible with Redmine 2.1.x, 2.0.x, 1.4.x, 1.3.x, 1.2.x.

Added compatibility with 1.2.x, 1.3.x

0.0.2 (2012-09-08)

Compatible with Redmine 2.1.x, 2.0.x, 1.4.x.

  • Added ability to define after_save script along with before_save
  • Changed context of the script executing to the issue itself.
  • Improved logging

0.0.1 (2012-09-03)

Compatible with Redmine 1.4.x, 2.0.x, 2.1.x.

User ratings

  by Imanol Alvarez 25 days ago

With this plugin you can do your personal workflows.

  by Adam Szakacs 2 months ago

Great - very powerful and flexible!!! Well done!!!

  by Anthony MCPROGSOFT 3 months ago

A must have plugin.
Is it compatible with Redmine 3.3 ?
Or do you plan to make a new release ?
THANKS !

  by Robert Korulczyk 3 months ago

  by Александр К 4 months ago

  by Mikhail Voronyuk 5 months ago

The awesome plugin!
It does for me
1) update a 'last modifier' user-field after each issue modification
2) check if spent time is specified for Support tracker when an issue is marked as Solved
Examples: https://github.com/VoronyukM/custom-workwlows

  by Igor A about 1 year ago

  by Jan from Planio www.plan.io over 1 year ago

Very dangerous plugin from a security point of view. Can easily be used to steal or delete all data by rogue admins or compromised admin accounts. In my opinion, code changes should be made in the code, not via the web UI.

  by Quan VN over 1 year ago

Excellent. version 0.1.2 also works for 2.6.5 with this change: in models/custom_workflow.rb, scope: for_project, change .join_table into .options[:join_table]

  by Adriano Ceccarelli over 1 year ago

Very good this plugin!
Simple and practical.

  by minkbear minkbear over 1 year ago

  by Tomasz O over 1 year ago

  by [ Desperados ] almost 2 years ago

it seems very useful
how I can create a rule for change project if author is in a determined group? where can I found guide/howto? thanks

  by benoit deleris almost 2 years ago

  by Kos Kub almost 2 years ago

I've tried to fix it for Redmine 3.0. Unfortunately, I have small experience with Ruby and Redmine. I've fixed controller and migration scripts.Migrations was successful,but example workflow doesn't exist and RecNotFound error occurs even if add manually

  by Moritz Koehler about 2 years ago

must have plugin
works in 2.6

  by Victor Gershgorn about 2 years ago

Amazing plugin!
If you want to check role of a user you can use the following syntax, which will return true or false:

User.current.roles_for_project(@issue.project).include?(Role.find(:first, :conditions => "name='SomeRloeName'"))

Works in 2.5.2

  by Cliff Peng over 2 years ago

We need more rules about the workflow script grammer.

  by dj jones over 2 years ago

This page header does not list a code repository: here is a mirror on github for the plugin:
https://github.com/go2null/redmine_custom_workflows

  by Thierry LEPIEZ over 2 years ago

it like it.
Just a sample, for bug tracker as immediate by default :
before script:
if new_record?
if @issue.tracker_id==1
@issue.priority_id=5
if @issue.assigned_to.nil?
@issue.assigned_to=User.current
end
end
end

  by Sergei Bershadsky over 2 years ago

  by Raúl Gómez almost 3 years ago

  by Duncan Robertson almost 3 years ago

This does everything I wanted and more. From validation to automatic field calculation and complex svn integration. Works perfectly with Redmine 2.4.2