---
sourceDocument: Referência de API do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Referência de API do Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# StateManagementScriptableApi - Global

# StateManagementScriptableApi - Global {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 8 min. de leitura

A StateManagementScriptableApi fornece um conjunto de métodos para manipular estados operacionais de item de configuração (IC) e aplicar ações de IC.

Os métodos StateManagementScriptableApi aderem às restrições e permissões especificadas por ações de IC não permitidas, ações de IC compatíveis e transições operacionais não permitidas. Se um método tentar executar uma operação restrita, a operação será bloqueada, um erro será registrado e uma tarefa será criada, se apropriado.

Os métodos StateManagementScriptableApi são métodos estáticos. Você acessa os métodos usando o objeto global `SNC.StateManagementScriptableApi`.

## StateManagementScriptableApi - addBulkCIAction(cadeia de caracteres requestorId, cadeia de caracteres sysIdList, cadeia de caracteres ciActionName, cadeia de caracteres ciActionListOld, cadeia de caracteres leaseTime) {#ariaid-title2}

Adicione uma ação de IC a uma lista de ICs.
{#SMSA-addBulkCIAction_S_S_S_S_S__table_g5l_w4s_px__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| ID do solicitante | Cadeia de caracteres | Um sys_id de um contexto de fluxo de trabalho ou o GUID retornado do método registerOperator(). |
| sysIdList | Cadeia de caracteres | Uma lista separada por vírgulas de IC sys_ids. |
| ciActionName | Cadeia de caracteres | O nome da ação de IC. |
| ciActionListOld | Cadeia de caracteres | (Opcional) Uma lista separada por vírgulas de ações de IC antigas em que todos os ICs devem estar. |
| leasingTime | Cadeia de caracteres | (Opcional) Duração de tempo pela qual o leasing é válido para a ação de IC especificada. No formato HH:MM:SS. |
[Tabela 1. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Uma cadeia de caracteres no formato JSON com pares de nome-valor para * resultado - verdadeiro se a ação estiver definida para todos os ICs na lista; caso contrário, falso. * erros - lista de erros. {#SMSA-addBulkCIAction_S_S_S_S_S__ul_ewf_5vl_px} |
[Tabela 2. Retorna]

{#SMSA-addBulkCIAction_S_S_S_S_S__table_h5l_w4s_px}

## StateManagementScriptableApi - extendCIActionLease(cadeia de caracteres requestorId, cadeia de caracteres ciSysId, cadeia de caracteres ciActionName, cadeia de caracteres leaseTime) {#ariaid-title3}

Estenda o tempo de leasing da ação de IC para o usuário registrado. Se o leasing anterior expirou, o novo tempo de leasing começa agora.
{#SMSA-extendCIActionLease_S_S_S_S__table_f24_j3s_px__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| ID do solicitante | Cadeia de caracteres | Um sys_id de um contexto de fluxo de trabalho ou o GUID retornado do método registerOperator(). |
| ciSysId | Cadeia de caracteres | O sys_id do IC. |
| ciActionName | Cadeia de caracteres | O nome da ação de IC. |
| leasingTime | Cadeia de caracteres | Duração de tempo pela qual o leasing é válido para a ação de IC especificada. No formato HH:MM:SS. |
[Tabela 3. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Uma cadeia de caracteres no formato JSON com pares de nome-valor para * resultado - verdadeiro se o tempo de leasing tiver sido definido. * erros - lista de erros. {#SMSA-extendCIActionLease_S_S_S_S__ul_ewf_5vl_px} |
[Tabela 4. Retorna]

{#SMSA-extendCIActionLease_S_S_S_S__table_g24_j3s_px}

## StateManagementScriptableApi -- getCIActions(cadeia de caracteres ciSysId) {#ariaid-title4}

Retorna uma lista de ações de IC ativas para o IC especificado.
{#SMSA-getCIActions_S__table_ql1_fws_px__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| ciSysId | Cadeia de caracteres | Sys_id do IC. |
[Tabela 5. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Uma cadeia de caracteres no formato JSON com pares de nome-valor. Valores possíveis: * ciActions --- Lista separada por vírgulas de ações de IC ativas para o IC ou no_active_action. * erros - Lista de erros. {#SMSA-getCIActions_S__ul_ewf_5vl_px} |
[Tabela 6. Retorna]

{#SMSA-getCIActions_S__table_rl1_fws_px}  
O exemplo a seguir mostra como obter ações ativas para uma lista de itens de configuração.

    // 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);
    }

Saída:

    {"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(cadeia de caracteres ciSysId) {#ariaid-title5}

Retorna o estado operacional do IC.
{#SMSA-getCIOperationalState_S__table_n5f_1ns_px__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| ciSysId | Cadeia de caracteres | Sys_id do IC. |
[Tabela 7. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Uma cadeia de caracteres no formato JSON com pares de nome-valor. Valores possíveis: * ciActions --- Valores de opção de cadeia de caracteres do campo operating_status ou UNKNOWN. * erros - Lista de erros. {#SMSA-getCIOperationalState_S__ul_ewf_5vl_px} |
[Tabela 8. Retorna]

{#SMSA-getCIOperationalState_S__table_o5f_1ns_px}  
O exemplo a seguir mostra como obter os estados operacionais de uma lista de itens de configuração especificados.

    // 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);
    }

Saída:

    *** 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(cadeia de caracteres actionName, cadeia de caracteres otherActionName) {#ariaid-title6}

Determina se as duas ações especificadas são compatíveis.
{#SMSA-isCompatibleCIAction_S_S__table_fkl_v1t_px__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| actionName | Cadeia de caracteres | Um nome de ação de IC |
| outroNomeAção | Cadeia de caracteres | Um nome de ação de IC |
[Tabela 9. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Booliano | Retorna verdadeiro se as duas ações de IC especificadas forem compatíveis. |
[Tabela 10. Retorna]

{#SMSA-isCompatibleCIAction_S_S__table_gkl_v1t_px}

## StateManagementScriptableApi - isLeaseExpired(cadeia de caracteres requestorId, cadeia de caracteres ciSysId, cadeia de caracteres ciActionName) {#ariaid-title7}

Determina se o leasing expirou para o solicitante de uma ação de IC especificada.
{#SMSA-isLeaseExpired_S_S_S__table_ot5_v5r_px__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| ID do solicitante | Cadeia de caracteres | Um sys_id de um contexto de fluxo de trabalho ou o GUID retornado do método registerOperator(). |
| ciSysId | Cadeia de caracteres | O sys_id do IC. |
| ciActionName | Cadeia de caracteres | Nome da ação de IC. |
[Tabela 11. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Uma cadeia de caracteres no formato JSON com pares de nome-valor para * resultado - verdadeiro se o leasing do usuário tiver expirado. * erros - lista de erros. {#SMSA-isLeaseExpired_S_S_S__ul_ewf_5vl_px} |
[Tabela 12. Retorna]

{#SMSA-isLeaseExpired_S_S_S__table_pt5_v5r_px}

## StateManagementScriptableApi - isNotAllowedAction(cadeia de caracteres ciType, cadeia de caracteres opsLabel, cadeia de caracteres actionName) {#ariaid-title8}

Para um tipo de IC, determine se uma ação de IC não é permitida para um estado operacional.
{#SMSA-isNotAllowedAction_S_S_S__table_lzz_cxs_px__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| ciType | Cadeia de caracteres | O tipo de IC |
| opsLabel | Cadeia de caracteres | O estado operacional |
| actionName | Cadeia de caracteres | O nome da ação de IC |
[Tabela 13. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Booliano | Retorna verdadeiro se a ação não for permitida no tipo de IC especificado no estado operacional especificado. |
[Tabela 14. Retorna]

{#SMSA-isNotAllowedAction_S_S_S__table_mzz_cxs_px}

## StateManagementScriptableApi - isNotAllowedOpsTransition(cadeia de caracteres ciType, cadeia de caracteres opsLabel, cadeia de caracterestransitionOpsLabel) {#ariaid-title9}

Para um tipo de IC, determine se uma transição de estado operacional não é permitida.
{#SMSA-isNotAllowedOpsTransition_S_S_S__table_erm_mys_px__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| ciType | Cadeia de caracteres | O tipo de IC |
| opsLabel | Cadeia de caracteres | O rótulo do estado operacional inicial. |
| transiçãoOpsLabel | Cadeia de caracteres | O rótulo do estado operacional final. |
[Tabela 15. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Booliano | Retorna verdadeiro se a transição do estado operacional especificado não for permitida no tipo de IC especificado. |
[Tabela 16. Retorna]

{#SMSA-isNotAllowedOpsTransition_S_S_S__table_frm_mys_px}

## StateManagementScriptableApi - isValidRequestor(cadeia de caracteres requestorId) {#ariaid-title10}

Determina se o solicitante especificado é um usuário de fluxo de trabalho ativo válido ou um usuário registrado.
{#SMSA-isValidRequestor_S__table_dr5_5sr_px__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| ID do solicitante | Cadeia de caracteres | Sys_id de um contexto de fluxo de trabalho ou o GUID retornado do método registerOperator(). |
[Tabela 17. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Pares de nome-valor no formato JSON. Valores possíveis: * result - verdadeiro se requestorId for válido. * erros - lista de erros. |
[Tabela 18. Retorna]

{#SMSA-isValidRequestor_S__table_er5_5sr_px}  
Este exemplo mostra como usar o método isValidRequestor() para verificar se um operador é um usuário registrado.

    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);

Saída:

    {"result":true}

## StateManagementScriptableApi - registerOperator() {#ariaid-title11}

Registra um operador para um usuário sem fluxo de trabalho.
{#SMSA-registerOperator__table_l5c_hvl_px__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 19. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Uma cadeia de caracteres no formato JSON com pares de nome-valor para * requestorid --- GUID do usuário registrado que é usado para definir estados operacionais/ação de IC. * resultado - verdadeiro se registrado com sucesso. * erros - lista de erros. {#SMSA-registerOperator__ul_ewf_5vl_px} |
[Tabela 20. Retorna]

{#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(cadeia de caracteres requestorId, cadeia de caracteres sysIdList, cadeia de caracteres ciActionName) {#ariaid-title12}

Remove uma ação de IC de uma lista de ICs.
{#SMSA-removeBulkCIAction_S_S_S__table_iz1_2vs_px__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| ID do solicitante | Cadeia de caracteres | Um sys_id de um contexto de fluxo de trabalho ou o GUID retornado do método registerOperator(). |
| sysIdList | Cadeia de caracteres | Uma lista separada por vírgulas de sys_ids de IC |
| ciActionName | Cadeia de caracteres | O nome da ação de IC |
[Tabela 21. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Uma cadeia de caracteres no formato JSON com pares de nome-valor para * resultado - verdadeiro se a ação for removida para todos os ICs na lista; caso contrário, falso. * erros - lista de erros. {#SMSA-removeBulkCIAction_S_S_S__ul_ewf_5vl_px} |
[Tabela 22. Retorna]

{#SMSA-removeBulkCIAction_S_S_S__table_jz1_2vs_px}

## StateManagementScriptableApi - setBulkCIOperationalState(cadeia de caracteres requestorId, cadeia de caracteres sysIdList, cadeia de caracteres opsLabel, cadeia de caracteres opsStateListOld) {#ariaid-title13}

Defina o estado operacional da lista de ICs.
{#SMSA-setBulkCIOpState_S_S_S_S__table_hgf_5ks_px__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| ID do solicitante | Cadeia de caracteres | Um sys_id de um contexto de fluxo de trabalho ou o GUID retornado do método registerOperator(). |
| sysIdList | Cadeia de caracteres | Uma lista separada por vírgulas de sys_ids de IC. |
| opsLabel | Cadeia de caracteres | Este é o rótulo da cadeia de caracteres de uma opção de status_operacional. |
| opsStateListOld | Cadeia de caracteres | (Opcional) Uma lista separada por vírgulas de estados de IC antigos em que todos os ICs devem estar em. |
[Tabela 23. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Uma cadeia de caracteres no formato JSON com pares de nome-valor para * resultado - verdadeiro se o estado estiver definido para todos os ICs na lista; caso contrário, falso. * erros - lista de erros. {#SMSA-setBulkCIOpState_S_S_S_S__ul_ewf_5vl_px} |
[Tabela 24. Retorna]

{#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(cadeia de caracteres requestorId) {#ariaid-title14}

Cancela o registro de um operador para usuários sem fluxo de trabalho.
{#SMSA-unregisterOperator_S__table_pwv_2xl_px__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| ID do solicitante | Cadeia de caracteres | Sys_id de um contexto de fluxo de trabalho ou o GUID retornado do método registerOperator(). |
[Tabela 25. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Pares de nome-valor no formato JSON. Valores possíveis: * resultado - verdadeiro se o registro for cancelado com sucesso * erros - lista de erros. |
[Tabela 26. Retorna]

{#SMSA-unregisterOperator_S__table_qwv_2xl_px}  
Este exemplo mostra como usar o método unregisterOperator() para cancelar o registro de um usuário registrado.

    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); 

Saída:

    {"result":true}


