[rt-users] Order of transactions

Gene LeDuc gleduc at mail.sdsu.edu
Thu Apr 5 12:19:23 EDT 2007


Please disregard if this is a duplicate post.  I thought I sent it out last 
night but I never saw it on the list.

Hi Kenn,

At 12:35 PM 4/4/2007, Kenneth Crocker wrote:
>         Why don't you put some code in the IP E_mail template to grab the 
> transaction value?

I do check for the IP value in the e-mail, but that only determines which 
version of the message gets sent (either kill the port or call me to 
discuss the issue).  So a missing IP value is legal, as is an existing IP 
value.  The "State" value is used to move tickets between queues, determine 
which e-mail to send in each queue, and what the ticket status should be at 
various points in the life of the ticket.

What should be happening is this:
1.  RT user logs in, puts a value into IP, changes State from "Info" to 
"Kill", then clicks "Save Changes"
1a.  RT changes IP and State fields
2.  State-change to "Kill" triggers scrip that moves ticket into TNS queue
3.  Queue-change from "DMCA" to "TNS" with "State" set to "Kill" triggers 
scrip that sends a request to kill the port associated with the IP.

What is actually happening is this:
1.  RT user logs in, puts a value into IP, changes State from "Info" to 
"Kill", then clicks "Save Changes"
1a.  RT changes State field (but not IP field)
2.  State-change to "Kill" triggers scrip that moves ticket into TNS queue
3.  Queue-change from "DMCA" to "TNS" with "State" set to "Kill" triggers 
scrip that sends a request to call me to discuss the issue (since there's 
no IP field at this point)
3a.  RT changes IP field

So the user changes 2 fields in step 1 and hits "Save Changes", but the 
State field triggers steps 2 and 3 before the IP field (which step 3 needs) 
is changed.

I tried putting the template to sleep for 5 seconds before grabbing the IP 
value for the e-mail, in the hope that the IP field would have been changed 
by the time it wakes up.  But nooooo.  It appears that the entire execution 
chain (2 scrips and a template) that is triggered by the State change has 
to complete before RT tries setting the IP field.

What I'd like to do is coax RT into consistently making the IP change 
before the State change triggers the scrip, then it would work.


>Gene LeDuc wrote:
>>Hi All,
>>I saw a post with a similar issue a while ago, but the solutions offered 
>>don't fit my situation.
>>I have 2 custom fields, IP and State.  IP is a single value text field 
>>and State is a single value combo box.
>>I'm modifying both values using the Basics tab of the Ticket screen.  I 
>>set IP to some value and State to some value via the pulldown menu, then 
>>click "Save Changes".
>>My expectation is that both values would be modified before any scrips 
>>are triggered.
>>However...  It appears that RT modifies State first, which fires a 
>>custom-condition "State Change" scrip.  IP then gets modified only after 
>>the scrip fires, so it is not available to a template used by the "State 
>>Change" scrip.  The problem is that I need the IP in order to send out an 
>>e-mail that makes sense.
>>The History display shows the State being changed, then the actions of 
>>the "State Change" scrip (a queue change and the e-mail), then the IP 
>>value being set.
>>Is there a way I can hold off on the "State Change" scrip until after 
>>both values have been changed in the Basics screen?
>>It's not a "scrip execution order" issue, because there's only 1 scrip 
>>involved.  The issue is that I need all of the updates from the web page 
>>to happen before any scrips are triggered.
>>I can work around this if I make the changes in 2 steps (change IP then 
>>change State), but I'm sure my users won't see the logic in doing this.
>>I thought about adding a condition to the "State Change" scrip that makes 
>>sure that IP is not null.  That would keep the e-mail from going out with 
>>a null IP, but then the scrip condition would not be satisfied when the 
>>IP value does finally gets modified.
>>Has anyone else conquered this issue?  Or am I missing something pretty 
>>basic?
>>Thanks,
>>Gene
>>
>
>
>--
>Gene LeDuc, GSEC
>Security Analyst
>San Diego State University 




More information about the rt-users mailing list