有关 SLA KPI 自定义时间计算的常见问题解答

概览

本主题包含您作为管理员可能会遇到的关于服务级别协议 (SLA) 关键绩效指标 (KPI) 自定义时间计算的常见问题 (FAQ)。

何时启动自定义操作或插件?

自定义操作或插件在创建新 SLA KPI 实例期间启动,该实例还包括一个已从暂停状态恢复的 SLA KPI。

暂停和恢复方案与 SLA KPI 创建方案有何不同?

暂停和恢复方案包括以下两个步骤:

  1. 启动自定义操作时以 requestType 为 getElapsedTime。 这将计算 SLA KPI 的暂停和恢复状态之间经过的时间。
  2. 启动自定义操作时以 requestType 为 getEndTime。 此操作通过将上述 elapsedTime 添加到当前 warningTime 来计算新 WarningTime。 也可以对 FailureTime 执行类似的计算。

我如何替代 SLA KPI 实例的 StartTime而不创建和更新自定义“日期/时间”字段?

您可以基于自定义逻辑替代 SLA KPI 实例的 startTime,因此必须更改 startTime参数。

  // when the case priority is modified and a new KPI instance is being created, the KPI instance needs to start from UTC instead of CreatedOn
        if ((int)(((OptionSetValue)(caseRecord.Attributes["priority"])).Value) == 1)
	{
            startTime = DateTime.UtcNow
	}

	// use OOB SLATimeCalculation Custom Action to do actual calculation_
	OrganizationRequest requestTimeCalculation = new OrganizationRequest("msdyn_SLATimeCalculation");
	requestTimeCalculation["startTime"] = startTime;
        ... rest code is same as previous examples

我如何替代 SLA KPI 实例的已定义警告或失败持续时间?

您可以基于自定义逻辑替代 SLA KPI 实例的警告或失败,因此必须更改以下参数。 请注意,提供的值必须为分钟数。

// when the case priority is modified and a new KPI instance is being created, the KPI instance must have failure time as 1 hour.
        if ((int)(((OptionSetValue)(caseRecord.Attributes["priority"])).Value) == 1)
	{
            newFailureTime = 60; // in minutes
	}

	// use OOB SLATimeCalculation Custom Action to do actual calculation_
	OrganizationRequest requestTimeCalculation = new OrganizationRequest("msdyn_SLATimeCalculation");
        requestTimeCalculation["minutes"] = newFailureTime;
        ... rest code is same as previous examples