From Request Tracker Wiki
Revision as of 16:14, 6 April 2016 by Admin (talk | contribs) (3 revisions imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

RT::Action::LinearEscalate - will move a ticket's priority toward its final priority.

This vs. RT::Action::EscalatePriority

This action doesn’t change priority if due date is not set.

This action honors the Start date.

This action can apply changes silently.

This action can replace EscalatePriority completely. If you want to tickets that have been created without Due date then you can add a scrip that sets default due date. For example, a week then priorities of your tickets will escalate linearly during the week from intial value towards final.

This vs. LinearEscalate from the CPAN

This action is an integration of the module from the CPAN into RT’s core that’s happened in RT 3.8. If you’re upgrading from 3.6 and have been using module from the CPAN with old version of RT then you should uninstall it and use this one.

However, this action doesn’t support control over config. Read </CONFIGURATION> to find out ways to deal with it.


LinearEscalate is a ScripAction that will move a ticket’s priority from its initial priority to its final priority linearly as the ticket approaches its due date.

It’s intended to be called by an RT escalation tool. One such tool is called rt-crontool and is located in $RTHOME/bin (see "rt-crontool -h" for more details).


Once the ScripAction is installed, the following script in "cron" will get tickets to where they need to be:

rt-crontool --search RT::Search::FromSQL --search-arg \
"(Status=’new’ OR Status=’open’ OR Status = ’stalled’)" \
--action RT::Action::LinearEscalate

The Starts date is associated with intial ticket’s priority or the Created field if the former is not set. End of interval is the Due date. Tickets without due date are not updated.


Initial and Final priorities are controlled by queue’s options and can be defined using the web UI via Configuration tab. This action should handle correctly situations when initial priority is greater than final.

LinearEscalate’s behavior can be controlled by two options:

RecordTransaction - defaults to false and if option is true then causes the tool to create
a transaction on the ticket when it is escalated.

UpdateLastUpdated - which defaults to true and updates the LastUpdated field when the
ticket is escalated, otherwise don’t touch anything.

You cannot set "UpdateLastUpdated" to false unless "RecordTransaction" is also false. Well, you can, but we’ll just ignore you.

You can set this options using either in, as action argument in call to the rt-crontool or in DB if you want to use the action in scrips.

From a shell you can use the following command:

rt-crontool --search RT::Search::FromSQL --search-arg \
"(Status=’new’ OR Status=’open’ OR Status = ’stalled’)" \
--action RT::Action::LinearEscalate \
--action-arg "RecordTransaction: 1"

This ScripAction uses RT’s internal _Set or __Set calls to set ticket priority without running scrips or recording a transaction on each update, if it’s been said to.


Kevin Riggle <>

Ruslan Zakirov <>