Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
RT::Extension::RepeatTUsertContributed Perl DocuRT::Extension::RepeatTicket(3)

       RT::Extension::RepeatTicket - Repeat tickets based on schedule

       The RepeatTicket	extension allows you to	set up recurring tickets so
       new tickets are automatically created based on a	schedule. The new
       tickets are populated with the subject and initial content of the
       original	ticket in the recurrence.

       After you activate the plugin by	adding it to your
       file, all tickets will have a Recurrence	tab on the create and edit
       pages. To set up	a repeating ticket, click the checkbox to "Enable
       Recurrence" and fill out	the schedule for the new tickets.

       New tickets are created when you	initially save the recurrence, if new
       tickets are needed, and when your daily cron job	runs the rt-repeat-
       ticket script.

       "perl Makefile.PL"
       "make install"
	   May need root permissions

       "make initdb"
	   Only	run this the first time	you install this module.

	   If you run this twice, you may end up with duplicate	data in	your

	   If you are upgrading	this module, check for upgrading instructions
	   in case changes need	to be made to your database.

       Edit your /opt/rt4/etc/
	   If you are using RT 4.2 or greater, add this	line:


	   For RT 4.0, add this	line:

	       Set(@Plugins, qw(RT::Extension::RepeatTicket));

	   or add "RT::Extension::RepeatTicket"	to your	existing @Plugins

       Clear your mason	cache
	       rm -rf /opt/rt4/var/mason_data/obj

       Add bin/rt-repeat-ticket	to the daily cron job.
       Restart your webserver

       The $RepeatTicketCoexistentNumber determines how	many tickets can be in
       an active status	for a recurrence at any	time. A	value of 1 means one
       ticket at a time	can be active.	New tickets will not be	created	until
       the current active ticket is resolved or	set to some other inactive
       status. You can also set	this value per recurrence, overriding this
       config value.  The extension default is 1 ticket.

       The $RepeatTicketLeadTime becomes the ticket Starts value and sets how
       far in advance of a ticket's Due	date you want the ticket to be
       created.	This essentially is how	long you want to give people to	work
       on the ticket.

       For example, if you create a weekly recurrence scheduled	on Mondays and
       set the lead time to 7 days, each Monday	a ticket will be created with
       the Starts date set to that Monday and a	Due date of the	following

       The value you set in becomes the system	default, but
       you can set this	value on each ticket as	well. The extension default is
       14 days.

       By default, repeated tickets will have the same subject as the original
       ticket. You can modify this subject by setting a	format with the
       $RepeatTicketSubjectFormat option. This option accepts formats in the
       same form as formats for	RT searches. The placeholders take values from
       the repeated ticket, not	the original ticket, so	you can	use the	format
       to help differentiate the subjects in repeated tickets.

       For example, if you wanted to put the due date in the subject, you
       could set the format to:

	   Set($RepeatTicketSubjectFormat, '__Due__ __Subject__');

       You'll want to use values that you don't	expect to change since the
       subject won't change if the ticket value	(e.g., Due) is changed.

       Since this uses RT formats, you can create a custom format by creating
       a new RT	ColumnMap. You can see the available formats by	looking	at the
       columns available in the	Display	Columns	portlet	on the RT ticket
       search page.

       The rt-repeat-ticket utility evaluates all of your repeating tickets
       and creates any new tickets that	are needed. With no parameters,	it
       runs for	"today"	each day. You can also pass a --date value in the form
       YYYY-MM-DD to run the script for	a specific day.

	   bin/rt-repeat-ticket	--date 2012-07-25

       This can	be handy if your cron job doesn't run for some reason and you
       want to make sure no repeating tickets have been	missed.	Just go	back
       and run the script for the days you missed. You can also	pass dates in
       the future which	might be handy if you want to experiment with
       recurrences in a	test environment.

   Initial Tickets
       The initial ticket you create for a recurrence stores the schedule and
       other details for the recurrence.  If you need to change	the recurrence
       in the future, to make it more frequent or less frequent	or anything
       else, make the changes on the original ticket.  To help you find	this
       initial ticket, which may have been resolved long ago, a	custom field
       is created on each ticket in the	recurrence with	link called "Original

       When setting up the recurrence, you can use the original	ticket as an
       actual work ticket. When	doing this, you'll need	to set the Starts and
       Due dates when you create the ticket. Scheduled tickets created
       subsequently will set these values based	on the recurrence. Resolving
       the original ticket does	not cancel the recurrence.

   Start Value
       You can set a Start date	for a new recurrence. If you don't, it
       defaults	to the day you create the recurrence.

   Cancelling Recurrences
       You can cancel or end a recurrence in two ways:

       o   Go to the original ticket in	the recurrence and uncheck the Enable
	   Recurrence checkbox.

       o   Set ending conditions on the	recurrence with	either a set number of
	   recurrences or an end date.

   Recursive Recurrences
       Creating	recurrences on recurrences isn't supported and may do strange

       I'm not seeing new recurrences. Why not?
	   A few things	to check:

	   o   Do you have rt-repeat-tickets scheduled in cron?	Is it running?

	   o   Do you have previous tickets still in an	active state? Resolve
	       those tickets or	increase the concurrent	active tickets value.

	   o   Is it the right day? Remember to	subtract the lead time value
	       to determine the	day new	tickets	should be created.

	   o   If you set a start date and another criteria like day of	the
	       week, the new ticket will be created on the first time that day
	       of the week occurs after	the start date you set (if the start
	       date isn't on that day of the week).

       I want to enable	the repeat function only on some queues
	   To do this, insetad of applying the "Original Ticket" custom	field
	   globally, you can apply it to the chosen queues and that's it.

       some users can't	see or use this	feature	successfully.
	   Make	sure those users have "SeeCustomField" and "ModifyCusotmField"
	   rights granted for "Original	Ticket"	custom field.

   Run(	RT::Attribute $attr, DateTime $checkday	)
       Repeat the ticket if $checkday meets the	repeat settings.  It also
       tries to	repeat more to meet config "RepeatTicketCoexistentNumber".

       Return ids of new created tickets.

   Repeat ( RT::Attribute $attr, DateTime $checkday_1, DateTime	$checkday_2,
       ... )
       Repeat the ticket for the check days that meet repeat settings.

       Return ids of new created tickets.

   MaybeRepeatMore ( RT::Attribute $attr )
       Try to repeat more tickets to meet the coexistent ticket	number.

       Return ids of new created tickets.

   SetRepeatAttribute (	RT::Ticket $ticket, %args )
       Save %args to the ticket's "RepeatTicketSettings" attribute.

       Return (	RT::Attribute, UPDATE MESSAGE )

       Best Practical Solutions, LLC <>

       All bugs	should be reported via email to


       or via the web at


       This software is	Copyright (c) 2014 by Best Practical Solutions

       This is free software, licensed under:

	 The GNU General Public	License, Version 2, June 1991

perl v5.32.1			  2017-11-07	RT::Extension::RepeatTicket(3)


Want to link to this manual page? Use this URL:

home | help