---
sourceDocument: Xanadu-API-Referenz
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/de-DE/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - de-DE

ft:publication_title :

    - Xanadu-API-Referenz

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# StateManagementScriptableApi : Global

# StateManagementScriptableApi : Global {#ariaid-title1}

* Freigeben Version: Xanadu
* 
* Aktualisiert 1. August 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 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) {#ariaid-title2}

Fügen Sie einer Liste von CIs eine CI-Aktion hinzu.
{#SMSA-addBulkCIAction_S_S_S_S_S__table_g5l_w4s_px__entry__3}

| 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 : 1. Parameter]

{#SMSA-addBulkCIAction_S_S_S_S_S__table_g5l_w4s_px} {#SMSA-addBulkCIAction_S_S_S_S_S__table_h5l_w4s_px__entry__2}

| 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. {#SMSA-addBulkCIAction_S_S_S_S_S__ul_ewf_5vl_px} |
[Tabelle : 2. Ergebnisse]

{#SMSA-addBulkCIAction_S_S_S_S_S__table_h5l_w4s_px}

## StateManagementScriptableApi -- extendCIActionLease(String requestorId, String ciSysId, String ciActionName, String leaseTime) {#ariaid-title3}

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

| 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 : 3. Parameter]

{#SMSA-extendCIActionLease_S_S_S_S__table_f24_j3s_px} {#SMSA-extendCIActionLease_S_S_S_S__table_g24_j3s_px__entry__2}

| Typ | Beschreibung |
|-|-|
| Zeichenfolge | Eine JSON-formatierte Zeichenfolge mit Name-Wert-Paaren für * result -- „true", wenn die Leasingdauer eingestellt wurde. * errors -- Liste der Fehler. {#SMSA-extendCIActionLease_S_S_S_S__ul_ewf_5vl_px} |
[Tabelle : 4. Ergebnisse]

{#SMSA-extendCIActionLease_S_S_S_S__table_g24_j3s_px}

## StateManagementScriptableApi -- getCIActions(String ciSysId) {#ariaid-title4}

Gibt eine Liste aktiver CI-Aktionen für das angegebene CI zurück.
{#SMSA-getCIActions_S__table_ql1_fws_px__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| ciSysId | Zeichenfolge | Sys_id des CI. |
[Tabelle : 5. Parameter]

{#SMSA-getCIActions_S__table_ql1_fws_px} {#SMSA-getCIActions_S__table_rl1_fws_px__entry__2}

| 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. {#SMSA-getCIActions_S__ul_ewf_5vl_px} |
[Tabelle : 6. Ergebnisse]

{#SMSA-getCIActions_S__table_rl1_fws_px}  
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) {#ariaid-title5}

Gibt den Betriebsstatus des CI zurück.
{#SMSA-getCIOperationalState_S__table_n5f_1ns_px__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| ciSysId | Zeichenfolge | Sys_id des CI. |
[Tabelle : 7. Parameter]

{#SMSA-getCIOperationalState_S__table_n5f_1ns_px} {#SMSA-getCIOperationalState_S__table_o5f_1ns_px__entry__2}

| 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. {#SMSA-getCIOperationalState_S__ul_ewf_5vl_px} |
[Tabelle : 8. Ergebnisse]

{#SMSA-getCIOperationalState_S__table_o5f_1ns_px}  
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) {#ariaid-title6}

Ermittelt, ob die zwei angegebenen Aktionen kompatibel sind.
{#SMSA-isCompatibleCIAction_S_S__table_fkl_v1t_px__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| actionName | Zeichenfolge | Ein CI-Aktionsname |
| otherActionName | Zeichenfolge | Ein CI-Aktionsname |
[Tabelle : 9. Parameter]

{#SMSA-isCompatibleCIAction_S_S__table_fkl_v1t_px} {#SMSA-isCompatibleCIAction_S_S__table_gkl_v1t_px__entry__2}

| Typ | Beschreibung |
|-|-|
| Boolean | Gibt „true" zurück, wenn die beiden angegebenen CI-Aktionen kompatibel sind. |
[Tabelle : 10. Ergebnisse]

{#SMSA-isCompatibleCIAction_S_S__table_gkl_v1t_px}

## StateManagementScriptableApi -- isLeaseExpired(String requestorId, String ciSysId, String ciActionName) {#ariaid-title7}

Ermittelt, ob das Leasing für die anfordernde Person einer angegebenen CI-Aktion abgelaufen ist.
{#SMSA-isLeaseExpired_S_S_S__table_ot5_v5r_px__entry__3}

| 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 : 11. Parameter]

{#SMSA-isLeaseExpired_S_S_S__table_ot5_v5r_px} {#SMSA-isLeaseExpired_S_S_S__table_pt5_v5r_px__entry__2}

| 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. {#SMSA-isLeaseExpired_S_S_S__ul_ewf_5vl_px} |
[Tabelle : 12. Ergebnisse]

{#SMSA-isLeaseExpired_S_S_S__table_pt5_v5r_px}

## StateManagementScriptableApi -- isNotAllowedAction(String ciType, String opsLabel, String actionName) {#ariaid-title8}

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

| Name | Typ | Beschreibung |
|-|-|-|
| ciType | Zeichenfolge | Der CI-Typ |
| opsLabel | Zeichenfolge | Betriebsstatus |
| actionName | Zeichenfolge | Der CI-Aktionsname |
[Tabelle : 13. Parameter]

{#SMSA-isNotAllowedAction_S_S_S__table_lzz_cxs_px} {#SMSA-isNotAllowedAction_S_S_S__table_mzz_cxs_px__entry__2}

| Typ | Beschreibung |
|-|-|
| Boolean | Gibt „true" zurück, wenn die Aktion für den angegebenen CI-Typ im angegebenen Betriebsstatus nicht zulässig ist. |
[Tabelle : 14. Ergebnisse]

{#SMSA-isNotAllowedAction_S_S_S__table_mzz_cxs_px}

## StateManagementScriptableApi -- isNotAllowedOpsTransition(String ciType, String opsLabel, String transitionOpsLabel) {#ariaid-title9}

Bestimmen Sie für einen CI-Typ, ob ein Betriebsstatusübergang unzulässig ist.
{#SMSA-isNotAllowedOpsTransition_S_S_S__table_erm_mys_px__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| ciType | Zeichenfolge | Der CI-Typ |
| opsLabel | Zeichenfolge | Bezeichnung des Betriebsstatus am Anfang. |
| transitionOpsLabel | Zeichenfolge | Bezeichnung des Betriebsstatus am Ende. |
[Tabelle : 15. Parameter]

{#SMSA-isNotAllowedOpsTransition_S_S_S__table_erm_mys_px} {#SMSA-isNotAllowedOpsTransition_S_S_S__table_frm_mys_px__entry__2}

| Typ | Beschreibung |
|-|-|
| Boolean | Gibt „true" zurück, wenn der angegebene Betriebsstatusübergang für den angegebenen CI-Typ nicht zulässig ist. |
[Tabelle : 16. Ergebnisse]

{#SMSA-isNotAllowedOpsTransition_S_S_S__table_frm_mys_px}

## StateManagementScriptableApi -- isValidRequestor(String requestorId) {#ariaid-title10}

Bestimmt, ob der angegebene Anforderer ein gültiger aktiver Workflow-Anwender oder ein registrierter Anwender ist.
{#SMSA-isValidRequestor_S__table_dr5_5sr_px__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| requestorId | Zeichenfolge | Sys_id eines Workflow-Kontexts oder die von der registrierenOperator()- Methode zurückgegebene GUID. |
[Tabelle : 17. Parameter]

{#SMSA-isValidRequestor_S__table_dr5_5sr_px} {#SMSA-isValidRequestor_S__table_er5_5sr_px__entry__2}

| Typ | Beschreibung |
|-|-|
| Zeichenfolge | Name-Wert-Paare im JSON-Format. Mögliche Werte: * Ergebnis: „ wahr ", wenn die requestorId gültig ist. * errors -- Liste der Fehler. |
[Tabelle : 18. Ergebnisse]

{#SMSA-isValidRequestor_S__table_er5_5sr_px}  
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() {#ariaid-title11}

Registriert einen Operator für einen Nicht-Workflow-Anwender.
{#SMSA-registerOperator__table_l5c_hvl_px__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 19. Parameter]

{#SMSA-registerOperator__table_l5c_hvl_px} {#SMSA-registerOperator__table_m5c_hvl_px__entry__2}

| 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. {#SMSA-registerOperator__ul_ewf_5vl_px} |
[Tabelle : 20. Ergebnisse]

{#SMSA-registerOperator__table_m5c_hvl_px}  


    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) {#ariaid-title12}

Entfernt eine CI-Aktion für eine Liste von CIs.
{#SMSA-removeBulkCIAction_S_S_S__table_iz1_2vs_px__entry__3}

| 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 : 21. Parameter]

{#SMSA-removeBulkCIAction_S_S_S__table_iz1_2vs_px} {#SMSA-removeBulkCIAction_S_S_S__table_jz1_2vs_px__entry__2}

| 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. {#SMSA-removeBulkCIAction_S_S_S__ul_ewf_5vl_px} |
[Tabelle : 22. Ergebnisse]

{#SMSA-removeBulkCIAction_S_S_S__table_jz1_2vs_px}

## StateManagementScriptableApi -- setBulkCIOperationalState(String requestorId, String sysIdList, String opsLabel, String opsStateListOld) {#ariaid-title13}

Legen Sie den Betriebsstatus für die Liste der CIs fest.
{#SMSA-setBulkCIOpState_S_S_S_S__table_hgf_5ks_px__entry__3}

| 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 : 23. Parameter]

{#SMSA-setBulkCIOpState_S_S_S_S__table_hgf_5ks_px} {#SMSA-setBulkCIOpState_S_S_S_S__table_igf_5ks_px__entry__2}

| 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. {#SMSA-setBulkCIOpState_S_S_S_S__ul_ewf_5vl_px} |
[Tabelle : 24. Ergebnisse]

{#SMSA-setBulkCIOpState_S_S_S_S__table_igf_5ks_px}  

    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) {#ariaid-title14}

Hebt die Registrierung eines Operators für Nicht-Workflow-Anwender auf.
{#SMSA-unregisterOperator_S__table_pwv_2xl_px__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| requestorId | Zeichenfolge | Sys_id eines Workflow-Kontexts oder die von der registrierenOperator()- Methode zurückgegebene GUID. |
[Tabelle : 25. Parameter]

{#SMSA-unregisterOperator_S__table_pwv_2xl_px} {#SMSA-unregisterOperator_S__table_qwv_2xl_px__entry__2}

| Typ | Beschreibung |
|-|-|
| Zeichenfolge | Name-Wert-Paare im JSON-Format. Mögliche Werte: * Ergebnis: „ wahr ", wenn die Registrierung erfolgreich aufgehoben wurde * errors -- Liste der Fehler. |
[Tabelle : 26. Ergebnisse]

{#SMSA-unregisterOperator_S__table_qwv_2xl_px}  
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}


