SLA Extensions

Overview

The Operaio SLA Extensions is the solution to extract SLA Target Date and SLA Status from Incidents or Service Requests and write to a single property.

Installation

Prerequisites

You can install Operaio SLA Extensions on System Center Service Manager 2016 or above.

Installation

The installation is performed using the management pack import functionality of SCSM. Please refer to the Microsoft TechNet Library for more information on how to import management packs:

http://technet.microsoft.com/en-us/library/hh524269.aspx

LastModified date of Incidents and Service Requests will change

The management pack you are about to import contains a class extension for the Incident and Service Request classes. This will cause the Last Modified date of all incidents and service requests in SCSM to be updated to the current date and time.

Follow these steps to install SLA Extensions:

  1. Log on to SCSM Workflow server using an account with administrative privileges in SCSM. The SCSM Workflow Server is by default the first SCSM Management Server installed.
  2. Copy the \Operaio.SLAExtensions.Workflow.dll to the SCSM installation directory. By default, this is C:\Program Files\Microsoft System Center\Service Manager\.
  3. Import the Operaio.SlaExtensions.Library.mp management pack.
  4. Restart the SCSM Console.

How it works

The Workflow will wait add, update or remove the Service Level Instance Time Information (System.SLA.Instance.TimeInformation) class instance and then use the relationship between this object and the work item and get all other SLA Time Info and update properties "SLA Target Time" (oprSLATargetTime) and "SLA Status" (oprSLAStatus). Overall status calculated based on the weight of each SLA status, from lowest:

  • NotReady
  • Active
  • Paused
  • Met
  • Warning
  • Breached

Using with other work items

By default, SCSM support SLA only supports incidents and service requests, but if you did customization and are using the SLA for other work items, you can extend this solution as well. All you need to do is to create a class extension for each work item type using this template:

<ClassType ID="Operaio.%workItemType%.SLA.Extension" Accessibility="Public" Abstract="false" Base="%WorkItemType%" Hosted="false" Singleton="false" Extension="true">
  <Property ID="oprSLATargetTime" Type="datetime" AutoIncrement="false" Key="false" CaseSensitive="false" MaxLength="256" MinLength="0" Required="false" Scale="0" />
  <Property ID="oprSLAStatus" Type="enum" EnumType="SLA!SLAInstance.Status" AutoIncrement="false" Key="false" CaseSensitive="false" MaxLength="256" MinLength="0" Required="false" Scale="0" />
</ClassType>

where %workItemType% if the class name (don't forget to add reference in the Base attribute)

Using with other products

You can use this extensions in the console, ITSMPortal or any other 3d party tools.

ITSM Portal

You can use this solution in the ITSMPortal by extending any view with the "SLA Target Time" and "SLA Status" columns. Also you can extend any form to add information about SLA. For example, you can change default incident's header to:

<div class="col-sm-3">
    <ul class="list-unstyled">
        <li><b>@GlobalLocalizer["SLAHeader"]</b><span ng-show="formContext.oprSLAStatus"><i itx-statusicon="formContext.oprSLAStatus.Status"></i><span ng-bind="formContext.oprSLAStatus.Status.Value"></span></span></li>
        <li><b ng-bind="formContext.oprSLATargetTime.DisplayName"></b><span itx-datetime="formContext.oprSLATargetTime.Value"></span></li>
    </ul>
</div>