新しいトラブルチケットイベントのペイロードを生成する

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:4分
  • トラブルチケットイベントを実装に追加する場合は、そのイベントタイプに必要な TMF 準拠のペイロードを生成する関数を作成する必要があります。さらに、このタイプのイベントレコードを処理するときは、この関数にロジックを送信する case ステートメントにその関数を追加する必要があります。

    新しいトラブルチケットイベントのペイロードを生成するメソッドを作成します

    TroubleTicketNotificationUtil スクリプトインクルードで、新しいトラブルチケットイベントに必要な TMF 準拠のペイロードをビルドし、そのペイロードを返すメソッドを追加する必要があります。

    ベースシステムトラブルチケットイベントのペイロードを作成するメソッドの例については、 TroubleTicketNotificationUtilOOB スクリプトインクルードの次のメソッドを参照してください。

    fetchEventHandlerAndCreateTMFEvent() スイッチ/ケースロジックにイベントを追加する

    作成した関数を実行するには、EventProcessorUtil スクリプトインクルードの fetchEventHandlerAndCreateTMFEvent() メソッド内の switch/case ロジックにその関数を追加する必要があります。次のコード スニペットは、このメソッドに ResolveTroubleTicketEventForIncident イベントの種類を追加するために必要な更新を示しています。fetchEventHandlerAndCreateTMFEvent() メソッドの詳細については、「EventProcessorUtilOOB:fetchEventHandlerAndCreateTMFEvent(オブジェクトeventSnapshot、文字列、eventType、文字列、eventId)」を参照してください。
    fetchEventHandlerAndCreateTMFEvent: function(eventSnapshot, eventType, eventId) {
      var eventPayload;
      switch (eventType) {
        case Constants.EVENT_TYPES.TROUBLE_TICKET_STATUS_CHANGE:
          eventPayload = new sn_ind_tsm_sdwan.TroubleTicketNotificationUtil().generateTroubleTicketStatusChangePayload(eventSnapshot, eventType, eventId);
          break;
    
        case Constants.EVENT_TYPES.TROUBLE_TICKET_CREATE:
          eventPayload = new sn_ind_tsm_sdwan.TroubleTicketNotificationUtil().generateCreateTroubleTicketEventPaylaod(eventSnapshot, eventType, eventId);
          break;
    
        case Constants.EVENT_TYPES.TROUBLE_TICKET_ATTRIBUTE_CHANGE:
          eventPayload = new sn_ind_tsm_sdwan.TroubleTicketNotificationUtil().generateTroubleTicketAttributeChangePayload(eventSnapshot, eventType, eventId);
          break;
    
        case Constants.EVENT_TYPES.TROUBLE_TICKET_CREATE_FOR_CASE:
          eventPayload = new sn_ind_tsm_sdwan.TroubleTicketNotificationUtil().generateCreateTroubleTicketEventPaylaodForCase(eventSnapshot, eventType, eventId);
          break;
    
        // Add a new case statement for the ResolveTroubleTicketEventForIncident event type
        case 'ResolveTroubleTicketEventForIncident':
          eventPayload = new sn_ind_tsm_sdwan.TroubleTicketNotificationUtil().generateResolveTroubleTicketEventPyaload(eventSnapshot, eventType, eventId);
          break;
    
        default:
          this._logger.debug("Event with id " + eventId + " could not find the matching payload generator");
          eventPayload = null;
      }
      return eventPayload;
    },