Incident Response SLA re-starts on re-assignment
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-24-2011 03:42 PM
We've got some incident response SLAs that are causing problems. The start condition for each is "Priority is priority" and "Service(u_service) is SAP". The Stop condition is "Assigned to is not Empty". So far, so good: The SLA starts and when someone sets 'Assigned to' to a person it's complete. The problem comes when we re-assign the Incident to another group. The 'Assigned to' is now empty, but the start conditions are still true, so the SLA starts again. These are set to 'Retroactive Start', so if, by chance, they've waited past the response SLA time to re-assign, that SLA is instantly in breach.
I can't find a field on the Incdient to add to the start condition that says in effect 'we've already dealt with the response SLA on this one, don't check again.' I tried using 'Reassignment Count = 0', but then if we re-assign the ticket to another group without assigning to an individual, the SLA is just cancelled.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-26-2011 12:46 PM
You need another indicator like a custom true/false field called First Response and build a Business Rule that sets it to true appropriately. Then, put that into your SLA def'n.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-31-2011 03:05 PM
OK - I'm a newbie, and apparently I'm missing something fundamental about Business Rules. I called my new field 'Responded', and I want to set it to 'True' when the Assigned to field is not empty. I've tried this condition: !current.assigned_to.nil() and also current.assigned_to.notnil() and as far as I can tell the rule never fires. My latest attempt at the script is current.u_responded.setValue("true")
On the other hand, in trying to figure out if the condition or the script were wrong, I've got the conditon set to current.location =="Redmond" and the script to current.location.setValue("Bradford"); which I would expect would change the location to "Bradford" whenever it's "Redmond" and that's not doing anything either, so clearly I'm completely missing the boat here. Can someone point me to the right bit of doc that clear this up for me?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-01-2011 06:28 AM
When is your BR set to run? On insert/update? Is it active?
I would try
!current.assigned_to.isNil() || current.assigned_to != ""
but the first part should work just fine.
Location is a reference field so you need to do
if(current.location.name == "Redmond")
current.location.setDisplayValue("Bradford")
//Or
if(current.location.getDisplayValue() == "Redmond")
current.location.setDisplayValue("Bradford")

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-01-2011 02:26 PM
is good code and should be working. You can use the Debug Business Rules or
!current.assigned_to.nil()
to see if your BR fired. Location is a reference field which means you will get a sys_id (GUID) that represents the foreign key of the location in that field. To get the display value and compare, use:
gs.log('message')
instead.
current.location.getDisplayValue() == 'Redmond'