Home ›
Agaric's Trac workflowAgaric's Trac workflow
Submitted by Benjamin Melançon on September 17, 2010 - 7:15am
This is in etc/trac/trac.ini. Note that each project can override in its own trac.inin (which for Agaric's system is in /srv/trac/PROJECTNAME/conf/trac.ini).
[ticket-workflow] ; opensource-workflow.ini ; accept action ; When you accept a ticket, you get ownership of it. (You can't accept a ; ticket on someone else's behalf.) accept = new,assigned,accepted -> accepted accept.operations = set_owner_to_self accept.permissions = TICKET_MODIFY ; assign, reassign, unassign actions assign = new -> assigned assign.operations = set_owner assign.permissions = TICKET_MODIFY reassign = assigned,accepted -> assigned reassign.operations = set_owner reassign.permissions = TICKET_MODIFY ; Allow correcting the ownership of a closed ticket. change_owner = closed -> closed change_owner.name = change ownership change_owner.operations = set_owner change_owner.permissions = TICKET_MODIFY unassign = assigned,accepted -> new unassign.operations = del_owner unassign.permissions = TICKET_MODIFY ; leave actions leave = * -> * leave.operations = leave_status leave.default = 1 dup = new,assigned,accepted,reopened,needinfo,needinfo_new,needsreview -> closed dup.name = Set dup.operations = set_resolution,xref dup.set_resolution = duplicate dup.xref = Ticket %s has been marked as a duplicate of this ticket. dup.xref_local = Resolved as duplicate of %s. ; resolve actions - this is supposed to only be used for needsreview, but hey. resolve = new,assigned,accepted,reopened,needinfo,needinfo_new,needsreview -> closed resolve.operations = set_resolution resolve.permissions = TRAC_ADMIN ; reopen actions reopen = closed -> new reopen.operations = del_resolution reopen.permissions = TICKET_CREATE ; request info actions ; For tickets with an owner, they go back to assigned requestinfo = assigned,accepted -> infoneeded requestinfo.name = Request information requestinfo.permissions = TICKET_MODIFY provideinfo = infoneeded -> assigned provideinfo.name = Provide information provideinfo.permissions = TICKET_MODIFY provideinfo.default = 2 ; But tickets without an owner go back to new. requestinfo_new = new -> infoneeded_new requestinfo_new.name = Request information requestinfo_new.permissions = TICKET_MODIFY provideinfo_new = infoneeded_new -> new provideinfo_new.name = provide info provideinfo_new.permissions = TICKET_MODIFY provideinfo_new.default = 2 ; needsreview actions submit = assigned,accepted -> needsreview submit.name = Submit for review submit.permissions = TICKET_MODIFY reject = needsreview -> assigned reject.name = Reject and send back for more work reject.permissions = TICKET_MODIFY reject.default = 2 approve = needsreview -> closed approve.name = Approve approve.operations = set_resolution approve.set_resolution = fixed approve.permissions = TICKET_MODIFY approve.default = 2
Changes in the above from the original that we stole
Original source, as noted, is opensource-workflow.ini, but we've been tweaking it to our own needs.
- Modified trac so tickets in *any* state can be closed by admins, obviating the assigned -> needs review -> closed three-step that often happens when tickets are resolved without anyone even formally accepting it.
Resources
http://trac.edgewall.org/wiki/WorkFlow
See also, in any trac install: wiki/TracIni
Searched words:
trac workflow for small teams
Comments
Post new comment