https://rt-wiki.bestpractical.com/index.php?title=ConfigureEscalation&feed=atom&action=historyConfigureEscalation - Revision history2024-03-29T12:57:43ZRevision history for this page on the wikiMediaWiki 1.37.2https://rt-wiki.bestpractical.com/index.php?title=ConfigureEscalation&diff=26432&oldid=prevSingular error at 21:35, 11 November 20162016-11-11T21:35:20Z<p></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 17:35, 11 November 2016</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l29">Line 29:</td>
<td colspan="2" class="diff-lineno">Line 29:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== How to use this ==</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== How to use this ==</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"># </del>The [[EscalatePriority]] module is pre-installed with RT.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">1. </ins>The [[EscalatePriority]] module is pre-installed with RT.</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"># </del>[[EscalatePriorityLinear]].pm can be copied to <code>local/lib/RT/Action/</code>. If you scrape it off the web, make sure to remove leading space from all of the POD lines (beginning with the = sign), and confirm that it compiles with [=perl -c [[EscalatePriorityLinear]].pm].</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">2. </ins>[[EscalatePriorityLinear]].pm can be copied to <code>local/lib/RT/Action/</code>. If you scrape it off the web, make sure to remove leading space from all of the POD lines (beginning with the = sign), and confirm that it compiles with [=perl -c [[EscalatePriorityLinear]].pm].</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"># </del>Setup the starting priority, final priority and default due date for a queue in the [[QueueProperties]] configuration, and/or let users adjust final priority and due date on individual tickets.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">3. </ins>Setup the starting priority, final priority and default due date for a queue in the [[QueueProperties]] configuration, and/or let users adjust final priority and due date on individual tickets.</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"># </del>Setup cron to call rt-crontool once every 24 hours. It is easy to set up escalation to be queue-specific or based on any TicketSQL conditions you want. This [[ConfigureEscalationExample]] is a wrapper script that escalates priority for all queues. Here is [[AnotherConfigurationEscalationExample]].</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">4. </ins>Setup cron to call rt-crontool once every 24 hours. It is easy to set up escalation to be queue-specific or based on any TicketSQL conditions you want. This [[ConfigureEscalationExample]] is a wrapper script that escalates priority for all queues. Here is [[AnotherConfigurationEscalationExample]].</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"># </del>Set [[ShowTicket]] and [[ModifyTicket]] Global permissions for the cron account.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">5. </ins>Set [[ShowTicket]] and [[ModifyTicket]] Global permissions for the cron account.</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"># </del>Verify that escalation is working.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">6. </ins>Verify that escalation is working.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Note: One additional use of escalation, is to send email reminders, using a script such as [http://www.cs.kent.ac.uk/people/staff/tdb/rt3/ rt-remind].</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Note: One additional use of escalation, is to send email reminders, using a script such as [http://www.cs.kent.ac.uk/people/staff/tdb/rt3/ rt-remind].</div></td></tr>
<!-- diff cache key bestpractical_mediawiki1459887241:diff::1.12:old-569:rev-26432 -->
</table>Singular errorhttps://rt-wiki.bestpractical.com/index.php?title=ConfigureEscalation&diff=569&oldid=prevAdmin: 2 revisions imported2016-04-06T20:03:26Z<p>2 revisions imported</p>
<p><b>New page</b></p><div>== A quick background on escalation ==<br />
<br />
A ticket is escalated by the RT::Action::[[EscalatePriority]] module or unofficial RT::Action::[[EscalatePriorityLinear]] module. Either module must be invoked by an escalation tool, such as the included [[UseRtCrontool|$RTHOME/bin/rt-crontool]].<br />
<br />
[[EscalatePriority]] uses the following formula to change a ticket's priority:<br />
<br />
Priority = Priority + (( FinalPriority - Priority ) / ( DueDate-Today))<br />
<br />
<br />
... unless the due date is in the past, in which case the priority is bumped straight to the final priority. In this way, the priority of the ticket is either increased or decreased toward the final priority as the ticket heads toward its due date.<br />
<br />
... unless the due date is not set, in which case the priority is incremented or decremented by 1 towards the final priority.<br />
<br />
[[EscalatePriorityLinear]] uses the following formula to change a ticket's priority:<br />
<br />
Priority = FinalPriority * (Now-Starts) / (DueDate-Starts)<br />
<br />
<br />
... unless the due date is in the past, in which case priority gets bumped straight to final priority. Unlike RT::Action::[[EscalatePriority]], priority is not decreased if it's above [[FinalPriority]].<br />
<br />
== Caveats ==<br />
<br />
* For the [[EscalatePriority]] module, priority does not change gradually in proportion with the amount of time passed. Instead, all of the change occurs in the last X days of the ticket, where X is the priority difference. This makes this module not very useful 1) for very long-term tickets such as might be used to guide software development or other project management, and 2) for situations where you use a small priority range (e.g. 0-5 or 0-20).<br />
<br />
* For the [[EscalatePriorityLinear]] module, the initial priority is ignored and assumed to be zero.<br />
<br />
* If final priorities and/or due dates have been experimentally or carelessly assigned to tickets prior to implementing escalation, you may be surprised to see priorities on these tickets changing when you turn on escalation. This is especially annoying if users have innocently assigned a due date without adding a final priority, because the priority will "escalate" to zero. You can tune your invocation of rt-crontool to avoid this problem.<br />
<br />
== How to use this ==<br />
<br />
# The [[EscalatePriority]] module is pre-installed with RT.<br />
# [[EscalatePriorityLinear]].pm can be copied to <code>local/lib/RT/Action/</code>. If you scrape it off the web, make sure to remove leading space from all of the POD lines (beginning with the = sign), and confirm that it compiles with [=perl -c [[EscalatePriorityLinear]].pm].<br />
# Setup the starting priority, final priority and default due date for a queue in the [[QueueProperties]] configuration, and/or let users adjust final priority and due date on individual tickets.<br />
# Setup cron to call rt-crontool once every 24 hours. It is easy to set up escalation to be queue-specific or based on any TicketSQL conditions you want. This [[ConfigureEscalationExample]] is a wrapper script that escalates priority for all queues. Here is [[AnotherConfigurationEscalationExample]].<br />
# Set [[ShowTicket]] and [[ModifyTicket]] Global permissions for the cron account.<br />
# Verify that escalation is working.<br />
<br />
Note: One additional use of escalation, is to send email reminders, using a script such as [http://www.cs.kent.ac.uk/people/staff/tdb/rt3/ rt-remind].</div>Admin