StateManagementScriptableApi - Global

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 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)

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

    Tabela 1. Parâmetros
    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 2. Retorna
    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.

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

    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.

    Tabela 3. Parâmetros
    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 4. Retorna
    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.

    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. Retorna
    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.

    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. Retorna
    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.

    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
    outroNomeAção Cadeia de caracteres Um nome de ação de IC
    Tabela 10. Retorna
    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
    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 12. Retorna
    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.

    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. Retorna
    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 caracterestransitionOpsLabel)

    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.
    transiçãoOpsLabel Cadeia de caracteres O rótulo do estado operacional final.
    Tabela 16. Retorna
    Tipo Descrição
    Booliano Retorna verdadeiro se a transição do estado operacional especificado 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
    ID do solicitante Cadeia de caracteres Sys_id de um contexto de fluxo de trabalho ou o GUID retornado do método registerOperator().
    Tabela 18. Retorna
    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.

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

    Registra um operador para um usuário sem 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 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.
    
    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 de uma lista de ICs.

    Tabela 21. Parâmetros
    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 22. Retorna
    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.

    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
    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 24. Retorna
    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.
    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 sem fluxo de trabalho.

    Tabela 25. Parâmetros
    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 26. Retorna
    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.

    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}