StatManagementScriptableApi - Global

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 8 min. de leitura
  • . StatManagementScriptableApi Fornece um conjunto de métodos para manipular estados operacionais de item de configuração (IC) e aplicar ações de IC.

    . StatManagementScriptableApi Os métodos 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 em log e uma tarefa será criada, se apropriado.

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

    StateManagementScriptableApi - addBulkCIAction(cadeia de caracteres requestorId, cadeia de caracteres sysIdList, cadeia de caracteres ciActionName, cadeia de caracteres ciActionListOld, cadeia de caracteres leaseTime)

    Adicione uma ação de IC a uma lista de ICs.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    Solicitante Cadeia de caracteres Um sys_id de um contexto de fluxo de trabalho ou o GUID retornado do RegisterOperator() método.
    SysIdList Cadeia de caracteres Lista separada por vírgulas de sys_ids de IC.
    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 nas quais todos os ICs devem estar.
    Leasing Time Cadeia de caracteres (Opcional) Duração de tempo durante a qual o leasing é válido para a ação de IC especificada. No formato HH:MM:SS.
    Tabela 2. Retornos
    Tipo Descrição
    Cadeia de caracteres Uma cadeia de caracteres formatada JSON com pares nome-valor para
    • Verdadeiro se a ação estiver definida para todos os ICs na lista; caso contrário, falso.
    • erros - lista de erros.

    StateManagementScriptableApi - extendCIActionLease( cadeia de caracteres requestorId, cadeia de caracteres ciSysId, cadeia de caracteres ciActionName, cadeia de caracteres leaseTime)

    Estenda o tempo de ci-action-leasing para o usuário registrado. Se o leasing anterior tiver expirado, o novo tempo de leasing começará agora.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    Solicitante Cadeia de caracteres Um sys_id de um contexto de fluxo de trabalho ou o GUID retornado do RegisterOperator() método.
    ciSysId Cadeia de caracteres O sys_id do IC.
    CiActionName Cadeia de caracteres O nome da ação de IC.
    Leasing Time Cadeia de caracteres Duração de tempo em que o leasing é válido para a Ação de IC especificada. No formato HH:MM:SS.
    Tabela 4. Retornos
    Tipo Descrição
    Cadeia de caracteres Uma cadeia de caracteres formatada JSON com pares nome-valor para
    • verdadeiro se o tempo de leasing tiver sido definido.
    • erros - lista de erros.

    StateManagementScriptableApi - getCIActions(cadeia de caracteres ciSysId)

    Retorna uma lista de ações de IC ativas para o IC especificado.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    ciSysId Cadeia de caracteres Sys_id do IC.
    Tabela 6. Retornos
    Tipo Descrição
    Cadeia de caracteres Uma cadeia de caracteres formatada JSON com pares 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.

    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)

    Retorna o estado operacional do IC.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    ciSysId Cadeia de caracteres Sys_id do IC.
    Tabela 8. Retornos
    Tipo Descrição
    Cadeia de caracteres Uma cadeia de caracteres formatada JSON com pares nome-valor.
    Valores possíveis:
    • CiActions - Valores de opção de cadeia de caracteres do campo operational_status ou DESCONHECIDO .
    • Erros - Lista de erros.

    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)

    Determina se as duas ações especificadas são compatíveis.

    Tabela 9. Parâmetros
    Nome Tipo Descrição
    actionName Cadeia de caracteres Um nome de ação de IC
    OtherActionName Cadeia de caracteres Um nome de ação de IC
    Tabela 10. Retornos
    Tipo Descrição
    Booliano Retorna verdadeiro se as duas ações de IC especificadas forem compatíveis.

    StateManagementScriptableApi - isLeaseExpired(cadeia de caracteres requestorId, cadeia de caracteres ciSysId, cadeia de caracteres ciActionName)

    Determina se o leasing expirou para o solicitante de uma ação de IC especificada.

    Tabela 11. Parâmetros
    Nome Tipo Descrição
    Solicitante Cadeia de caracteres Um sys_id de um contexto de fluxo de trabalho ou o GUID retornado do RegisterOperator() método.
    ciSysId Cadeia de caracteres O sys_id do IC.
    CiActionName Cadeia de caracteres Nome da ação de IC.
    Tabela 12. Retornos
    Tipo Descrição
    Cadeia de caracteres Uma cadeia de caracteres formatada JSON com pares nome-valor para
    • resultado - verdadeiro se o leasing do usuário expirou.
    • erros - lista de erros.

    StateManagementScriptableApi - isNotAllowedAction(cadeia de caracteres ciType, cadeia de caracteres opsLabel, cadeia de caracteres actionName)

    Para um tipo de IC, determine se uma ação de IC não é permitida para um estado operacional.

    Tabela 13. Parâmetros
    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 14. Retornos
    Tipo Descrição
    Booliano Retorna verdadeiro se a ação não for permitida no tipo de IC especificado no estado operacional especificado.

    StateManagementScriptableApi - isNotAllowedOpsTransition(cadeia de caracteres ciType, cadeia de caracteres opsLabel, cadeia de caracteres TransitionOpsLabel)

    Para um tipo de IC, determine se uma transição de estado operacional não é permitida.

    Tabela 15. Parâmetros
    Nome Tipo Descrição
    ciType Cadeia de caracteres O tipo de IC
    OpsLabel Cadeia de caracteres O rótulo do estado operacional inicial.
    TransitionOpsLabel Cadeia de caracteres O rótulo do estado operacional final.
    Tabela 16. Retornos
    Tipo Descrição
    Booliano Retorna verdadeiro se a transição de estado operacional especificada não for permitida no tipo de IC especificado.

    StateManagementScriptableApi - isValidRequestor(cadeia de caracteres requestorId)

    Determina se o solicitante especificado é um usuário de fluxo de trabalho ativo válido ou um usuário registrado.

    Tabela 17. Parâmetros
    Nome Tipo Descrição
    Solicitante Cadeia de caracteres Sys_id de um contexto de fluxo de trabalho ou o GUID retornado do RegisterOperator() método.
    Tabela 18. Retornos
    Tipo Descrição
    Cadeia de caracteres Pares nome-valor formatados JSON.
    Valores possíveis:
    • resultado - verdadeiro Se o requestorId for válido.
    • erros - lista de erros.

    Este exemplo mostra como usar o. IsValidRequestor() método 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()

    Registra um operador para um usuário que não é de fluxo de trabalho.

    Tabela 19. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 20. Retorna
    Tipo Descrição
    Cadeia de caracteres Uma cadeia de caracteres formatada JSON com pares nome-valor para
    • GUID do solicitante - GUID do usuário registrado que é usado para definir a ação de IC/estados operacionais.
    • resultado - verdadeiro se registrado com sucesso.
    • erros - lista de erros.
    
    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)

    Remove uma ação de IC para uma lista de ICs.

    Tabela 21. Parâmetros
    Nome Tipo Descrição
    Solicitante Cadeia de caracteres Um sys_id de um contexto de fluxo de trabalho ou o GUID retornado do RegisterOperator() método.
    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 22. Retornos
    Tipo Descrição
    Cadeia de caracteres Uma cadeia de caracteres formatada JSON com pares nome-valor para
    • Verdadeiro se a ação for removida para todos os ICs na lista; caso contrário, falso.
    • erros - lista de erros.

    StateManagementScriptableApi - setBulkCIOperationalState(cadeia de caracteres requestorId, cadeia de caracteres sysIdList, cadeia de caracteres opsLabel, cadeia de caracteres opsStateListOld)

    Defina o estado operacional da lista de ICs.

    Tabela 23. Parâmetros
    Nome Tipo Descrição
    Solicitante Cadeia de caracteres Um sys_id de um contexto de fluxo de trabalho ou o GUID retornado do RegisterOperator() método.
    SysIdList Cadeia de caracteres Uma lista separada por vírgulas de sys_ids de IC.
    OpsLabel Cadeia de caracteres Este é o rótulo de cadeia de caracteres de uma opção operational_status.
    OpsStateListOld Cadeia de caracteres (Opcional) Uma lista separada por vírgulas de estados de IC antigos em que todos os ICs devem estar.
    Tabela 24. Retornos
    Tipo Descrição
    Cadeia de caracteres Uma cadeia de caracteres formatada JSON com pares nome-valor para
    • Verdadeiro se o estado estiver definido para todos os ICs na lista; caso contrário, falso.
    • erros - lista de erros.
    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)

    Cancela o registro de um operador para usuários que não são do fluxo de trabalho.

    Tabela 25. Parâmetros
    Nome Tipo Descrição
    Solicitante Cadeia de caracteres Sys_id de um contexto de fluxo de trabalho ou o GUID retornado do RegisterOperator() método.
    Tabela 26. Retornos
    Tipo Descrição
    Cadeia de caracteres Pares nome-valor formatados JSON.
    Valores possíveis:
    • resultado - verdadeiro se o registro for cancelado com sucesso
    • erros - lista de erros.

    Este exemplo mostra como usar o. UnregisterOperator() método 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}