有关 SLA KPI 自定义时间计算的常见问题解答
概览
本主题包含您作为管理员可能会遇到的关于服务级别协议 (SLA) 关键绩效指标 (KPI) 自定义时间计算的常见问题 (FAQ)。
何时启动自定义操作或插件?
自定义操作或插件在创建新 SLA KPI 实例期间启动,该实例还包括一个已从暂停状态恢复的 SLA KPI。
暂停和恢复方案与 SLA KPI 创建方案有何不同?
暂停和恢复方案包括以下两个步骤:
- 启动自定义操作时以 requestType 为
getElapsedTime
。 这将计算 SLA KPI 的暂停和恢复状态之间经过的时间。 - 启动自定义操作时以 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