Version 58 (modified by CuriousCurmudgeon, 6 years ago) (diff)

Removed outdated note about the config options only being on the trunk.

Batch modification of tickets


Allows users to modify several tickets together in one shot.

Bugs/Feature Requests

Existing bugs and feature requests for BatchModifyPlugin are here. When submitting a new bug report, including the following will greatly increase the odds of your bug getting fixed:

  • Browser version
  • Browser plugins
  • Trac version
  • Trac plugins
  • Any stack trace you received.

If you have any issues, create a new ticket.


There is a proposal page on the official Trac wiki for incorporating batch modification functionality into Trac. Feel free to contribute at

Future Releases

  • 0.7: Updated UI to more closely match how custom query filters are added. (#7303)


Note: Python 2.4 eggs are not provided simply because I do not have it installed on my machine. If you build a 2.4 egg for a release feel free to cook one up and send to me. I will add it to repository and the download list.


Please see the CHANGELOG for details on each release. Older releases can be found in the tags directory for Trac versions 0.11 and 0.12.

Download the zipped trunk from [download:batchmodifyplugin here].


Simply drop the egg in the plugins directory and enable through the admin UI. There is also an unofficial Debian package for Trac 0.11.


Batch modification of tickets requires the TICKET_BATCH_MODIFY permission. If a user does not have this permission, the plugin behaves like the default "Custom Query" module.

permission add ashwin_phatak TICKET_BATCH_MODIFY


You can set the following options in Trac.ini under [batchmod]. (default in parentheses)

  • fields_as_list (keywords): Sets the fields that will be treated as a list of items.
  • list_separator_regex ([,\s]+): The regex that defines the separator between items in a field that is treated as a list. By default they are separated by any whitespace character or a comma.
  • list_connector_string (,): The character that is used as the separator between items in a list after processing. For example, by default if you enter the keywords "foo bar", they will be added to the ticket as "foo, bar". Notice the comma instead of the space.


  • To modify a set a tickets just check the box next to each ticket in your query results you wish to modify. Then select each field you want to change in the batch modify section underneath the query results.
  • To add keywords simply include them in the modifications, separated by any whitespace character or comma be default. You can change this separator in trac.ini. If a keyword already exists on a ticket it will not be duplicated.
  • To remove keywords simply prefix them with "-". For example, to remove the "foo" keyword from all selected tickets, you would put "-foo" in the keywords field. (Note: This feature is currently not released. If you need it, please build from the trunk.)


Q: Checkboxes don't appear next to tickets for me!
A: There was a bug with Trac prior to 0.11.6 that prevented the checkboxes from being added. Some people also have path problems that prevent JQuery from being loaded. See #6466 for details.

Q: This plugin lets me put tickets into a nonsensical state!
A: The way the plugin handles ticket statuses and and resolutions isn't very good. Setting a status to closed does not actually close the ticket. You must also set the resolution. This will be fixed in a future release. Patches are always welcome though.


Screenshot of 0.4.1


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

Recent Changes

11791 by rjollos on 2012-07-26 02:39:29

Fixed #8488: (0.8.1dev)

  • Removed the border around the collapsed fieldset of 'Batch Modify' so that it displays like Trac's 'Filters' and 'Columns'.
11777 by rjollos on 2012-07-25 09:46:39
1.0.0: Add setup.cfg
10978 by rjollos on 2011-12-01 11:45:12
Added plugin revision info to webadmin page.


Author: ashwin_phatak
Maintainer: CuriousCurmudgeon

Attachments (5)

Download all attachments as: .zip