close
Warning:
Can't synchronize with repository "(default)" (The repository directory has changed, you should resynchronize the repository with: trac-admin $ENV repository resync '(default)'). Look in the Trac log for more information.
- Timestamp:
-
2021-07-11T14:17:48-07:00 (3 years ago)
- Author:
-
trac
- Comment:
-
--
Legend:
- Unmodified
- Added
- Removed
- Modified
-
v4
|
v5
|
|
41 | 41 | == Additional Ticket Workflows |
42 | 42 | |
43 | | There are example workflows provided in the Trac source tree, see [trac:source:branches/1.4-stable/contrib/workflow contrib/workflow] for `.ini` config sections. One of those may be a good match for what you want. They can be pasted into the `[ticket-workflow]` section of your `trac.ini` file. However, if you have existing tickets then there may be issues if those tickets have states that are not in the new workflow. |
| 43 | There are example workflows provided in the Trac source tree, see [trac:source:branches/1.4-stable/contrib/workflow contrib/workflow] for `.ini` config sections. One of those may be a good match for what you want. They can be pasted into the `[ticket-workflow]` section of your `trac.ini` file. However, if you have existing tickets then there may be issues if those tickets have states that are not in the new workflow. |
44 | 44 | |
45 | 45 | Here are some [trac:WorkFlow/Examples diagrams] of the above examples. |
… |
… |
|
49 | 49 | '''Note''': Ticket "statuses" or "states" are not separately defined. The states a ticket can be in are automatically generated by the transitions defined in a workflow. Therefore, creating a new ticket state simply requires defining a state transition in the workflow that starts or ends with that state. |
50 | 50 | |
51 | | In the `[ticket-workflow]` section of `trac.ini`, each entry is an action that may be taken on a ticket. |
| 51 | In the `[ticket-workflow]` section of `trac.ini`, each entry is an action that may be taken on a ticket. |
52 | 52 | For example, consider the `accept` action from `simple-workflow.ini`: |
53 | 53 | |
… |
… |
|
69 | 69 | - ''actionname''`.set_owner` may optionally specify a comma delimited list of users that will be used to populate the select, or a single user. Groups and permissions may also be included in the list //(Since 1.1.3)//. When groups or permissions are specified the select is populated with all members of the group or all users that possess the permission. |
70 | 70 | - **set_owner_to_self** -- Sets the owner to the logged in user. |
71 | | - **may_set_owner** -- Sets the owner to the selected or entered owner. Defaults to the existing owner. //(Since 1.1.2)//. |
| 71 | - **may_set_owner** -- Sets the owner to the selected or entered owner. Defaults to the existing owner. //(Since 1.1.2)//. |
72 | 72 | - **del_resolution** -- Clears the resolution field. |
73 | 73 | - **set_resolution** -- Sets the resolution to the selected value. |
… |
… |
|
102 | 102 | }}} |
103 | 103 | |
| 104 | The transition to `*` (`-> *`) means the workflow operation determines the next status. The only configurable ticket workflow operation that determines the next status is `leave_status`. However, another workflow controller can operate on an action with new status `*` and determine the next status. |
| 105 | |
104 | 106 | This also shows the use of the `.default` attribute. This value is expected to be an integer, and the order in which the actions are displayed is determined by this value. The action with the highest `.default` value is listed first, and is selected by default. The rest of the actions are listed in order of decreasing `.default` values. |
105 | 107 | If not specified for an action, `.default` is 0. The value may be negative. |
… |
… |
|
197 | 199 | reassign_reviewing = reviewing -> * |
198 | 200 | reassign_reviewing.label = reassign review |
199 | | reassign_reviewing.operations = set_owner |
| 201 | reassign_reviewing.operations = set_owner, leave_status |
200 | 202 | reassign_reviewing.permissions = TICKET_MODIFY |
201 | 203 | }}} |
… |
… |
|
230 | 232 | review.permissions = TICKET_MODIFY |
231 | 233 | reassign_reviewing = reviewing -> * |
232 | | reassign_reviewing.operations = set_owner |
| 234 | reassign_reviewing.operations = set_owner, leave_status |
233 | 235 | reassign_reviewing.label = reassign review |
234 | 236 | reassign_reviewing.permissions = TICKET_MODIFY |
… |
… |
|
247 | 249 | == Ideas for next steps |
248 | 250 | |
249 | | Enhancement ideas for the workflow system should be filed as enhancement tickets against the [trac:query:?status=assigned&status=new&status=reopened&keywords=~workflow&component=ticket+system ticket system] component. You can also document ideas on the [trac:TracIdeas/TracWorkflow TracIdeas/TracWorkflow] page. |
| 251 | Enhancement ideas for the workflow system should be filed as enhancement tickets against the [trac:query:?status=assigned&status=new&status=reopened&keywords=~workflow&component=ticket+system ticket system] component. You can also document ideas on the [trac:TracIdeas/TracWorkflow TracIdeas/TracWorkflow] page. |