| ; enterprise-review-workflow.ini |
| ; Add CodeReviewActionController to the workflow option in [ticket]. If there |
| ; is no workflow option, the line will look like this: |
| ; workflow = ConfigurableTicketWorkflow,CodeReviewActionController |
| |
| |
| [ticket-workflow] |
| |
| ; assign, reassign, unassign actions |
| assign = new -> assigned |
| assign.operations = set_owner |
| assign.permissions = TICKET_MODIFY |
| |
| reassign = assigned,in_work -> assigned |
| reassign.operations = set_owner |
| reassign.permissions = TICKET_MODIFY |
| |
| reassign_closed = closed -> closed |
| reassign_closed.name = reassign |
| reassign_closed.operations = set_owner |
| reassign_closed.permissions = TICKET_MODIFY |
| |
| unassign = assigned,in_work -> new |
| unassign.operations = del_owner |
| unassign.permissions = TICKET_MODIFY |
| |
| ; leave actions |
| leave = * -> * |
| leave.operations = leave_status |
| leave.default = 1 |
| |
| ; resolve actions |
| resolve = in_QA -> closed |
| resolve.operations = set_resolution |
| resolve.permissions = TICKET_MODIFY |
| |
| fail = in_QA -> assigned |
| fail.permissions = TICKET_MODIFY |
| |
| ; start/stop actions |
| start = assigned -> in_work |
| start.operations = set_owner_to_self |
| start.permissions = TICKET_MODIFY |
| |
| stop = in_work -> assigned |
| stop.permissions = TICKET_MODIFY |
| |
| ; reopen actions |
| reopen = closed -> new |
| reopen.operations = del_resolution |
| reopen.permissions = TICKET_CREATE |
| |
| ; needinfo actions |
| ; For tickets with an owner, they go back to assigned |
| needinfo = assigned,in_work,in_QA -> needinfo |
| needinfo.permissions = TICKET_MODIFY |
| |
| infoprovided = needinfo -> assigned |
| infoprovided.permissions = TICKET_MODIFY |
| infoprovided.default = 2 |
| |
| ; But tickets without an owner go back to new. |
| needinfo_new = new -> needinfo_new |
| needinfo_new.name = needinfo |
| needinfo_new.permissions = TICKET_MODIFY |
| |
| infoprovided_new = needinfo_new -> new |
| infoprovided_new.permissions = TICKET_MODIFY |
| infoprovided_new.default = 2 |
| |
| ; review actions |
| request_review = in_work -> in_review |
| request_review.name = request review |
| |
| review = in_review -> * |
| review.operations = code_review,hidden |
| ; A reviewer can approve the work as-is, approve the work with a few things |
| ; that need touched-up, but that won't need further review, or request changes |
| ; significant enough that another review will be needed. |
| review.code_review = approve -> in_QA, |
| approve as noted -> post_review, |
| request changes -> in_work |
| review.permissions = TICKET_REVIEW |
| |
| submit_to_test = post_review -> in_QA |
| submit_to_test.name = submit to test |
| |