iCalendar plugin for ticket queries


This plugin provides iCalendar feeds for ticket queries as standard roadmap module. It uses 2 optional custom fields: event date and duration.

With this plugin you can add a iCalendar link in the ticket's queries footer. A current limitation of this plugin is that the calendar is read only.

There is no configuration needed to start using the plugin. Without start date and duration, tickets can use the due date of associated milestone. To plan tickets the date and duration fields must be set in your trac.ini file.

Setup custom fields for date and duration

To transform a ticket to an event, we need at least one date. Trac only provides a creation date or an update date. So we need a planned date by adding a custom field, and set this new field as the dtstart field for events in (see RFC/2445).

Sample trac.ini file:

my_custom_dtstart_field = text
my_custom_dtstart_field.label = Planned Date

dtstart = my_custom_dtstart_field

We also need a duration field:

my_custom_duration_field = text
my_custom_duration_field.label = Duration

duration = my_custom_duration_field

Date and duration input format

Default input date format are:

  • "'%m/%d/%Y" (month/day/year) for strict date.
  • "%m/%d/%Y %H:%M" for date and time.

To customize this format, use the "short_date_format" and "date_time_format" configuration options:

short_date_format = %d/%m/%Y
date_time_format = %d/%m/%Y %H:%M

To support multiple formats, use a ';' to separate them:

short_date_format = %d/%m/%Y;%Y-%m-%d
date_time_format = %d/%m/%Y %H:%M;%Y-%m-%d %H:%M

Duration field supports the following syntaxes:

  • Standard hours:minutes format: H:MM, examples: "8:45", "12:30".
  • A number of days ending by a 'd', example: 15d.
  • Standard RFC/2445 duration beginning with a "P": "P1W" "P1D".

Some tips:

  • Tickets with a planned date and no duration are planned as a day event.
  • Tickets without a planned date are transformed as TODO. For tickets attached to a milestone, the due date of the milestone is used as TODO due date (since 0.2).


iCalendar supports the priority tags, but uses an integer from 1 (highest) to 9 (lowest). So we need a map to transform Trac priorities to integer. The plugin integrates a default mapping:

'blocker': 1
'critical': 2
'major': 6
'minor': 8
'trivial': 9

You can customise the mapping and adding other values with the configuration option 'custom_priority_map':

custom_priority_map = major:3;lessmajor:4;lessmajorbutnotminor:5;crazy:1;undefined:0

Bugs/Feature Requests

Existing bugs and feature requests for IcalViewPlugin are here.

If you have any issues, create a new ticket.


5 / 6


0 / 1


Download the zipped source from here.


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


General instructions on installing Trac plugins can be found on the TracPlugins page.

Release notes


  • Adding description of tickets (#6323 thanks to clown for the patch). We do not yet filter Wiki tags from description, I hope to fix it in a future release.

Resolve some problems:

  • Fix #6325 : charset bug which can stop installation (thanks to clown for the patch)
  • Fix #6322 : bug with user defined priority (thanks to clown for the patch)


  • Better support for timezone.


  • Adding support for milestone due date for tickets without not planned.


  • Initial release

Recent Changes

7253 by xpech on 2009-12-14 09:34:46
commit error
7252 by xpech on 2009-12-14 09:33:36
Fix #6323: best multi-line description support
7251 by xpech on 2009-12-14 09:12:16
Fix #6323: best multi-line description support


Author: xpech
Maintainer: Xavier Pechoultres

Last modified 7 years ago Last modified on Nov 28, 2016, 10:58:51 PM