Version 14 (modified by retracile, 8 years ago) (diff)


Advanced Ticket Workflow Plugin


AdvancedTicketWorkflowPlugin provides a number of advanced operations for customizable workflows that are similar to the operations provided in the customizeable workflow of the core system.

Currently provided operations are:

  • set_owner_to_reporter
  • set_owner_to_component_owner
  • set_owner_to_field
  • set_owner_to_previous
  • set_status_to_previous
  • run_external
  • triage

(File requests for additional operations as enhancement tickets.)

Bugs/Feature Requests

Existing bugs and feature requests for AdvancedTicketWorkflowPlugin are here.

If you have any issues, create a new ticket.

Download and Source

Download the [download:advancedticketworkflowplugin zipped source], check out using Subversion, or browse the source with Trac.


Enable the plugin with:

advancedworkflow.* = enabled

(or by copying the egg to the plugins directory)

Add the individual controller to the workflow controller list:

workflow = ConfigurableTicketWorkflow,TicketWorkflowOpOwnerReporter

And use the operation in your custom workflow:

needinfo = * -> needinfo = Need info
needinfo.operations = set_owner_to_reporter


  • set_owner_to_reporter (TicketWorkflowOpOwnerReporter)

Sets the owner to the ticket reporter.

<someaction>.operations = set_owner_to_reporter
  • set_owner_to_component_owner (TicketWorkflowOpOwnerComponent)

Sets the owner to the ticket's component owner.

<someaction>.operations = set_owner_to_component_owner
  • set_owner_to_field (TicketWorkflowOpOwnerField)

Sets the owner to the value of a ticket field.

<someaction>.operations = set_owner_to_field
<someaction>.set_owner_to_field = mycustomfield
  • set_owner_to_previous (TicketWorkflowOpOwnerPrevious)

Sets the owner to the previous owner. If there is no previous owner, the owner will be deleted.

<someaction>.operations = set_owner_to_previous
  • set_status_to_previous (TicketWorkflowOpStatusPrevious)

Sets the status to the previous status. If there is no previous status, this is a no-op.

<someaction>.operations = set_owner_to_previous
  • run_external (TicketWorkflowOpRunExternal)

Runs an external script <tracenv>/hooks/<someaction> passing the ticket number and the username as parameters. Security warning: If you have account registration available, your hook script must treat the username as user input.

<someaction>.operations = run_external
<someaction>.run_external = Hint to tell the user.
  • triage (TicketWorkflowOpTriage)

Sets the next status based on mapping the value of a field to a status value. For example, this can be used for a "triage" action that splits a workflow based on the ticket type.

<someaction> = somestatus -> *
<someaction>.operations = triage
<someaction>.triage_field = type
<someaction>.traige_split = defect->new_defect,task->new_task,enhancement->new_enhancement

Recent Changes

15077 by rjollos on 2015-11-28 07:29:41
Remove tag_svn_revision from setup.cfg

The attribute isn't supported in setuptools >= 10.

14328 by rjollos on 2014-12-15 00:07:00
1.2.0dev: Queries use Trac 1.0 database API.
14247 by rjollos on 2014-11-11 14:03:34
1.2.0dev: PEP-0008 and Trac coding style changes.


Author: retracile