Version 18 (modified by 9 years ago) (diff) | ,
---|
Workflow based on ticket type
Contents
Description
The MultipleWorkflowPlugin replaces the ConfigurableTicketPlugin used by Trac to control what actions a ticket can do reading [ticket-workflow]
section.
With MultipleWorkflowPlugin Trac can read the workflow based on the type of ticket. If a section for that ticket type doesn't exist than it uses the default workflow, see Example.
The plugin works with Trac 0.11 and 0.12 and maybe with Trac 1.x (not tested).
See also TypedTicketWorkflowPlugin.
What's the Difference to TypedTicketWorkflowPlugin?
With MultipleWorkflowPlugin you may have an exclusive workflow section for each ticket type like this:
[ticket-workflow] # Default workflow approve = new, reopened -> approved approve.operations = del_resolution ... [ticket-workflow-Foo] # Workflow for ticket type 'Foo' do_foo = new -> foo ... [ticket-workflow-Bar] # Workflow for ticket type 'Bar' do_bar = new -> bar ...
With TypedTicketWorkflowPlugin you specify restrictions for ticket types in the default workflow by adding them to the transitions like:
[ticket-workflow] approve = new, reopened -> approved approve.operations = del_resolution # approve is only valid for ticket types 'defect' and 'feature' approve.ticket_type = defect, feature ...
The former is easier to manage if you have several ticket types with vastly different workflows.
Bugs/Feature Requests
Existing bugs and feature requests for MultipleWorkflowPlugin are here.
If you have any issues, create a new ticket.
defect |
15 / 17 |
||
---|---|---|---|
enhancement |
5 / 5 |
||
task |
1 / 1 |
Download
Download the zipped source from [download:multipleworkflowplugin here].
Source
You can check out MultipleWorkflowPlugin from here using Subversion, or browse the source with Trac.
Installation
Enable the plugin with:
[components] multipleworkflow.* = enabled
Add the controller to the workflow controller list:
workflow = MultipleWorkflowPlugin
Example
For using it you should have the [ticket-workflow]
section in your trac.ini file because when a custom section for a ticket type doesn't exist that one is used.
To define a different workflow for a ticket with type Requirement
create a section in trac.ini called [ticket-workflow-Requirement]
and add your workflow items:
[ticket-workflow-Requirement] leave = * -> * leave.default = 1 leave.operations = leave_status approve = new, reopened -> approved approve.operations = del_resolution approve.permissions = TICKET_MODIFY reopen_verified = closed -> reopened reopen_verified.name= Reopen reopen_verified.operations = set_resolution reopen_verified.set_resolution=from verified reopen_verified.permissions = TICKET_MODIFY reopen_approved = approved -> reopened reopen_approved.name = Reopen reopen_approved.operations = set_resolution reopen_approved.set_resolution=from approved reopen_approved.permissions = TICKET_CREATE remove = new, reopened, approved, closed -> removed remove.name=Remove this Requirement permanently remove.operations = set_resolution remove.set_resolution= removed remove.permissions = TICKET_MODIFY verify = approved -> closed verify.name=Verifiy the Requirement and mark verify.operations = set_resolution verify.set_resolution=verified verify.permissions = TICKET_MODIFY
This results in the following workflow:
Add Custom Statuses to Query Page
Your custom statuses are normally not available on the Trac query page for filtering tickets.
Trac core only looks at the default workflow when gathering the statuses (for obvious reasons since it doesn't know about your private workflow).
To have your custom status appear which is defined in [ticket-workflow-my_type]
add it to the default section [ticket-workflow]
like this:
[ticket-workflow] [...] # The following are from other workflows. By including them here they will show up # as a selectable item on the ticket query page. approve = approved -> approved remove = removed -> removed [...]
Because there is no transition to the statuses approved
and removed
in the default workflow these items will never show up as a selectable item on the ticket page of standard tickets, yet you see them on the query page.
Recent Changes
- 18098 by Cinc-th on 2021-03-26 06:43:31
-
MultipleWorkflowPlugin: Python 3 fix. Added classifiers to setup.py.
- 18094 by Cinc-th on 2021-03-25 11:27:31
-
MultipleWorkflowPlugin: fixes for Python 3 support.
- 17959 by rjollos on 2021-01-20 01:24:20
-
MultipleWorkflowPlugin 1.5.2: Revert unintended change in r17958
Refs #13943.
(more)
Author/Contributors
Attachments (1)
-
workflow_editor.png (243.6 KB) - added by 9 years ago.
Image of workflow editor
Download all attachments as: .zip