Scheduled Ticket Creation in RT

Do you have tasks that you track in RT and happen on a regular schedule? Maybe you want someone to review all the newly created articles once every two weeks or once each month you need people to update the hardware inventory. With RT::Extension::RepeatTicket, you can now you can set up that schedule and automatically create the tickets in RT.

After you install and activate the extension, a new Recurrence portlet appears on existing tickets and for newly created tickets. You can use this to enable a recurrence based on the current ticket and set a schedule for creating future tickets in the recurrence. The scheduling options are similar to what you see in most calendaring applications. The dates you pick become the due dates for the created tickets.


In addition to the scheduling details, you'll see some other options including ticket lead time and concurrent active tickets. The lead time value allows you to control how much advanced notice the ticket owner should get. People don't want a whole list of tickets in their active ticket list, but they also don't want to get a task the day it is due. The lead time sets the number of days before the due date the ticket will be created.

On many tasks you won't want people to miss the due date, but if they do, you don't also need them to then do the task twice to catch up. You need them to do it and resolve the ticket (and try to do it by the due date next time). The concurrent active tickets value helps you avoid piling on more tickets for a recurrence if previous tickets haven't been resolved.

You can also stack tasks end-to-end and create the next new ticket some time interval after the previous task is resolved. Just select "Create new task X days after each task is completed".

Much like a meeting, sometimes you need to update the criteria for the recurrence. Maybe you need the due date to be on Tuesdays rather than Thursdays. The recurrence data itself is stored on the original ticket you use to create the recurrence. Each ticket automatically created from the recurrence has a custom field called Original Ticket. This stores the ticket id of the ticket with the recurrence data. To change the recurrence, just click the id link back to the original ticket, even if it's resolved, and update the details. The new schedule will be applied for all new tickets in the recurrence.

As part of the configuration, you'll set up a cron job to run the rt-repeat-ticket script provided with the extension. By default, the script runs for the current day, creating any necessary new tickets based on the configured recurrences. However, you can also pass it a date to run for. This can be handy if you want to experiment with scheduling something a several months out but don't want to wait that long to test the recurrence settings.

This extension has a lot of options and it can be a little tricky getting recurrences set up to create tickets just the way you want. But once you understand the various options, we hope you'll find it does what you need.

As always, bug reports or comments are welcome at, pull requests via github.

Share this post: