RemedialActionEngine – Scoped

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 6 Minuten Lesedauer
  • Die bereichsbezogene API „ RemedialActionEngine “ bietet allgemeine Methoden für die Arbeit mit Nachbesserungsaktionen.

    Die RemedialActionEngine -API ist Teil des Remedial Actions Framework. Verwenden Sie die RemedialAction- API, um die folgenden Aktionen auszuführen:
    • Starten Sie eine Nachbesserungsaktion
    • Lösen Sie die Ausführung einer Nachbesserungsaktion aus
    • Überprüfen Sie die Berechtigung des angemeldeten Benutzers zum Ausführen der Nachbesserungsaktion
    • Überprüfen Sie die Anwendbarkeit der Nachbesserungsaktion für den Zieldatensatz
    • Rufen Sie den aktuellen Ausführungsstatus und die Ausgabenutzlast der Zielaktion ab

    Diese API erfordert die Store-Anwendung Remedial Actions Framework (com.snc.sn_reacf) und wird im Namespace sn_reacf bereitgestellt.

    RemedialActionEngine – beginningRemediation (String remedialAction, String parentTable, String parentRecord, Object actionParams, String targetRecord, String OriginRecord)

    Startet eine Nachbesserungsaktion aus dem übergeordneten Datensatz für einen Zieldatensatz. Diese Methode erstellt einen neuen Ausführungsdatensatz für Nachbesserungsaktionen 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 interner_Name oder GlideRecord der Tabelle „Femmleraktion“ [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 der Parameter für Nachbesserungsaktionen.

    {
        “<parameter name>”: <parameter value>
    }
    Hinweis:
    Der Parameterwert muss vom Typ sein, der in der Tabelle „Nachbesserungsaktionsparameter“ [sn_reacf_remedial_action_parameter] definiert ist.
    targetRecord Zeichenfolge oder GlideRecord Optional. Sys_id oder GlideRecord der konfigurierten Zieltabelle.
    OriginRecord Zeichenfolge oder GlideRecord Optional. Sys_id oder GlideRecord der Tabelle „Ursprung der Nachbesserungsaktion“ [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 für Nachbesserungsaktion, z. B. „Erfolgreich“, „Duplicate_Request“ oder „Fehlgeschlagen“.
    <Object>.actionAusführungRequestId Sys_id des neuen Datensatzes für die Ausführung der Korrekturaktion oder des doppelten gleichzeitigen Datensatzes für die Ausführung der Korrekturaktion
    <Object>.übergeordneterDatensatz Sys_id des übergeordneten Datensatzes des doppelten Ausführungsdatensatzes der gleichzeitigen Nachbesserungsaktion.
    <Object>.übergeordneteTabelle Tabellenname des übergeordneten Datensatzes des doppelten Ausführungsdatensatzes der gleichzeitigen Korrekturaktion.

    Das folgende Beispiel zeigt, wie eine 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 Benutzer die Ausführung der angegebenen Nachbesserungsaktion 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
    remedialActionAusführung Zeichenfolge oder GlideRecord Sys_id oder GlideRecord der Tabelle „Ausführung der Nachbesserungsaktion“ [sn_reacf_remedial_action_execution].
    Tabelle : 4. Ergebnisse
    Typ Beschreibung
    Boolean

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

    Gültige Werte:
    • true: Die Ausführungsanforderung für die Nachbesserungsaktion kann abgebrochen werden.
    • false: Die angegebene Anforderung zur Ausführung der Nachbesserungsaktion kann nicht abgebrochen werden.

    Das folgende Beispiel zeigt, wie Sie überprüfen, ob der aktuelle Benutzer die Ausführung einer Nachbesserungsaktion 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 eine Anforderung zur Ausführung einer Nachbesserungsaktion 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
    remedialActionAusführung Zeichenfolge oder GlideRecord Sys_id oder GlideRecord der Tabelle „Ausführung der Nachbesserungsaktion“ [sn_reacf_remedial_action_execution].
    Tabelle : 6. Ergebnisse
    Typ Beschreibung
    Boolean

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

    Gültige Werte:
    • true: Die angegebene Anforderung zur Ausführung der Nachbesserungsaktion wurde erfolgreich abgebrochen. Mit dem Status „true“ wird der Ausführungsdatensatz auf den Status „Abgebrochen“ aktualisiert.
    • false: Die angegebene Anforderung zur Ausführung der Nachbesserungsaktion wurde nicht erfolgreich abgebrochen.

    Das folgende Beispiel zeigt, wie die Ausführung einer Nachbesserungsaktion in Bezug auf den aktuellen Status abgebrochen wird.

    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 (String remedialActionExecution)

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

    Tabelle : 7. Parameter
    Name Typ Beschreibung
    remedialActionAusführung Zeichenfolge oder GlideRecord Sys_id oder GlideRecord der Tabelle „Ausführung der Nachbesserungsaktion“ [sn_reacf_remedial_action_execution].
    Tabelle : 8. Ergebnisse
    Typ Beschreibung
    Objekt

    Objekt enthält „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 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 (String remedialActionExecution)

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

    Tabelle : 9. Parameter
    Name Typ Beschreibung
    remedialActionAusführung Zeichenfolge oder GlideRecord Sys_id oder GlideRecord der Tabelle „Ausführung der Nachbesserungsaktion“ [sn_reacf_remedial_action_execution].
    Tabelle : 10. Ergebnisse
    Typ Beschreibung
    Objekt

    Das Objekt enthält das Statusobjekt mit dem Wert und den Anzeigewert des Zielaktionsstatus sowie ein Nutzlast-Array mit den Zielaktionsausgaben, die als Teil der Ausführung der Nachbesserungsaktion 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 der aktuelle Ausführungsstatus und die Ausgabenutzlast der Zielaktion abgerufen werden.

    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 (String remedialAction, String 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 Nachbesserungsaktion angibt.
    • true: Die Nachbesserungsaktion gilt für den angegebenen Zieldatensatz.
    • false: Die Nachbesserungsaktion 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)

    Überprüft, ob der Benutzer zum Ausführen der Nachbesserungsaktion berechtigt ist.

    Tabelle : 13. Parameter
    Name Typ Beschreibung
    remedialAction Zeichenfolge oder GlideRecord Sys_id oder interner_name oder GlideRecord der Tabelle „Nachbesserungsaktion“ [sn_reacf_remedial_action].
    Tabelle : 14. Ergebnisse
    Typ Beschreibung
    Boolean

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

    • true: Die Autorisierung des Benutzers ist erfolgreich.
    • false: Die Autorisierung des Benutzers ist nicht erfolgreich.

    Das folgende Beispiel zeigt, wie die Autorisierung zum Ausführen einer Nachbesserungsaktion ü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