CIActionEngine – Umfang

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 2 Minuten Lesedauer
  • Die CIActionEngine Die API bietet Methoden, mit denen Sie Aktionen für ein Konfigurationselement (Configuration Item, CI) ausführen, die Autorisierung eines Anwenders vor der Ausführung einer Aktion überprüfen und den Status und die Aktionsausgaben einer Aktionsausführungsanforderung abrufen können.

    Die CI-Aktion ist der Anwendung Metriken und CI-Aktionen-Framework zugeordnet. Um diese Klasse in einer bereichsbezogenen Anwendung zu verwenden, verwenden Sie sn_cimaf Namespace-Bezeichner. Die CIActionEngine Die API erfordert das Plugin „Metriken und CI-Aktionen Framework“ (com.snc.sn_cimaf) und wird in bereitgestellt sn_cimaf Namespace.

    CIActionEngine – execute()

    Führt eine beliebige Aktion für ein CI mit den konfigurierten Aktionsparametern aus.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Aktion Zeichenfolge oder Glide-Datensatz SYS_ID oder GlideRecord der Aktionstabelle [sn_cimaf_action].
    CI Zeichenfolge oder Glide-Datensatz SYS_ID oder GlideRecord der CMDB-Tabelle [cmdb_ci], für die die Aktion ausgeführt werden muss
    actionParams Objekt

    Optional. Zuordnung von Aktionsparameternamen und -Werten.

    {
     “<parameter name>”: <parameter value>
    }
    Hinweis:
    Parameterwerte müssen vom Typ sein, der in der Tabelle „Aktionsparameter“ [sn_cimaf_action_Parameter] definiert ist.
    Tabelle : 2. Rückgaben
    Typ Beschreibung
    Zeichenfolge SYS_ID der neuen oder vorhandenen doppelten Aktionsanforderung in Bearbeitung.

    Das folgende Beispiel zeigt, wie ein Prozess für ein CI beendet wird.

    var actionSysId = "6303db0d53b99910ae50ddeeff7b121e";	 
    //Sys_id of the Action – End Process 
    var ciSysId = "b4fd7c8437201000deeabfc8bcbe5dc1"; //Sys_id of the CI 
    var actionParams = { 
        process_id: 23342 //Process id of the process to be killed 
    }; 
     
    var ciActionEngine = new sn_cimaf.CIActionEngine(); 
    var actionRequestId = ciActionEngine.execute(actionSysId, ciSysId, actionParams); 
     
    gs.info("Action Request Id: " + actionRequestId);

    Ausgabe:

    Action Request Id: e34e3a199d16a510f877a45cc5e8a492

    CIActionEngine – getActionRequestOutput()

    Ruft den Status und die Aktionsausgaben einer Aktionsausführungsanforderung ab.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    ActionRequest Glide-Datensatz GlideRecord der Tabelle „Aktionsanforderung“ [sn_cimaf_action_Request].
    Tabelle : 4. Rückgaben
    Typ Beschreibung
    Objekt Objekt enthält den Status und die Liste der Aktionsausgaben der angegebenen Aktionsanforderung.
    { 
        “sys_id”: “String”, 
        “state”: “String”, //Possible values: completed, in_progress, failed 
        “sn_cimaf_action_output”: [ 
              { 
                    “sys_id”: “String”, 
                    “action_command”: “String”, //Sys_id of the Action Configuration Step table 
                    “payload”: “String”, 
                    “state”: “String”, //Possible values: completed, in_progress, failed, validation_failure 
                    “request_id”: “String” //Unique id returned by Provider on executing action_command 
              } 
          ] 
    } 

    Das folgende Beispiel zeigt, wie Status- und Aktionsausgaben für eine Aktionsanforderung abgerufen werden.

    var actionRequestGr = new GlideRecord('sn_cimaf_action_request'); 
    actionRequestGr.get('e34e3a199d16a510f877a45cc5e8a492'); 
     
    var ciActionEngine = new sn_cimaf.CIActionEngine(); 
    var actionRequestOutput = ciActionEngine.getActionRequestOutput(actionRequestGr); 
    gs.info("Action Request Output: " + JSON.stringify(actionRequestOutput, null, 2));

    Ausgabe:

    {
      "sys_id": "e34e3a199d16a510f877a45cc5e8a492",
      "state": "completed",
      "sn_cimaf_action_output": [
        {
          "sys_id": "405ef2599d16a510f877a45cc5e8a41e",
          "action_command": "b0e43efb53259510ae50ddeeff7b129b",
          "payload": "{\"output\":\"SUCCESS: The process with PID 23342 has been terminated.\\r\\n\",\"cmd\":\"taskkill /pid 23342 /f\"}",
          "state": "completed",
          "request_id": "cc5ef2599d16a510f877a45cc5e8a41d"
        }
      ]
    }

    CIActionEngine – IsAuthorized()

    Überprüft die Autorisierung des angemeldeten Anwenders, bevor er eine Aktion gemäß den angegebenen Konfigurationen ausführen kann.

    Die Konfigurationen werden in den Tabellen Aktionsrolle [sn_cimaf_action_role], Aufnahme der Anwenderkriterienaktion [sn_cimaf_action_user_Criteria_mtom] und Ausschluss der Anwenderkriterienaktion [sn_cimaf_action_user_Criteria_no_mtom] definiert.

    Hinweis:
    Wenn in einer dieser Tabellen für die Aktion keine Konfiguration vorhanden ist, schlägt die Autorisierung standardmäßig fehl.
    Tabelle : 5. Parameter
    Name Typ Beschreibung
    Aktion Glide-Datensatz GlideRecord der Aktionstabelle [sn_cimaf_action].
    Tabelle : 6. Rückgaben
    Typ Beschreibung
    Boolean

    Kennzeichnung, die den Erfolg der Autorisierung des Anwenders angibt.

    Gültige Werte:
    • Wahr: Der Anwender ist berechtigt, die Aktion auszuführen.
    • Falsch: Der Anwender ist berechtigt, die Aktion auszuführen.

    Im folgenden Beispiel wird verwendet IsAuthorized() Methode zum Überprüfen der Autorisierung eines Anwenders zum Ausführen einer Aktion für ein CI.

    var actionSysId = "6303db0d53b99910ae50ddeeff7b121e" //Sys_id of the Action 
    var actionGr = new GlideRecord('sn_cimaf_action'); 
    actionGr.get('6303db0d53b99910ae50ddeeff7b121e'); 
     
    var ciActionEngine = new sn_cimaf.CIActionEngine(); 
    var isAuthorized = ciActionEngine.isAuthorized(actionGr); 
    gs.info("Is user authorized: " + isAuthorized);
    Is user authorized: true