From time to time I get the question if it is possible to pause a SLA in Service Manager. You should write your SLA in a way that you never have to think about pause them. For example if you have a SLA saying you will fix hardware issues in 8 hours, but your hardware vendor has agreement saying they will send you spare parts in 4 days, you need to re-write your SLA. Another example could be a SLA saying an incident will be resolved within 8 hours. If you are dependent on end-users that might be difficult to fulfill, instead write SLA based on first response. Why write a SLA that you can never fulfill?
In this blog post I will show how to modify the SLA endtime with a runbook. This runbook dont pause the SLA, it just adds minutes to the TargetEndDate and the TargetWarningDate for incidents in a “Waiting for end-user” status.
- Monitor Date/Time. The runbook trigger every 5 minutes
- Get Object. Gets all incidents in “Waiting for end-user” status
- Link. If there are more than one incident
- Get Relationship. Gets related Service Level Instance Time Information
- Get Object. Reads the Service Level Instance Time Information instance
- Format Date/Time. Takes the current TargetEndDate as input and adds 5 minutes on Format Result output
- Format Date/Time. Takes the current TargetWarningDate as input and adds 5 minutes on Format Result output
- Update Object. Updates the related Service Level Instance Time Information instance with new TargetEndDate and TargetWarningDate
The result is that every 5 minutes when the incident is in “Waiting for end-user” state the runbook will add 5 minutes to both the SLA Warning time and the SLA End time. You can download my example file, PauseSLA_wolf. Note that this is provided “AS-IS” with no warranties at all. This is not a production ready management pack or solution, just a idea and an example