SLA KPI のカスタム時間計算に関する FAQ
概要
このトピックには、サービス レベル アグリーメント (SLA) の主要業績評価指標 (KPI) のカスタム時間計算に関して管理者としてよくある質問 (FAQ) が含まれています。
カスタム アクションまたはプラグインはいつ開始されますか ?
カスタム アクションまたはプラグインは、一時停止ステータスから再開された SLA KPI を含む新しい SLA KPI インスタンスの作成中に開始されます。
一時停止と再開のシナリオは、SLA KPI 作成シナリオとどのように異なりますか ?
一時停止と再開のシナリオには、次の 2 つのステップが含まれます。
- カスタム アクションは、
getElapsedTime
として requestType で開始されます。 これにより、SLA KPI の一時停止状態と再開状態の間の経過時間が計算されます。 - カスタム アクションは、
getEndTime
として requestType で開始されます。 これは、上記elapsedTime
を現在のwarningTime
に追加することにより新しいWarningTime
を計算します。 同様の計算は、FailureTime
に対してもおこなわれます。
どうすればカスタム DateTime フィールドを作成および更新せずに SLA KPI インスタンスの StartTime
をオバーライドできますか ?
カスタム ロジックに基づいて SLA KPI インスタンスをオーバーライドできます。ここでは、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