RemedialActionEngine – Umfang

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 6 Minuten Lesedauer
  • Die RemedialActionEngine Die API bietet Methoden für die Arbeit mit Korrekturaktionen.

    Diese API ist Teil des Frameworks für Korrekturaktionen und kann zum Ausführen der folgenden Aktionen verwendet werden:
    • Starten Sie eine Korrekturaktion.
    • Löst die Ausführung einer Korrekturaktion aus.
    • Überprüfen Sie die Autorisierung des angemeldeten Anwenders, um die Korrekturaktion auszuführen.
    • Überprüfen Sie die Anwendbarkeit der Nachbesserungsaktion für den Zieldatensatz.
    • Ruft den aktuellen Ausführungsstatus und die Ausgabenutzlast der Zielaktion ab.

    Diese API erfordert die Store-Anwendung „Framework für Korrekturaktionen“ (com.snc.sn_reacf) und wird in bereitgestellt sn_Reacf Namespace.

    RemedialActionEngine – beginRemediation (Zeichenfolge RemedialAction, Zeichenfolge parentTable, Zeichenfolge parentRecord, Objekt actionParams, Zeichenfolge targetRecord, Zeichenfolge „OriginalDatensatz“)

    Startet jede Korrekturaktion aus dem übergeordneten Datensatz für einen Zieldatensatz. Diese Methode erstellt einen neuen Ausführungsdatensatz für eine Korrekturaktion im Status „bereit“.

    Hinweis:
    Beachten Sie beim Definieren von Anforderungsparametern Folgendes:
    • Wenn der Parametertyp ein Objekt oder Array ist, definieren Sie jede Eigenschaft und ihren Typ.
    • Wenn der Parametertyp GlideRecord ist, geben Sie die zugehörige Tabelle in Ihrer Anforderung an.
    Tabelle : 1. Parameter
    Name Typ Beschreibung
    RemedialAction Zeichenfolge oder GlideRecord SYS_ID oder internal_Name oder GlideRecord der Tabelle „Frauenaktion“ [sn_reacf_Remedial_action].
    parentTable Zeichenfolge Tabellenname des übergeordneten Datensatzes.
    parentRecord Zeichenfolge SYS_ID des übergeordneten Datensatzes.
    actionParams Objekt

    Optional. Zuordnung der Parameternamen und Werte der Korrekturaktion.

    {
        “<parameter name>”: <parameter value>
    }
    Hinweis:
    Der Parameterwert muss vom Typ sein, der in der Tabelle „Parameter der Korrekturaktion“ [sn_reacf_Remedial_action_Parameter] definiert ist.
    targetRecord Zeichenfolge oder GlideRecord Optional. SYS_ID oder GlideRecord der konfigurierten Zieltabelle.
    Originaldatensatz Zeichenfolge oder GlideRecord Optional. SYS_ID oder GlideRecord der Tabelle „Ursprung der Korrekturaktion“ [sn_reacf_Remedial_action_origin].
    Tabelle : 2. Rückgaben
    Typ Beschreibung
    Objekt
    {
        "statusCode": "String",
        "actionExecutionRequestId": "String",
        "parentRecord": "String",
        "parentTable": "String"
    }
    <Object>.StatusCode Statuscode der Anforderung zur Ausführung der Korrekturaktion, z. B. „Success“, „duplicate_Request“ oder „failed“
    <Object>.ActionExecutionRequestId SYS_ID des neuen Datensatzes der Ausführung der Korrekturaktion oder des doppelten Datensatzes der Ausführung der gleichzeitigen Korrekturaktion
    <Object>.ParentRecord SYS_ID des übergeordneten Datensatzes des doppelten gleichzeitigen Ausführungsdatensatzes der Korrekturaktion.
    <Object>.ParentTable Tabellenname des übergeordneten Datensatzes des doppelten Datensatzes der gleichzeitigen Ausführung der Korrekturaktion.

    Das folgende Beispiel zeigt, wie eine Korrekturaktion gestartet wird. Hier verwendet die Nachbesserungsaktion intern eine CI-Aktion, um einen Prozess für ein CI zu beenden.

    var remedialAction = "9ef9924c436521101a24ff53e9b8f2d2" //sys_id of the Action
    var parentTable = "incident"; //table name of the Parent record
    var parentRecord = "62733787871e25105763ec6d0ebb3579" //sys_id of the Parent record
    var actionParams = {
        process_id: "322113"
    }
    var targetRecord = "af57a3418775e5105763ec6d0ebb356d"; //sys_id of the Target record
    var originRecord = "26e78022c3d525104f1a722e3f40dd99"; //sys_id of the Origin record
    
    var remedialActionEngine = new sn_reacf.RemedialActionEngine();
    var response = remedialActionEngine.beginRemediation(remedialAction, parentTable, parentRecord, actionParams, targetRecord, originRecord);
     
    gs.info(JSON.stringify(response));
    

    Ausgabeobjekt:

    Case 1 :successful : 
    {
      ‘statusCode’: ‘successful’,
      ‘actionExecutionRequestId: ‘979b6060a5954300964fa3aa92874155’
    
    }
    
    Case 2 :Duplicate : 
    {
      ‘statusCode’: ‘duplicate_request,
      ‘actionExecutionRequestId’: ‘552c48888c033300964f4932b03eb092’,
      ‘parentRecord’ : ‘1a14620f973be110539e35d11153afc8’,
      ‘parentTable’: ‘incident’
    
    }
    
    Case 3 : Failed 
    {
      ‘statusCode’: ‘failed,
    }
    

    RemedialActionEngine – canCancel(Zeichenfolge remedialActionExecution)

    Diese Methode wird verwendet, um zu überprüfen, ob der aktuelle Anwender die Ausführung der angegebenen Korrekturaktion abbrechen kann oder nicht.

    Hinweis:
    Beachten Sie beim Definieren von Anforderungsparametern Folgendes:
    • Wenn der Parametertyp ein Objekt oder Array ist, definieren Sie jede Eigenschaft und ihren Typ.
    • Wenn der Parametertyp GlideRecord ist, geben Sie die zugehörige Tabelle in Ihrer Anforderung an.
    Tabelle : 3. Parameter
    Name Typ Beschreibung
    RemedialActionExecution Zeichenfolge oder GlideRecord SYS_ID oder GlideRecord der Tabelle „Ausführung der Korrekturaktion“ [sn_reacf_Remedial_action_Execution].
    Tabelle : 4. Rückgaben
    Typ Beschreibung
    Boolean

    Kennzeichnung, die angibt, ob die Anforderung zur Ausführung der Korrekturaktion abgebrochen werden kann oder nicht.

    Gültige Werte:
    • Wahr: Die angegebene Anforderung zur Ausführung der Korrekturaktion kann abgebrochen werden.
    • Falsch: Die angegebene Anforderung zur Ausführung der Korrekturaktion kann nicht abgebrochen werden.

    Das folgende Beispiel zeigt, wie überprüft werden kann, ob der aktuelle Anwender die Ausführung einer Korrekturaktion im aktuellen Status abbrechen kann.

    var remedialActionExecutionId = "9ef9924c436521101a24ff53e9b8f2d2" //sys_id of sn_reacf_remedia_action_execution record
    
    var remedialActionEngine = new sn_reacf.RemedialActionEngine();
    var canCancel = remedialActionEngine.canCancel(remedialActionExecutionId)
    
    gs.info("canCancel: " + canCancel);
    

    Ausgabe:

    canCancel: true

    RemedialActionEngine – cancelExecution(Zeichenfolge remedialActionExecution)

    Bricht eine Anforderung zur Ausführung einer Korrekturaktion ab, aktualisiert dann den Ausführungsdatensatz auf den Status „Abgebrochen“ und gibt bei Erfolg „wahr“ zurück.

    Hinweis:
    Beachten Sie beim Definieren von Anforderungsparametern Folgendes:
    • Wenn der Parametertyp ein Objekt oder Array ist, definieren Sie jede Eigenschaft und ihren Typ.
    • Wenn der Parametertyp GlideRecord ist, geben Sie die zugehörige Tabelle in Ihrer Anforderung an.
    Tabelle : 5. Parameter
    Name Typ Beschreibung
    RemedialActionExecution Zeichenfolge oder GlideRecord SYS_ID oder GlideRecord der Tabelle „Ausführung der Korrekturaktion“ [sn_reacf_Remedial_action_Execution].
    Tabelle : 6. Rückgaben
    Typ Beschreibung
    Boolean

    Kennzeichnung, die angibt, ob die Anforderung zur Ausführung der Korrekturaktion abgebrochen werden kann oder nicht.

    Gültige Werte:
    • Wahr: Die angegebene Anforderung zur Ausführung der Korrekturaktion wurde erfolgreich abgebrochen. Der Status „wahr“ aktualisiert den Ausführungsdatensatz auf den Status „Abgebrochen“.
    • Falsch: Die angegebene Anforderung zur Ausführung der Korrekturaktion wurde nicht erfolgreich abgebrochen.

    Das folgende Beispiel zeigt, wie Sie die Ausführung von Korrekturaktionen im aktuellen Status abbrechen.

    var remedialActionExecutionId = "9ef9924c436521101a24ff53e9b8f2d2" //sys_id of sn_reacf_remedia_action_execution record
    
    var remedialActionEngine = new sn_reacf.RemedialActionEngine();
    var cancelExecution = remedialActionEngine.cancelExecution(remedialActionExecutionId)
    
    gs.info(‘cancelExecution: ’ + cancelExecution);

    Ausgabe:

    cancelExecution : true

    RemedialActionEngine – executeRemedialAction (Zeichenfolge remedialActionExecution)

    Löst eine Ausführung der Korrekturaktion aus, die gestartet wurde und sich derzeit im Status „bereit“ befindet. Diese Methode startet die gezielte Aktion (z. B. CI-Aktion) und verschiebt den Ausführungsstatus der Korrekturaktion in „in Bearbeitung“.

    Tabelle : 7. Parameter
    Name Typ Beschreibung
    RemedialActionExecution Zeichenfolge oder GlideRecord SYS_ID oder GlideRecord der Tabelle „Ausführung der Korrekturaktion“ [sn_reacf_Remedial_action_Execution].
    Tabelle : 8. Rückgaben
    Typ Beschreibung
    Objekt

    Das Objekt enthält Action_Execution_table und action_Execution_ID der Ausführung der Korrekturaktion.

    {
       “action_execution_table”: “String”,
       “action_execution_id”: “Sys_id”
    }
    

    Das folgende Beispiel zeigt, wie Korrekturaktionen ausgeführt werden.

    var remedialActionExecution = "8ed58be387d2a5100295ebd73cbb35a3"; //Sys_id of the Remedial Action Execution record 
     
    var remedialActionEngine = new sn_reacf.RemedialActionEngine(); 
    var response = remedialActionEngine.executeRemedialAction(remedialActionExecution); 
    gs.info("Response: " + JSON.stringify(response, null, 2));

    Ausgabe:

    { 
      "action_execution_table": "sn_cimaf_action_request", 
      "action_execution_id": "2d7843a787d2a5100295ebd73cbb35d4" 
    }

    RemedialActionEngine – getRemedialActionOutput (Zeichenfolge „remedialActionExecution“)

    Ruft den aktuellen Ausführungsstatus und die Ausgabenutzlast der Zielaktion ab.

    Tabelle : 9. Parameter
    Name Typ Beschreibung
    RemedialActionExecution Zeichenfolge oder GlideRecord SYS_ID oder GlideRecord der Tabelle „Ausführung der Korrekturaktion“ [sn_reacf_Remedial_action_Execution].
    Tabelle : 10. Rückgaben
    Typ Beschreibung
    Objekt

    Das Objekt enthält das Statusobjekt mit dem Wert und dem Anzeigewert des Status der Zielaktion und das Nutzlast-Array mit den Ausgaben der Zielaktion, die als Teil der Ausführung der Korrekturaktion ausgeführt werden.

    Datentyp: Zeichenfolge

    {
      "status": {
        "value": "completed",
        "displayValue": "Completed"
      },
      "payload": [
        "{\"output\":\"SUCCESS: The process with PID 19604 has been terminated.\\r\\n\",\"cmd\":\"taskkill /pid 19604 /f\"}"
      ]
    }

    Das folgende Beispiel zeigt, wie Sie den aktuellen Ausführungsstatus und die Ausgabenutzlast der Zielaktion abrufen.

    var remedialActionExecution = "8ed58be387d2a5100295ebd73cbb35a3"; //sys_id of the Remedial Action Execution record
    
    var remedialActionEngine = new sn_reacf.RemedialActionEngine();
    var response = remedialActionEngine.getRemedialActionOutput(remedialActionExecution);
    
    gs.info("Response: " + JSON.stringify(response, null, 2));
    

    Ausgabe:

    {
      "status": {
        "value": "completed",
        "displayValue": "Completed"
      },
      "payload": [
        "{\"output\":\"SUCCESS: The process with PID 19604 has been terminated.\\r\\n\",\"cmd\":\"taskkill /pid 19604 /f\"}"
      ]
    }

    RemedialActionEngine – isApplicable (Zeichenfolge RemedialAction, Zeichenfolge targetRecord)

    Überprüft die Anwendbarkeit von Korrekturaktionen für einen Zieldatensatz.

    Tabelle : 11. Parameter
    Name Typ Beschreibung
    RemedialAction Zeichenfolge oder GlideRecord SYS_ID oder internal_Name oder GlideRecord der Tabelle „Nachbesserungsaktion“ [sn_reacf_Remedial_action].
    targetRecord Zeichenfolge oder GlideRecord SYS_ID oder GlideRecord der konfigurierten Zieltabelle.
    Tabelle : 12. Rückgaben
    Typ Beschreibung
    Boolean
    Kennzeichnung, die die Anwendbarkeit des Zieldatensatzes für die Korrekturaktion angibt.
    • Wahr: Die Korrekturaktion gilt für den angegebenen Zieldatensatz.
    • Falsch: Die Korrekturaktion gilt nicht für den angegebenen Zieldatensatz.

    Das folgende Beispiel zeigt, wie die Anwendbarkeit einer Korrekturaktion für einen Zieldatensatz überprüft wird.

    var remedialAction = "9ef9924c436521101a24ff53e9b8f2d2"; //Sys_id of the Remedial Action Execution record 
    var targetRecord = "df3799a387a921100295ebd73cbb35c4"; //Sys_id of the Target Record 
     
    var remedialActionEngine = new sn_reacf.RemedialActionEngine(); 
    var isApplicable = remedialActionEngine.isApplicable(remedialAction, targetRecord); 
    gs.info("Is applicable: " + isApplicable);

    Ausgabe:

    Is applicable: true

    RemedialActionEngine – IsAuthorized(Zeichenfolge RemedialAction)

    Überprüft, ob der Anwender berechtigt ist, die Korrekturaktion auszuführen.

    Tabelle : 13. Parameter
    Name Typ Beschreibung
    RemedialAction Zeichenfolge oder GlideRecord SYS_ID oder internal_Name oder GlideRecord der Tabelle „Nachbesserungsaktion“ [sn_reacf_Remedial_action].
    Tabelle : 14. Rückgaben
    Typ Beschreibung
    Boolean

    Kennzeichnung, die den resultierenden Erfolgsstatus der Autorisierung des Anwenders angibt.

    • Wahr: Die Autorisierung des Anwenders ist erfolgreich.
    • Falsch: Die Autorisierung des Anwenders ist nicht erfolgreich.

    Das folgende Beispiel zeigt, wie die Autorisierung zum Ausführen von Korrekturaktionen überprüft wird.

    var actionSysId = "e62f550843e121101a24ff53e9b8f23b"; //Sys_id of the Action 
     
    var remedialActionEngine = new sn_reacf.RemedialActionEngine(); 
    var isAuthorized = remedialActionEngine.isAuthorized(actionSysId); 
    gs.info("Is user authorized: " + isAuthorized);

    Ausgabe:

    Is user authorized: true