StateManagementScriptableApi – Global

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 6 Minuten Lesedauer
  • Die StateManagementScriptableApi Stellt eine Reihe von Methoden zum Bearbeiten von betriebsstatus von Konfigurationselementen (Configuration Item, CI) und zum Anwenden von CI-Aktionen bereit.

    Die StateManagementScriptableApi Methoden entsprechen Einschränkungen und Berechtigungen, die durch nicht zulässige CI-Aktionen, kompatible CI-Aktionen und nicht zulässige Betriebsübergänge angegeben sind. Wenn eine Methode versucht, eine eingeschränkte Operation auszuführen, wird die Operation blockiert, ein Fehler wird protokolliert und gegebenenfalls eine Aufgabe erstellt.

    Die StateManagementScriptableApi Methoden sind statische Methoden. Sie greifen auf die Methoden über das globale Objekt SNC.StateManagementScriptableApi zu.

    StateManagementScriptableApi – addBulkCIAction(String requestorId, String sysIdList, String ciActionName, String ciActionListOld, String leaseTime)

    Fügen Sie einer Liste von CIs eine CI-Aktion hinzu.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    requestorId Zeichenfolge Eine sys_id eines Workflow-Kontexts oder die GUID, die von der registerOperator()-Methode zurückgegeben wurde.
    sysIdList Zeichenfolge Eine kommagetrennte Liste mit CI-sys_ids.
    ciActionName Zeichenfolge Der CI-Aktionsname.
    ciActionListOld Zeichenfolge (Optional) Kommagetrennte Liste alter CI-Aktionen, in der alle CIs enthalten sein sollten.
    leaseTime Zeichenfolge (Optional) Zeitdauer, für die das Leasing für die angegebene CI-Aktion gültig ist. Im Format HH:MM:SS.
    Tabelle : 2. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Eine JSON-formatierte Zeichenfolge mit Name-Wert-Paaren für
    • result – „true“, wenn die Aktion für alle CIs in der Liste festgelegt ist; ansonsten „false“.
    • errors – Liste der Fehler.

    StateManagementScriptableApi – extendCIActionLease(String requestorId, String ciSysId, String ciActionName, String leaseTime)

    Verlängern Sie die Leasingdauer der CI-Aktion für den registrierten Benutzer. Wenn das vorherige Leasing abgelaufen ist, beginnt jetzt die neue Leasingdauer.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    requestorId Zeichenfolge Eine sys_id eines Workflow-Kontexts oder die GUID, die von der registerOperator()-Methode zurückgegeben wurde.
    ciSysId Zeichenfolge Die sys_id des CIs.
    ciActionName Zeichenfolge Der CI-Aktionsname.
    leaseTime Zeichenfolge Zeitdauer, für die das Leasing für die angegebene CI-Aktion gültig ist. Im Format HH:MM:SS.
    Tabelle : 4. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Eine JSON-formatierte Zeichenfolge mit Name-Wert-Paaren für
    • result – „true“, wenn die Leasingdauer eingestellt wurde.
    • errors – Liste der Fehler.

    StateManagementScriptableApi – getCIActions(String ciSysId)

    Gibt eine Liste aktiver CI-Aktionen für das angegebene CI zurück.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    ciSysId Zeichenfolge SYS_ID des CI.
    Tabelle : 6. Rückgaben
    Typ Beschreibung
    Zeichenfolge Eine JSON-formatierte Zeichenfolge mit Name-Wert-Paaren.
    Mögliche Werte:
    • CiActions: Kommagetrennte Liste aktiver CI-Aktionen für das CI, oder No_Active_action .
    • Fehler: Liste der Fehler.

    Das folgende Beispiel zeigt, wie aktive Aktionen für eine Liste von Konfigurationselementen abgerufen werden.

    // Store sys_ids of configuration items for which to get data
    var CIArray = ["a9c0c8d2c6112276018f7705562f9cb0","0c43bc4fc61122750182c132411702f2","46bbf419a9fe1981009802288c1eb79d","46a4381ca9fe1981005c3e99af3cd164","0c43bcbdc61122750182c132e9b6565d"];
    
    var output = '';
    
    // looping above array to fetch each sys_id and passing to method
    for(var i=0; i < CIArray.length; i++) {
    
      // passing sys_id of CI stored in array to method
      output = SNC.StateManagementScriptableApi.getCIActions(CIArray[i]);
    
      // print a JSON formatted string with name-value pairs
      gs.print(output);
    }

    Ausgabe:

    {"ciActions":["no_active_action"],"result":true}
    {"ciActions":["no_active_action"],"result":true}
    {"ciActions":["no_active_action"],"result":true}
    {"ciActions":["no_active_action"],"result":true}
    {"ciActions":["no_active_action"],"result":true}

    StateManagementScriptableApi – getOperationalState(String ciSysId)

    Gibt den Betriebsstatus des CI zurück.

    Tabelle : 7. Parameter
    Name Typ Beschreibung
    ciSysId Zeichenfolge SYS_ID des CI.
    Tabelle : 8. Rückgaben
    Typ Beschreibung
    Zeichenfolge Eine JSON-formatierte Zeichenfolge mit Name-Wert-Paaren.
    Mögliche Werte:
    • CiActions: Zeichenfolgenauswahlwerte des Felds Operational_Status, oder UNBEKANNT .
    • Fehler: Liste der Fehler.

    Das folgende Beispiel zeigt, wie die betriebsstatus einer Liste angegebener Konfigurationselemente abgerufen werden.

    // Store sys_ids of configuration items for which to get the operational state.
    var CIArray = ["0c43bc4fc61122750182c132411702f2","46bbf419a9fe1981009802288c1eb79d","46a4381ca9fe1981005c3e99af3cd164","0c43bcbdc61122750182c132e9b6565d","a9c0c8d2c6112276018f7705562f9cb0"];
    
    var output = '';
    
    // Loop the array to fetch each sys_id and pass to the method.
    for(var i=0;i<CIArray.length;i++) {
      // Pass sys_id of CI stored in array to the method  
      output = SNC.StateManagementScriptableApi.getOperationalState(CIArray[i]); 
    
      // prints a JSON formatted string with name-value pairs
      gs.print(output);
    }

    Ausgabe:

    *** Script: {"operationalState":"Operational","result":true}
    *** Script: {"operationalState":"Operational","result":true}
    *** Script: {"operationalState":"Operational","result":true}
    *** Script: {"operationalState":"Operational","result":true}
    ci_state_management                        : INVALID_SYS_ID: Invalid sys_id [a9c0c8d2c6112276018f7705562f9cb0]: no thrown error
    *** Script: {"errors":[{"error":"INVALID_SYS_ID","message":"Invalid sys_id [a9c0c8d2c6112276018f7705562f9cb0]"}],"operationalState":"unknown","result":false}

    StateManagementScriptableApi – isCompatibleCIAction(String actionName, String otherActionName)

    Ermittelt, ob die zwei angegebenen Aktionen kompatibel sind.

    Tabelle : 9. Parameter
    Name Typ Beschreibung
    actionName Zeichenfolge Ein CI-Aktionsname
    otherActionName Zeichenfolge Ein CI-Aktionsname
    Tabelle : 10. Ergebnisse
    Typ Beschreibung
    Boolean Gibt „true“ zurück, wenn die beiden angegebenen CI-Aktionen kompatibel sind.

    StateManagementScriptableApi – isLeaseExpired(String requestorId, String ciSysId, String ciActionName)

    Ermittelt, ob das Leasing für die anfordernde Person einer angegebenen CI-Aktion abgelaufen ist.

    Tabelle : 11. Parameter
    Name Typ Beschreibung
    requestorId Zeichenfolge Eine sys_id eines Workflow-Kontexts oder die GUID, die von der registerOperator()-Methode zurückgegeben wurde.
    ciSysId Zeichenfolge Die sys_id des CIs.
    ciActionName Zeichenfolge Name der CI-Aktion.
    Tabelle : 12. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Eine JSON-formatierte Zeichenfolge mit Name-Wert-Paaren für
    • result – „true“, wenn das Leasing des Benutzers abgelaufen ist.
    • errors – Liste der Fehler.

    StateManagementScriptableApi – isNotAllowedAction(String ciType, String opsLabel, String actionName)

    Bestimmen Sie für einen CI-Typ, ob eine CI-Aktion für einen Betriebsstatus nicht zulässig ist.

    Tabelle : 13. Parameter
    Name Typ Beschreibung
    ciType Zeichenfolge Der CI-Typ
    opsLabel Zeichenfolge Betriebsstatus
    actionName Zeichenfolge Der CI-Aktionsname
    Tabelle : 14. Ergebnisse
    Typ Beschreibung
    Boolean Gibt „true“ zurück, wenn die Aktion für den angegebenen CI-Typ im angegebenen Betriebsstatus nicht zulässig ist.

    StateManagementScriptableApi – isNotAllowedOpsTransition(String ciType, String opsLabel, String transitionOpsLabel)

    Bestimmen Sie für einen CI-Typ, ob ein Betriebsstatusübergang unzulässig ist.

    Tabelle : 15. Parameter
    Name Typ Beschreibung
    ciType Zeichenfolge Der CI-Typ
    opsLabel Zeichenfolge Bezeichnung des Betriebsstatus am Anfang.
    transitionOpsLabel Zeichenfolge Bezeichnung des Betriebsstatus am Ende.
    Tabelle : 16. Ergebnisse
    Typ Beschreibung
    Boolean Gibt „true“ zurück, wenn der angegebene Betriebsstatusübergang für den angegebenen CI-Typ nicht zulässig ist.

    StateManagementScriptableApi – isValidRequestor(String requestorId)

    Bestimmt, ob die angegebene anfordernde Person ein gültiger aktiver Workflow-Anwender oder ein registrierter Anwender ist.

    Tabelle : 17. Parameter
    Name Typ Beschreibung
    requestorId Zeichenfolge SYS_ID eines Workflow-Kontexts oder die GUID, die von zurückgegeben wird RegisterOperator() Methode.
    Tabelle : 18. Rückgaben
    Typ Beschreibung
    Zeichenfolge JSON-formatierte Name-Wert-Paare.
    Mögliche Werte:
    • Ergebnis – Wahr Ob die Anforderungs-ID gültig ist.
    • errors – Liste der Fehler.

    Dieses Beispiel zeigt die Verwendung von IsValidRequestor() Methode zum Überprüfen, ob ein Operator ein registrierter Anwender ist.

    var output = SNC.StateManagementScriptableApi.registerOperator();
    var jsonUtil = new JSON();
    var result = jsonUtil.decode(output);
    var requestorId = result.requestorId; // Fetching requestorId
    
    output = SNC.StateManagementScriptableApi.isValidRequestor(requestorId);
    gs.info(output);

    Ausgabe:

    {"result":true}

    StateManagementScriptableApi – registerOperator()

    Registriert einen Operator für einen nicht-Workflow-Anwender.

    Tabelle : 19. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 20. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Eine JSON-formatierte Zeichenfolge mit Name-Wert-Paaren für
    • requestorid – registrierte Benutzer-GUID, die zum Festlegen der CI-Aktion/Betriebsstatus verwendet wird.
    • result – „true“, wenn erfolgreich registriert.
    • errors – Liste der Fehler.
    
    var output = SNC.StateManagementScriptableApi.registerOperator();
    var jsonUntil = new JSON();
    var result = jsonUntil.decode(output);
    var requestorId = result.requestorId;
    

    StateManagementScriptableApi – removeBulkCIAction(String requestorId, String sysIdList, String ciActionName)

    Entfernt eine CI-Aktion für eine Liste von CIs.

    Tabelle : 21. Parameter
    Name Typ Beschreibung
    requestorId Zeichenfolge Eine sys_id eines Workflow-Kontexts oder die GUID, die von der registerOperator()-Methode zurückgegeben wurde.
    sysIdList Zeichenfolge Eine kommagetrennte Liste mit CI-sys_ids.
    ciActionName Zeichenfolge Der CI-Aktionsname
    Tabelle : 22. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Eine JSON-formatierte Zeichenfolge mit Name-Wert-Paaren für
    • result – „true“, wenn die Aktion für alle CIs in der Liste entfernt wird; ansonsten „false“.
    • errors – Liste der Fehler.

    StateManagementScriptableApi – setBulkCIOperationalState(String requestorId, String sysIdList, String opsLabel, String opsStateListOld)

    Legen Sie den Betriebsstatus für die Liste der CIs fest.

    Tabelle : 23. Parameter
    Name Typ Beschreibung
    requestorId Zeichenfolge Eine sys_id eines Workflow-Kontexts oder die GUID, die von der registerOperator()-Methode zurückgegeben wurde.
    sysIdList Zeichenfolge Eine kommagetrennte Liste mit CI-sys_ids.
    opsLabel Zeichenfolge Dies ist die Zeichenfolgenbezeichnung einer operational_status-Auswahl.
    opsStateListOld Zeichenfolge (Optional) Kommagetrennte Liste alter CI-Status, in der alle CIs enthalten sein sollten.
    Tabelle : 24. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Eine JSON-formatierte Zeichenfolge mit Name-Wert-Paaren für
    • result – „true“, wenn der Status für alle CIs in der Liste festgelegt ist; ansonsten „false“.
    • errors – Liste der Fehler.
    var output = SNC.StateManagementScriptableApi.registerOperator();
    var jsonUntil = new JSON();
    var result = jsonUtil.decode(output);
    var requestorId = result.requestorId;
    
    // list of sys_ids to update
    var sys_ids;
    
    // Set list of sys_ids's Operational State to 'Repair in Progress'
    output = SNC.StateManagementScriptableApi.setBulkCIOperationalState(requestorId, sys_ids,'Repair in Progress');
    gs.print(output);
    

    StateManagementScriptableApi – unregisterOperator( String requestorId)

    Hebt die Registrierung eines Operators für nicht-Workflow-Anwender auf.

    Tabelle : 25. Parameter
    Name Typ Beschreibung
    requestorId Zeichenfolge SYS_ID eines Workflow-Kontexts oder die GUID, die von zurückgegeben wird RegisterOperator() Methode.
    Tabelle : 26. Rückgaben
    Typ Beschreibung
    Zeichenfolge JSON-formatierte Name-Wert-Paare.
    Mögliche Werte:
    • Ergebnis – Wahr Wenn die Registrierung erfolgreich aufgehoben wurde
    • errors – Liste der Fehler.

    Dieses Beispiel zeigt die Verwendung von UnregisterOperator() Methode zum Aufheben der Registrierung eines registrierten Anwenders.

    var output = SNC.StateManagementScriptableApi.registerOperator();
    var jsonUtil = new JSON();
    var result = jsonUtil.decode(output);
    var requestorId = result.requestorId; // Fetching requestorId
    
    output = SNC.StateManagementScriptableApi.unregisterOperator(requestorId);
    gs.info(output); 

    Ausgabe:

    {"result":true}