EscalateTicketOnAction

From Request Tracker Wiki
Jump to navigation Jump to search

Rather than using rt-escalate for escalation, we just operate on the assumption that a ticket that gets worked upon is more important than a ticket that doesn't. Thus the tickets that are currently getting the most effort will float to the top. In our organization, we use this Scrip action to bump the priority of a ticket every time a comment or reply is made on that ticket.

Escalation Scrip

To set it up,

1. Create a new Scrip.
2. Set the condition, we created two different Scrips, one with "On Correspond" and one with "On Comment"
3. Set Action to "User Defined"
4. Set Template to "Global: Blank Template"
5. Leave Stage at "TransactionCreate"
6. In "Custom condition" just put "return 1;", though this should be ignored.
7. In "Custom action prepration code" also put "return 1;"
8. In "Custom action cleanup code" put:

$self->TicketObj->SetPriority($self->TicketObj->Priority + 1)
    if $self->TicketObj->Priority < $self->TicketObj->FinalPriority;
return 1;

That's it. Now, whenever a comment or reply is made on a ticket and the Priority is less than the Final Priority, the Priority will be bumped by one point. We then have a set of priority ranges to indicate when a ticket is low (e.g. 40 - 49), medium (e.g. 50 - 69), or high (70 - 79) priority. Within these ranges the tickets will be bumped up to the maximum set within the range (usually *5) and then the owner can use the remaining upper range for an additional bump.