RemedialActionEngine : Bereichsbezogen

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 6 Minuten Lesedauer
  • Die RemedialActionEngine- API bietet Methoden zum Arbeiten mit Korrekturaktionen.

    Diese API ist Teil des Frameworks für Korrekturaktionen und kann zum Ausführen der folgenden Aktionen verwendet werden:
    • Ermöglicht das Starten einer Korrekturaktion.
    • Lösen Sie die Ausführung einer Nachbesserungsaktion aus.
    • Überprüfen Sie die Berechtigung des angemeldeten Anwenders zum Ausführen der Korrekturaktion.
    • Überprüft die Anwendbarkeit der Nachbesserungsaktion für den Zieldatensatz.
    • Rufen Sie den aktuellen Ausführungsstatus und die Ausgabenutzlast der gezielten Aktion ab.

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

    RemedialActionEngine – beginnenRemediation (Zeichenfolge remedialAction, Zeichenfolge parentTable, Zeichenfolge parentRecord, Objekt actionParams, Zeichenfolge targetRecord, Zeichenfolge originRecord)

    Startet eine beliebige Korrekturaktion aus dem übergeordneten Datensatz für einen Zieldatensatz. Diese Methode erstellt einen neuen Datensatz für die Ausführung von Korrekturaktionen 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 „Femedial-Aktion“ [sn_reacf_remedial_action].
    parentTable Zeichenfolge Tabellenname des übergeordneten Datensatzes.
    parentRecord Zeichenfolge Sys_id des übergeordneten Datensatzes.
    actionParams Objekt

    Optional. Zuordnung der Namen und Werte des Parameters für Nachbesserungsaktionen.

    {
        “<parameter name>”: <parameter value>
    }
    Hinweis:
    Der Parameterwert muss den Typ haben, der in der Parametertabelle der Korrekturaktion [sn_reacf_remedial_action_parameter] definiert ist.
    targetRecord Zeichenfolge oder GlideRecord Optional. Sys_id oder GlideRecord der konfigurierten Zieltabelle.
    Ursprungsdatensatz Zeichenfolge oder GlideRecord Optional. Sys_id oder GlideRecord der Tabelle „Ursprung der Korrekturaktion“ [sn_reacf_remedial_action_origin].
    Tabelle : 2. Ergebnisse
    Typ Beschreibung
    Objekt
    {
        "statusCode": "String",
        "actionExecutionRequestId": "String",
        "parentRecord": "String",
        "parentTable": "String"
    }
    <Object>.statusCode Statuscode der Ausführungsanforderung der Korrekturaktion, z. B. erfolgreich, „duplicate_request“ oder fehlgeschlagen
    <Object>.actionExecutionRequestId Sys_id des neuen Datensatzes der Ausführung der Korrekturaktion oder eines duplizierten Datensatzes der gleichzeitigen Ausführung einer Korrekturaktion
    <Object>.parentRecord Sys_id des übergeordneten Datensatzes des doppelten Datensatzes der gleichzeitigen Ausführung der Korrekturaktion.
    <Object>.parentTable Tabellenname des übergeordneten Datensatzes des doppelten Datensatzes der gleichzeitigen Ausführung der Korrekturaktion.

    Das folgende Beispiel zeigt, wie eine beliebige Nachbesserungsaktion 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(String remedialActionExecution)

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

    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. Ergebnisse
    Typ Beschreibung
    Boolean

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

    Gültige Werte:
    • „wahr“: Die Ausführungsanforderung für die angegebene Korrekturaktion kann abgebrochen werden.
    • „falsch“: Die Ausführungsanforderung für die angegebene Korrekturaktion kann nicht abgebrochen werden.

    Das folgende Beispiel zeigt, wie überprüft wird, ob der aktuelle Anwender die Ausführung von Korrekturaktionen in seinem 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(String remedialActionExecution)

    Bricht die Ausführung einer Anforderung für eine Korrekturaktion ab, aktualisiert 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. Ergebnisse
    Typ Beschreibung
    Boolean

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

    Gültige Werte:
    • „wahr“: Die Ausführungsanforderung für die angegebene Korrekturaktion wurde erfolgreich abgebrochen. Mit dem Status „wahr“ wird der Ausführungsdatensatz auf den Status „Abgebrochen“ aktualisiert.
    • „falsch“: Die Ausführungsanforderung für die angegebene Korrekturaktion wurde nicht erfolgreich abgebrochen.

    Das folgende Beispiel zeigt, wie Sie die Ausführung einer Korrekturaktion aus ihrem 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 die Ausführung aller Korrekturaktionen aus, die gestartet wurden und sich derzeit im Status „Bereit“ befinden. Diese Methode startet die Zielaktion (z. B. CI-Aktion) und ändert 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. Ergebnisse
    Typ Beschreibung
    Objekt

    Objekt mit „action_execution_table“ und „action_execution_id“ der Ausführung der Nachbesserungsaktion.

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

    Das folgende Beispiel zeigt, wie eine beliebige Nachbesserungsaktion ausgeführt wird.

    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. Ergebnisse
    Typ Beschreibung
    Objekt

    Objekt enthält das Statusobjekt mit dem Wert und dem Anzeigewert des Zielaktionsstatus sowie ein Nutzlast-Array mit den Zielaktionsausgaben, 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 einer Nachbesserungsaktion 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. Ergebnisse
    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 Nachbesserungsaktion 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(String remedialAction)

    Prüft, ob der Anwender berechtigt ist, die Nachbesserungsaktion auszuführen.

    Tabelle : 13. Parameter
    Name Typ Beschreibung
    remedialAction Zeichenfolge oder GlideRecord Sys_id oder internal_name oder GlideRecord der Tabelle „Korrekturaktion“ [sn_reacf_remedial_action].
    Tabelle : 14. Ergebnisse
    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 Sie die Berechtigung zum Ausführen einer Korrekturaktion überprüfen.

    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