Version 3 (modified by Jeff Hammel, 8 years ago) (diff)


provide custom fields programmatically


The CustomFieldProviderPlugin provides an extension point that is used to populate custom fields programmatically. Plugins may implement the ICustomFieldProvider interface and have their custom ticket fields registered.

Bugs/Feature Requests

Existing bugs and feature requests for CustomFieldProviderPlugin are here.

If you have any issues, create a new ticket.


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


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


See the SampleCustomFieldProvider in for an example. Documentation on how to use the interface is in

interface to programatically provide custom ticket fields
from trac.core import Interface
class ICustomFieldProvider(Interface):
    def fields():
        should return a dictionary of dictionaries describing the custom
        fields.  The primary key should be the field name.  The secondary keys
        should be the options and the secondary values should be field values
        { 'mycustomfield': { 'type': 'radio',
                             'label': 'My Custom Field',
                             'options': ['foo', 'bar', 'baz']} }
        'type' == 'text' is assumed if not provided
        for defined semantics

Recent Changes

5526 by k0s on 2009-04-16 18:55:59
add license information
5525 by k0s on 2009-04-16 18:55:10
add a link to its new home
5524 by k0s on 2009-04-16 16:42:31
  • expose the Interface
  • give a version


Originally developed at The Open Planning Project

Author: k0s