wiki:AdvancedTicketWorkflowPlugin

Version 15 (modified by retracile, 7 years ago) (diff)

--

Advanced Ticket Workflow Plugin

Description

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 zipped source, check out using Subversion, or browse the source with Trac.

Example

Enable the plugin with:

[components]
advancedworkflow.* = enabled

(or by copying the egg to the plugins directory)

Add the individual controller to the workflow controller list:

[ticket]
workflow = ConfigurableTicketWorkflow,TicketWorkflowOpOwnerReporter

(The individual controller name is listed in parenthesis after the operation name in the documentation section below.)

And use the operation in your custom workflow:

[ticket-workflow]
needinfo = * -> needinfo
needinfo.name = Need info
needinfo.operations = set_owner_to_reporter

Documentation

  • 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

[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.
[14246] by rjollos on 2014-11-11 13:30:49
Creating a new branch for a Trac 1.2-compatible version. The database API changes in Trac 1.1.2 necessitate creating a new version of the plugin that uses the Trac 1.0 and later database API.

Author/Contributors

Author: retracile
Contributors: