<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://greggsmith.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MLMarcos</id>
		<title>SDU - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://greggsmith.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MLMarcos"/>
		<link rel="alternate" type="text/html" href="http://greggsmith.net/wiki/index.php?title=Special:Contributions/MLMarcos"/>
		<updated>2026-07-29T16:53:48Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.26.1</generator>

	<entry>
		<id>http://greggsmith.net/wiki/index.php?title=Set_Priority_Based_on_Urgency_and_Impact&amp;diff=4272</id>
		<title>Set Priority Based on Urgency and Impact</title>
		<link rel="alternate" type="text/html" href="http://greggsmith.net/wiki/index.php?title=Set_Priority_Based_on_Urgency_and_Impact&amp;diff=4272"/>
				<updated>2010-12-15T12:05:33Z</updated>
		
		<summary type="html">&lt;p&gt;MLMarcos: /* Step 2. Create the trigger */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[Category:Customizations]]&lt;br /&gt;
[[Category:Incidents]]&lt;br /&gt;
[[Category:Problems]]&lt;br /&gt;
[[Category:r11]]&lt;br /&gt;
[[Category:Requests]]&lt;br /&gt;
[[Category:Schema Changes]]&lt;br /&gt;
[[Category:Spel Code]]&lt;br /&gt;
{{Global Header}}&lt;br /&gt;
{{Global Announcement}}&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
This article provides instructions for setting a ticket's priority field based on the values of it's urgency and impact fields.  &lt;br /&gt;
&lt;br /&gt;
== Procedures ==&lt;br /&gt;
=== Step 1. Create the script ===&lt;br /&gt;
A script is created as an [[.spl file]] and placed in the [[$NX_ROOT]]/site/mods/majic directory. When the Service Desk service starts, the contents of the majic directory are processed and cached. You can use any naming scheme you like for your [[.spl file]], but it is recommended that the file be preceded with a 'z' for easy identification as a custom file (eg zMyCompany.spl, zcr_scripts.spl, zMyScripts.spl).&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;cr::zmyscript(...){&lt;br /&gt;
	int z_pri;&lt;br /&gt;
        if ((urgency == 0) &amp;amp;&amp;amp; (impact == 5)) &lt;br /&gt;
            {z_pri = 5;}&lt;br /&gt;
        // priority = 4, is priority of High&lt;br /&gt;
        if (((urgency == 0) &amp;amp;&amp;amp; (impact == 4)) ||&lt;br /&gt;
            ((urgency == 0) &amp;amp;&amp;amp; (impact == 3)) ||&lt;br /&gt;
            ((urgency == 1) &amp;amp;&amp;amp; (impact == 5)) ||&lt;br /&gt;
            ((urgency == 1) &amp;amp;&amp;amp; (impact == 4)) ||&lt;br /&gt;
            ((urgency == 2) &amp;amp;&amp;amp; (impact == 5)))&lt;br /&gt;
            {z_pri = 4;}&lt;br /&gt;
        // priority =3, is priority of Medium&lt;br /&gt;
        if (((urgency == 0) &amp;amp;&amp;amp; (impact == 2)) ||&lt;br /&gt;
            ((urgency == 1) &amp;amp;&amp;amp; (impact == 3)) ||&lt;br /&gt;
            ((urgency == 1) &amp;amp;&amp;amp; (impact == 2)) ||&lt;br /&gt;
            ((urgency == 2) &amp;amp;&amp;amp; (impact == 4)) ||&lt;br /&gt;
            ((urgency == 2) &amp;amp;&amp;amp; (impact == 3)) ||&lt;br /&gt;
            ((urgency == 3) &amp;amp;&amp;amp; (impact == 5)) ||&lt;br /&gt;
            ((urgency == 3) &amp;amp;&amp;amp; (impact == 4)))&lt;br /&gt;
            {z_pri = 3;}&lt;br /&gt;
        // priority = 2, is priority of Low&lt;br /&gt;
        if (((urgency == 2) &amp;amp;&amp;amp; (impact == 2)) ||&lt;br /&gt;
            ((urgency == 3) &amp;amp;&amp;amp; (impact == 3)) ||&lt;br /&gt;
            ((urgency == 3) &amp;amp;&amp;amp; (impact == 2)))&lt;br /&gt;
            {z_pri = 2;}&lt;br /&gt;
 	send_wait(0, this, &amp;quot;call_attr&amp;quot;, &amp;quot;priority&amp;quot;, &amp;quot;set_val&amp;quot;, z_pri, &amp;quot;SURE_SET&amp;quot;);&lt;br /&gt;
	if (msg_error()) {&lt;br /&gt;
		logf(ERROR, &amp;quot;error setting priority to %s on %s %s - %s&amp;quot;, z_pri, type.sym, ref_num, msg[0]);&lt;br /&gt;
		return;&lt;br /&gt;
	} else {&lt;br /&gt;
		logf(SIGNIFICANT, &amp;quot;successfully set priority to %s on %s %s&amp;quot;, z_pri, type.sym, ref_num);&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
This script was based on the following matrix:&lt;br /&gt;
{|&lt;br /&gt;
|+'''Priority Matrix'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
! 1-Critical&lt;br /&gt;
! 2-High&lt;br /&gt;
! 3-Medium&lt;br /&gt;
! 4-Low&lt;br /&gt;
|-&lt;br /&gt;
! 1-Critical&lt;br /&gt;
| bgcolor=&amp;quot;red&amp;quot;|Critical&lt;br /&gt;
| bgcolor=&amp;quot;yellow&amp;quot;|High&lt;br /&gt;
| bgcolor=&amp;quot;yellow&amp;quot;|High&lt;br /&gt;
| bgcolor=&amp;quot;green&amp;quot;|Medium&lt;br /&gt;
|- &lt;br /&gt;
! 2-High&lt;br /&gt;
| bgcolor=&amp;quot;yellow&amp;quot;|High&lt;br /&gt;
| bgcolor=&amp;quot;yellow&amp;quot;|High&lt;br /&gt;
| bgcolor=&amp;quot;green&amp;quot;|Medium&lt;br /&gt;
| bgcolor=&amp;quot;green&amp;quot;|Medium&lt;br /&gt;
|- &lt;br /&gt;
! 3-Medium&lt;br /&gt;
| bgcolor=&amp;quot;yellow&amp;quot;|High&lt;br /&gt;
| bgcolor=&amp;quot;green&amp;quot;|Medium&lt;br /&gt;
| bgcolor=&amp;quot;green&amp;quot;|Medium&lt;br /&gt;
| bgcolor=&amp;quot;blue&amp;quot;|Low&lt;br /&gt;
|-&lt;br /&gt;
! 4-Low&lt;br /&gt;
| bgcolor=&amp;quot;green&amp;quot;|Medium&lt;br /&gt;
| bgcolor=&amp;quot;green&amp;quot;|Medium&lt;br /&gt;
| bgcolor=&amp;quot;blue&amp;quot;|Low&lt;br /&gt;
| bgcolor=&amp;quot;blue&amp;quot;|Low&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Step 2. Create the trigger ===&lt;br /&gt;
This step is to create the trigger that will initiate the script. The methods used to implement the trigger vary based on the Service Desk release. &lt;br /&gt;
&lt;br /&gt;
''For r11.x releases'' triggers are created via the [[Schema Designer]] utility. Simply add the following code as a [[Site-Defined Trigger]] to the '''[[Call Req Table|cr (Request)]]''' table.&lt;br /&gt;
 POST_VALIDATE zmyscript() 111 FILTER(EVENT(&amp;quot;INSERT&amp;quot;) || (impact{} || urgency{}));&lt;br /&gt;
&lt;br /&gt;
''For older releases'' triggers are made by creating a [[.mod file]] and placing it in the [[$NX_ROOT]]/site/mods/majic directory. Name the [[.mod file|.mod]] anything you like, but it is recommended that it be preceded with a 'z'.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;OBJECT cr {&lt;br /&gt;
  TRIGGERS {&lt;br /&gt;
    POST_VALIDATE zmyscript() 111 FILTER(EVENT(&amp;quot;INSERT&amp;quot;) || (impact{} || urgency{}));&lt;br /&gt;
  };&lt;br /&gt;
};&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 3. Publish the Schema changes ===&lt;br /&gt;
The methods used to publish schema changes vary based on the Service Desk release.&lt;br /&gt;
&lt;br /&gt;
''For r11.x releases'', follow these steps:&lt;br /&gt;
#Save your Schema changes&lt;br /&gt;
#Publish Schema changes&lt;br /&gt;
#Stop the Service Desk service&lt;br /&gt;
#Run [[pdm_publish]] from a command line&lt;br /&gt;
#Start the Service Desk service&lt;br /&gt;
&lt;br /&gt;
''For older release'' recycle the Service Desk service.&lt;/div&gt;</summary>
		<author><name>MLMarcos</name></author>	</entry>

	</feed>