SLA KPI のカスタム時間計算に関する FAQ

概要

このトピックには、サービス レベル アグリーメント (SLA) の主要業績評価指標 (KPI) のカスタム時間計算に関して管理者としてよくある質問 (FAQ) が含まれています。

カスタム アクションまたはプラグインはいつ開始されますか ?

カスタム アクションまたはプラグインは、一時停止ステータスから再開された SLA KPI を含む新しい SLA KPI インスタンスの作成中に開始されます。

一時停止と再開のシナリオは、SLA KPI 作成シナリオとどのように異なりますか ?

一時停止と再開のシナリオには、次の 2 つのステップが含まれます。

  1. カスタム アクションは、getElapsedTime として requestType で開始されます。 これにより、SLA KPI の一時停止状態と再開状態の間の経過時間が計算されます。
  2. カスタム アクションは、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