wiki:TicketCreateButtonsPlugin

Create new tickets from an existing ticket

Description

This plugin adds configurable buttons in the ticket header to create related tickets. The new ticket can inherit field values from the current ticket.

Bugs/Feature Requests

Existing bugs and feature requests for TicketCreateButtonsPlugin are here.

If you have any issues, create a new ticket.

defect

0 / 1

task

2 / 2

Download

Download the zipped source from here.

Source

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

Installation

Notes:

  1. Below instructions could be specific to some operating systems. Please help expanding these instructions.
  2. Generic installation guidelines are available at TracPlugins.
  3. The use of [sudo] is optional when you already have authorisation to modify your server settings.

Installation steps:

  1. Install plugin:
    • with easy_install, globally:
      [sudo] easy_install https://trac-hacks.org/svn/ticketcreatebuttonsplugin
      
      • You might be required to select a specific tag, branch. Defaults to select from trunk

  2. Enable this component as follows:
    • by updating trac.ini file under appropriate configuration section:
      [components]
      ...
      ticketcreatebuttons.* = enabled
      ...
      
    • or accessing your Admin panel under selected Trac environment ..admin/general/plugins .

  3. Configure Trac environment as follows:
    • by updating trac.ini file under appropriate configuration section:
      1. case using this plugin with SubticketsPlugin
        [ticket-create-buttons]
        parents.tag = .//td[@headers="h_parents"]
        parents.label = Create
        parents.title = Create a new sibling
        parents.inherit = type, milestone, parents
        
    • or accessing your Admin panel under selected Trac environment ..admin/general/plugins.

  4. Restart web server:
    • Apache on Ubuntu, example command line:
      [sudo] /etc/init.d/apache2 restart
      

  5. Test if this component is working properly, ie the main environment and any secondary ones.
    1. If the plugin is installed correctly, the configuration you have made should reflect on these tickets.

Configuration

Under the appropriate section inside a TracIni file you can customize ticket properties as follows:

[ticket-create-buttons]
<field-name>.<argument> = value

where <field-name>.<argument> = value can be any from the below:

  • R - Required
  • O - Optional
Argument Version R / O Description Default
tag >= 0.1 R Argument to genshi.filters.Transfomer used to find the ticket form element to which the button will be prepended. Typically a custom field name.
* Example: blockedby.tag = .//td[@headers="h_blockedby"]
None
label >= 0.1 O The label for the button.
* Example: blockedby.label = Create
<field-name>
title >= 0.1 O The HTML title element used as a tool tip for the button.
* Example: blockedby.title = Create predecessor
None
inherit >= 0.1 O Comma-separated list of fields whose values should be inherited from the current ticket. If present but blank, no fields are inherited.
* Example: blockedby.inherit = type, milestone
No fields are inherited.
link >= 0.1 O Comma-separated list of newfield:currentfield pairs used to link the two tickets. The link field override inherit field.
* Example: blockedby.link = blocking:id sets the new ticket's blockedby field to the current tickets id.
None
set >= 0.1 O Comma-separated list of field:value pairs for setting values in the new ticket. The set field override inherit and link fields.
* Example: set = keywords:Foo sets the new ticket's keywords field to Foo.
None

Sample configurations

  1. Example: Using this plugin with MasterTicketsPlugin, the following configuration creates buttons to create predecessor and successor tickets:
    [ticket-create-buttons]
    blockedby.tag = .//td[@headers="h_blockedby"]
    blockedby.label = Create
    blockedby.title = Create a new predecessor
    blockedby.inherit = type, milestone
    blockedby.link = blocking:id
    
    blocking.tag = .//td[@headers="h_blocking"]
    blocking.label = Create
    blocking.title = Create a new successor
    blocking.inherit = type, milestone
    blocking.link = blockedby:id
    
  2. Example: When used with SubticketsPlugin, new siblings can be created with:
    [ticket-create-buttons]
    parents.tag = .//td[@headers="h_parents"]
    parents.label = Create
    parents.title = Create a new sibling
    parents.inherit = type, milestone, parents
    

Recent Changes

14013 by rjollos on 2014-07-23 19:27:52
Added COPYING file and author email. Refs #11871.
14011 by rjollos on 2014-07-23 16:51:36
Added 3-Clause BSD license, with permission of author. Fixes #11871.
14002 by rjollos on 2014-07-11 20:58:28
Fixed rendering of example on plugin admin page.
(more)

Author/Contributors

Author: ChrisNelson
Maintainer: Chris Nelson
Contributors:

Last modified 6 years ago Last modified on May 5, 2018, 10:50:10 AM