[[PageOutline(2-5,Contents,pullout)]] = Respond with canned responses to new tickets == Description This plugin allows a Trac administrator to specify a list of "Canned Responses" for those with the appropriate permissions to use in responding to tickets. Each canned response can change the status of a ticket, as well as modify the resolution and add a comment. Each response can also be restricted to users with specific permissions. For example, you may wish to have a response that only users with `TICKET_ADMIN` permissions can use and another which anyone with `TICKET_MODIFY` or greater permissions can use. Canned responses will appear as an option in the Action box at the bottom of a ticket for those with the permissions to use any of the available canned responses. == Bugs/Feature Requests Existing bugs and feature requests for CannedResponsesPlugin are [report:9?COMPONENT=CannedResponsesPlugin here]. If you have any issues, create a [/newticket?component=CannedResponsesPlugin new ticket]. [[TicketQuery(component=CannedResponsesPlugin&group=type,format=progress)]] == Source You can check out CannedResponsesPlugin from [/svn/cannedresponsesplugin here] using Subversion, or [source:cannedresponsesplugin browse the source] with Trac. == Installation General instructions on installing Trac plugins can be found on the [TracPlugins#InstallingaTracplugin TracPlugins] page. Enable the plugin by adding the following to your `trac.ini` file: {{{#!ini [components] cannedresponses.* = enabled }}} Append the action controller to the `workflow` list: {{{#!ini [ticket] workflow = ConfigurableTicketWorkflow, CannedResponseActionController }}} == Configuration To add canned responses, choose a short name, then add attributes like so: {{{#!ini [canned-responses] pluginreq = new,pending -> new pluginreq.comment = This request is best implemented as a plugin. This ticket remains open as an invitation for someone to write a plugin fulfilling the request. pluginreq.milestone = Plugin Suggested pluginreq.type = plugin request pluginreq.name = Better As Plugin pluginreq.permissions = TICKET_MODIFY }}} The above example creates a canned response that sets a ticket to the closed status, sets the resolution to invalid, and adds the stated comment. The canned response is available to any user with at least `TICKET_MODIFY` permissions, including `TICKET_ADMIN` and `TRAC_ADMIN`. Notes: * The line `pluginreq = new,pending -> new` specifies, as a comma-delimited list, the statuses a ticket may have for using this canned response and the status the ticket will be set to. This can be any status a ticket can have. * The 'name' attribute provides a "pretty name" for users to see in the list of canned responses. * The 'comment' attribute specifies, in WikiFormatting, the text of the comment to be added. Anything inserted into the comment field at the same time as applying a canned response will be retained and placed after the canned response, with a `[[BR]]` between the canned response text and the user's comment text. * The 'resolution' attribute specifies the resolution to use on the ticket when closing. * The 'permissions' attribute specifies the minimum level of permissions required to see and use the response. * The 'milestone' attribute (new in plugin version 0.11.1) allows you to specify the milestone to change the ticket to. * The 'type' attribute (new in plugin version 0.11.1) allows you to specify a ticket type to change the ticket to. * Be careful with spelling, as there is no validation. If you make a spelling mistake, you could cause a Python exception or cause tickets to be set to statuses, resolutions, types, or milestones that don't exist. == Recent Changes [[ChangeLog(cannedresponsesplugin, 3)]] == Author/Contributors '''Author:''' Daniel Atallah [[BR]] '''Maintainer:''' [[Maintainer]] [[BR]] '''Contributors:'''