StateManagementScriptableApi : Global

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 6 Minuten Lesedauer
  • StateManagementScriptableApi bietet eine Reihe von Methoden zum Bearbeiten des Betriebsstatus von Configuration Item (CI) und zum Anwenden von CI-Aktionen.

    Die StateManagementScriptableApi- Methoden halten sich an Einschränkungen und Toleranzen, die durch unzulässige CI-Aktionen, kompatible CI-Aktionen und unzulä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. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Eine JSON-formatierte Zeichenfolge mit Name-Wert-Paaren.
    Mögliche Werte:
    • ciActions: Durch Kommas getrennte Liste aktiver CI-Aktionen für das CI oder „no_active_action“.
    • Fehler: Liste der Fehler.

    Das folgende Beispiel zeigt, wie Sie aktive Aktionen für eine Liste von Configuration Items abrufen.

    // 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. Ergebnisse
    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 Sie die Betriebsstatus einer Liste angegebener Configuration Items abrufen.

    // 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 der angegebene Anforderer 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 von der registrierenOperator()- Methode zurückgegebene GUID.
    Tabelle : 18. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Name-Wert-Paare im JSON-Format.
    Mögliche Werte:
    • Ergebnis: „ wahr “, wenn die requestorId gültig ist.
    • errors – Liste der Fehler.

    In diesem Beispiel wird gezeigt, wie mit der Methode isValidRequestor() überprüft wird, 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 von der registrierenOperator()- Methode zurückgegebene GUID.
    Tabelle : 26. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Name-Wert-Paare im JSON-Format.
    Mögliche Werte:
    • Ergebnis: „ wahr “, wenn die Registrierung erfolgreich aufgehoben wurde
    • errors – Liste der Fehler.

    Dieses Beispiel zeigt, wie Sie mit der Methode unregisterOperator() die Registrierung eines registrierten Anwenders aufheben.

    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}