Opened 18 years ago
Last modified 9 years ago
#6548 new enhancement
different types of ticket need different workflows
| Reported by: | anonymous | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | unscheduled |
| Component: | ticket system | Version: | 0.11b1 |
| Severity: | normal | Keywords: | workflow |
| Cc: | awatts@…, trac@…, leho@…, itamarost@…, marc31boss@…, Ryan J Ollos | Branch: | |
| Release Notes: | |||
| API Changes: | |||
| Internal Changes: | |||
Description (last modified by )
Actions should be selectable based on the ticket type (different Workflows for different tickets.
This is becoming a frequent request, with clear usecases. The closest the current implementation will allow is to have a plugin provide a triage action that sets the next state based on the ticket type, so a new ticket would move to new_task, new_defect, etc., and the workflow graph would separate at that point.
Attachments (2)
Change History (19)
comment:3 by , 18 years ago
| Description: | modified (diff) |
|---|---|
| Keywords: | workflow added |
| Milestone: | 0.11 → 0.12 |
| Priority: | high → normal |
| Status: | new → reopened |
| Summary: | different type of ticket → different types of ticket need different workflows |
| Type: | task → enhancement |
comment:4 by , 17 years ago
| Milestone: | 0.12 → 2.0 |
|---|
Not for 0.12.
Besides, the above suggestion could alternatively be done in a plugin which replaces the basic ConfigurableTicketWorkflow with a more advanced TicketTypeConfigurableWorkflow.
comment:5 by , 17 years ago
| Cc: | added |
|---|
To restrict actions to a particular ticket type first patch default_workflow.py
-
ticket/default_workflow.py
186 186 else: 187 187 allowed = 1 188 188 189 ticket_type = action_info.get('ticket_type') 190 if ticket_type: 191 ticket_type = [x.strip() for x in ticket_type.split(',')] 192 if ticket.values['type'] not in ticket_type: 193 allowed = 0 194 189 195 if allowed: 190 196 allowed_actions.append((action_info['default'], 191 197 action_name))
Then in trac.ini where your workflow actions are defined you can add .ticket_type to actions to restrict them one or more ticket types. Omitting this option leaves action behaving as it did before.
still_buggy = closed -> reopened still_buggy.name = Still Buggy still_buggy.ticket_type = defect ...
This means that the "Still Buggy" action will only appear on tickets where the type is defect. .ticket_type can be a comma separated list of ticket types.
by , 17 years ago
| Attachment: | MultipleWorkflowPlugin.rar added |
|---|
plugin that replace the ConfigurableTicketPlugin
comment:8 by , 17 years ago
| Resolution: | → fixed |
|---|---|
| Status: | reopened → closed |
I risolved this creating a plugin called MultipleWorkflowPlugin, it works and i hope it doesn't have too much bugs
comment:9 by , 17 years ago
| Resolution: | fixed |
|---|---|
| Status: | closed → reopened |
If anything, it is a worksforme resolution as the project has not really fixed anything.
A bit too soon to close the ticket anyway, let's leave it open for now in case others want to chime in on the issue.
comment:10 by , 16 years ago
please write a few words on how to use this plugin. a simple example of ini should be ok.
comment:11 by , 16 years ago
Just adding a note that this is a good feature.
There's a significant difference between the work of designing enhancements and reproducing bugs. Different people with different skillsets are involved, possibly funded from different budgets. So having a Multiple Workflow is attractive.
For example, on a current project the workflow is:
Feature Request:
- Request
- List requirements (text documents)
- Front end Design (visual comps)
- Implementation
- QA
- Deploy
Bug Report:
- Report
- Reproduce
- Fix
- QA
- Deploy
comment:12 by , 16 years ago
| Cc: | added |
|---|
comment:14 by , 15 years ago
| Cc: | added |
|---|
comment:16 by , 15 years ago
| Cc: | added |
|---|
comment:18 by , 14 years ago
| Cc: | added |
|---|
This would be very usefull. A great improvment would be having a matrix as the one you can find in Redmine, where you have differents matrices for each user role and ticket type.
by , 14 years ago
| Attachment: | redmine-workflow.png added |
|---|
Related graphics: Redmine multiple workflow definition UI
comment:19 by , 12 years ago
It would be a great feature. Then one can then use trac to manage routine tasks in the engineering too. (Like JIRA)
comment:20 by , 12 years ago
| Cc: | added |
|---|
comment:21 by , 11 years ago
| Owner: | removed |
|---|---|
| Status: | reopened → new |
comment:22 by , 9 years ago
#9508 closed as a duplicate. If typed workflows are added, the allowed resolutions for each action that has a set_resolution operation can be specified in the set_resolution attribute (see workflow customization). See also #11856, which proposes to add a default_resolution attribute and to rename the set_resolution attribute.



Reusing this ticket for discussing the per-type workflow idea (TracWorkflow@17, reproduced in the description).
Instead of the 'new → new_task' scheme suggested by Eli, I think that we should instead provide a state "migration" table based on the type change.
I mean the ticket starts with an initial type, so why not select the appropriate workflow (
[<type>-ticket-worflow]?) from the start. Then, at any given time, if the ticket type changes, a state migration will happen (ignoring the selected action), according to some mapping done in the .ini:Which makes me think that at this point, a db table describing the mapping "in full"" with some appropriate UI in Trac admin would probably be a better idea. And of course, same could be said for the workflow itself, but now I digress ;-)