wiki:NewTicketLikeThisPlugin

Version 1 (modified by ejucovy, 12 years ago) (diff)

New hack NewTicketLikeThisPlugin, created by ejucovy

New Ticket Like This

Description

The NewTicketLikeThisPlugin adds a "Clone" button to existing tickets, which lets you create a new ticket whose fields derive from the original ticket if you have the appropriate permission.

It is based on the tracopt.ticket.clone.ticketclonebutton extension that ships with Trac core. Unlike that extension, the NewTicketLikeThisPlugin defines and consumes a pluggable interface for implementing custom policies to determine the way in which a new ticket is derived from the original. This allows flexible, customized business logic to be provided based on the needs and workflows of your team. Also, the NewTicketLikeThisPlugin allows you to configure the permission required to clone a ticket, whereas the core ticketclonebutton hard-codes the TICKET_ADMIN permission.

Two policies are provided by default, in the newticketlikethis.policies module:

  • SimpleTicketCloner mimics the behavior of the core tracopt.ticket.clone.ticketclonebutton extension: all fields from the original ticket are cloned, and the "summary" and "description" fields are modified to denote the ticket that they were cloned from.
  • ExcludedFieldsTicketCloner clones all fields from the original ticket with no modifications. It can also ignore certain fields entirely, based on a configuration setting, which will force the new ticket to be generated with the system's default values (or no values) for the fields that were excluded.

More complex policies might implement custom logic for deriving new ticket values based on the values of the existing ticket's fields, or use alternate cloning policies based on the ticket's type.

Bugs/Feature Requests

Existing bugs and feature requests for NewTicketLikeThisPlugin are here.

If you have any issues, create a new ticket.

Download

Download the zipped source from [download:newticketlikethisplugin here].

Source

You can check out NewTicketLikeThisPlugin from here using Subversion, or browse the source with Trac.

Example

To use the plugin, install it in your Trac environment and enable its components in trac.ini::

[components] newticketlikethis.* = enabled

By default this will add the "Clone" button to the ticket view, and will use the SimpleTicketCloner component to clone your tickets. The TICKET_ADMIN permission will be required for cloning tickets.

Recent Changes

11116 by ejucovy on 2012-01-06 15:22:05
New hack NewTicketLikeThisPlugin, created by ejucovy
(more)

Author/Contributors

Author: ejucovy
Maintainer: ejucovy
Contributors: