Default and convert report dynamic variables to dropdowns

Notice: This plugin is deprecated in Trac 1.3.2 and later, which provides equivalent features:

  • Dynamic variables are autocompleted (Since 1.3.2) (#12230)
  • Default values for dynamic variables can be defined in SQL comments (Since 1.3.1) (#11837)


This plugin applies to all reports that use dynamic variables. The plugin does the following for dynamic variables whose (uppercase) name exactly matches a built-in or custom (lowercase) select field name:

  • Dynamic variables are set to default values if unset.
  • The text fields for dynamic variables are converted to dropdown lists.

JavaScript is required for the latter feature.

The only required configuration is in defining SQL reports. For example, a report for a specific milestone that also queries for a custom queue select field could be defined like this:

SELECT p.value AS __color__, AS ticket, summary, component, severity, reporter
FROM ticket t
  LEFT OUTER JOIN milestone m ON t.milestone =
  LEFT JOIN enum p ON = t.severity AND p.type = 'severity'
  LEFT OUTER JOIN ticket_custom q ON q.ticket = AND = 'queue'
WHERE q.value = '$QUEUE'
  AND milestone = '$MILESTONE'
ORDER BY m.due ASC, p.value

The result is as follows:



Completed milestones are omitted from the dropdown menu.

Bugs/Feature Requests

Existing bugs and feature requests for DynamicVariablesPlugin are here.

If you have any issues, create a new ticket.


4 / 4


1 / 1


Download the zipped source from here.


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

Installation and Configuration

  1. See TracPlugins for installation details and options. Enable the plugin through the Plugins admin page, or in your trac.ini file:
    dynvars.* = enabled
  2. (Optional) Set a [dynvars] section of field names with explicit option values:
    daysback.options = 7|30
    In the above example, daysback is not a custom ticket field, but can set a DAYSBACK dynamic variable via a dropdown list with the specified options. A [dynvars] section is not needed to configure dynamic variables that exactly match built-in or custom field names as shown in the screenshots below.
  3. Create/modify reports so that the names used for dynamic variables match the names of the select field that it corresponds to.

Recent Changes

16587 by rjollos on 2017-05-14 15:31:58
1.2.0dev: Restore argument unintentionally removed in r16586
16586 by rjollos on 2017-05-13 17:41:52
1.2.0dev: Add branch compatible with Trac 1.2
15377 by rjollos on 2016-03-01 01:15:59
0.2.0dev: Fix empty select with Trac 0.12

Patch by Jun Omae.

Fixes #12679.



Author: robguttman
Maintainer: none (deprecated)

Last modified 7 years ago Last modified on May 13, 2017, 5:43:40 PM

Attachments (2)

Download all attachments as: .zip