BusinessServiceManager - Global

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 8 min. de leitura
  • . BusinessServiceManager A API fornece métodos que unificam a gestão de serviços convertendo serviços criados manualmente em serviços de aplicações, preenchendo serviços de aplicações e adicionando/removendo itens de configuração e conexões.

    Usar BusinessServiceManager métodos em scripts de servidor global. Você deve ter a função de administrador de serviço de aplicações [app_service_admin] para chamar esta API.

    BusinessServiceManager - BusinessServiceManager()

    Instancia um objeto BusinessServiceManager.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    Nenhum
    var bsManager = new SNC.BusinessServiceManager();

    BusinessServiceManager - addCI(cadeia de caracteres service_id, cadeia de caracteres source_id, cadeia de caracteres target_id)

    Adiciona um IC a um serviço de aplicações criado manualmente.

    Tabela 2. Parâmetros
    Nome Tipo Descrição
    service_id Cadeia de caracteres Sys_id do serviço de aplicações ao qual adicionar um IC. Deve ser do tipo cmdb_ci_service_discovered.
    source_id Cadeia de caracteres Sys_id do IC cuja conexão de saída se une ao IC de destino.
    target_id Cadeia de caracteres Sys_id do IC a ser adicionado ao serviço. Não pode ser um item excluído. Itens excluídos são ICs configurados na tabela Inclusões/exclusões manuais de IC [svc_manual_ci_exclusões_inclusions.list].
    Tabela 3. Retornos
    Tipo Descrição
    vazio
    //Application service is 'PeopleSoft Portals'
    //Source CI is windows server 'PS Apache01'
    //Target CI is 'SAP WEB01'
    
    var bsManager = new SNC.BusinessServiceManager();
    var appService = bsManager.addCI('2fce42d80a0a0bb4004af34d7e3984c8','3a27d4370a0a0bb4006316812bf45439', '3a6cadc1c0a8ce01001f1e5d0d7d68fa');

    Adicione um novo ponto de entrada

    Use AddCI() método para adicionar um novo ponto de entrada a um serviço fornecendo os seguintes valores de parâmetro em sua solicitação:
    • Forneça o service_ID normalmente.
    • Deixe o valor source_ID vazio. Por exemplo, use '' .
    • Em target_ID, insira o SYS ID do IC ao qual adicionar o novo ponto de entrada.
    Como resultado, o AddCI() O método cria um novo ponto de entrada com uma conexão com o IC de destino especificado. A seguir está um exemplo de como adicionar um novo ponto de entrada:
    //Application service sys_id is '49de2b3187cd9d50d5c8a6880cbb35ea' 
    //Source CI is passed as an empty string as '' 
    //Target CI sys id is '15ca5fb187129910d5c8a6880cbb3537'   
    
    var bsManager = new SNC.BusinessServiceManager(); 
    var appService = bsManager.addCI('49de2b3187cd9d50d5c8a6880cbb35ea','', '15ca5fb187129910d5c8a6880cbb3537');

    BusinessServiceManager - addEntryPoint(serviceId, endpointGr)

    Adiciona um ponto de entrada ao serviço de aplicativos e inicia a descoberta no ponto de entrada.

    Tabela 4. Parâmetros
    Nome Tipo Descrição
    serviceId Sting Sys_id do serviço de aplicações ao qual a conexão será adicionada.
    EndpointGr Cadeia de caracteres Objeto de registro do Glide na tabela Endpoint de IC [cmdb_ci_endpoint] ou sua tabela secundária para adicionar ao serviço de aplicativos.
    Tabela 5. Retornos
    Tipo Descrição
    Booliano

    Sinalizador que indica que o ponto de entrada foi adicionado com sucesso ao serviço de aplicativos.

    Valores possíveis:
    • verdadeiro: a adição foi bem-sucedida.
    • falso: a adição não foi bem-sucedida.

    O método addEntryPoint() a seguir mostra como adicionar um novo ponto de entrada ao serviço de aplicativos.

    var now_GR = new GlideRecord("cmdb_ci_endpoint_tcp");
    now_GR.initialize(); 
    now_GR.setValue("host", "10.196.39.251");
    now_GR.setValue("port", "8080");
    now_GR.insert();
    var bsManager = new SNC.BusinessServiceManager();
    var serviceId = "5bf65ebeedb91300964f6fa662989533";
    bsManager.addEntryPoint(serviceId,now_GR);
    

    Saída:

    true

    BusinessServiceManager - addEntryPointWithoutStartDiscovery(serviceId, endpointGr)

    Adiciona um novo ponto de entrada sem iniciar a descoberta.

    Tabela 6. Parâmetros
    Nome Tipo Descrição
    serviceId Cadeia de caracteres Sys_id do serviço de aplicações ao qual a conexão será adicionada.
    EndpointGr Cadeia de caracteres Objeto de registro do Glide na tabela Endpoint de IC [cmdb_ci_endpoint] ou sua tabela secundária para adicionar ao serviço de aplicativos.
    Tabela 7. Retornos
    Tipo Descrição
    Booliano

    Sinalizador que indica que o ponto de entrada foi adicionado com sucesso ao serviço de aplicativos.

    Valores possíveis:
    • verdadeiro: a adição foi bem-sucedida.
    • falso: a adição não foi bem-sucedida.

    O exemplo a seguir mostra como usar o método addEntryPointWithoutStartDiscovery() para adicionar um novo ponto de entrada ao serviço de aplicações sem iniciar a descoberta.

    var now_GR = new GlideRecord("cmdb_ci_endpoint_tcp");
    now_GR.initialize(); 
    now_GR.setValue("host", "10.196.39.251");
    now_GR.setValue("port", "8080");
    now_GR.insert();
    var bsManager = new SNC.BusinessServiceManager();
    var serviceId = "5bf65ebeedb91300964f6fa662989533";
    bsManager.addEntryPointWithoutStartDiscovery(serviceId,now_GR);
    

    Saída:

    true

    BusinessServiceManager - addManualConnection(cadeia de caracteres source_id, objeto manual_endpoint, cadeia de caracteres service_id)

    Adiciona uma conexão criada manualmente a um serviço de aplicativos.

    Tabela 8. Parâmetros
    Nome Tipo Descrição
    source_id Cadeia de caracteres Sys ID do IC a ser adicionado à conexão.
    manual_endpoint Objeto Objeto GlideRecord na tabela cmdb_ci_endpoint_manual a ser adicionado ao serviço de aplicações.
    service_id Cadeia de caracteres Sys ID do serviço de aplicações ao qual adicionar a conexão.
    Tabela 9. Retornos
    Tipo Descrição
    vazio
    var now_GR = new GlideRecord("cmdb_ci_endpoint_manual");
    now_GR.initialize(); 
    now_GR.name='myEndpoint'; 
    now_GR.insert();
    
    var bsManager = new SNC.BusinessServiceManager();
    var appService = bsManager.addManualConnection("3a307c930a0a0bb400353965d0b8861f", now_GR, "2fce42d80a0a0bb4004af34d7e3984c8");

    BusinessServiceManager - isReadingPermitted(grupo de objeto, cadeia de caracteres userSySID)

    Verifica as funções de um usuário especificado e os dados de permissões configurados para um grupo de serviço/serviço especificado e retorna um valor booliano que indica se o usuário pode exibir o grupo de serviço/serviço.

    O seguinte define o fluxo do processo que o método usa para determinar se o usuário pode exibir o serviço/grupo de serviço:

    1. Se o registro especificado for um grupo de serviço, verificará as funções do usuário e a política de grupo. Para obter mais informações sobre funções atribuídas para grupos de serviço, consulte Assign a role to a service group.
    2. Se a lista Funções contiver "itil", mas não contiver "app_service_admin" e "sam_core_user", retorne verdadeiro.
    3. Se a lista Funções contiver "maint", retorne verdadeiro.
    4. Se a lista Funções contiver "app_serivce_user", mas não contiver "app_service_admin" e "sm_app_owner" e o serviço não estiver operacional, retorne falso.
    5. Verifique o grupo do serviço.
      1. Se o serviço pertencer a um único grupo e o grupo for "Todos", retorne verdadeiro.
      2. Para qualquer grupo que não seja "Todos", verifica a política para funções de usuário e grupo com base nas regras especificadas em Assign a role to a service group. Se algum deles retornar verdadeiro, retorne verdadeiro.
    Tabela 10. Parâmetros
    Nome Tipo Descrição
    gr GlideRecord GlideRecord do grupo de serviço/serviço. Este GlideRecord pode ser de uma das seguintes tabelas:
    • Instância de serviço [cmdb_ci_service_auto]
    • Grupo de serviço de aplicações [cmdb_ci_service_group]
    • Grupo de IC dinâmico [cmdb_ci_query_based_service]
    • Serviços manuais [cmdb_ci_service_manual]
    • Serviço de aplicações mapeado [cmdb_ci_service_discovered]
    • Serviço [cmdb_ci_service]
    userSysId Cadeia de caracteres Sys_id do registro do usuário.

    Tabela: Usuário [sys_user]

    Tabela 11. Retornos
    Tipo Descrição
    Booliano Sinalizador que indica se o usuário tem permissão para exibir o serviço/grupo de serviço especificado.
    Valores possíveis:
    • Verdadeiro: O usuário pode exibir o serviço/grupo de serviço especificado.
    • Falso: O usuário não pode exibir o serviço/grupo de serviço especificado.

    O exemplo de código a seguir mostra como chamar este método para verificar a capacidade do usuário especificado de acessar o grupo de serviço especificado.

    var cmdbServGr = new GlideRecord('cmdb_ci_service_discovered');
    cmdbServGr.addQuery('sys_id', "123123123123123123123123");
    cmdbServGr.query();
    var userId = gs.getUserID();
    
    var bsManager = new SNC.BusinessServiceManager();
    while (cmdbServGr.next()) {
      var answer = bsManager.isReadingPermitted(cmdbServGr, userId);
    
      //do something with / according to the answer
    
    }

    BusinessServiceManager - migrateManualToApplicationService(cadeia de caracteres service_id)

    Converte um serviço manual em um serviço de aplicativos.

    Tabela 12. Parâmetros
    Nome Tipo Descrição
    service_id Cadeia de caracteres Sys ID do serviço manual a ser convertido.
    Tabela 13. Retornos
    Tipo Descrição
    Booliano Verdadeiro se a migração para um serviço de aplicativos for bem-sucedida.
    var bsManager = new SNC.BusinessServiceManager();
    var appService = bsManager.migrateManualToApplicationService("451047c6c0a8016400de0ae6df9b9d76");

    BusinessServiceManager - populateApplicationService(cadeia de caracteres service_id, níveis de número, cadeia de caracteres black_listed_relation_types)

    Preenche um serviço de aplicações com relações e ICs do ponto de entrada designado.

    Tabela 14. Parâmetros
    Nome Tipo Descrição
    service_id Cadeia de caracteres Sys ID do serviço de aplicações a ser preenchido.
    níveis Número Número de níveis de ICs a serem adicionados do CMDB.
    black_listed_relation_types Cadeia de caracteres Tipos de relação a serem excluídos ao preencher o serviço de aplicações.
    Tabela 15. Retornos
    Tipo Descrição
    Booliano Verdadeiro se a operação for bem-sucedida.
    var bsManager = new SNC.BusinessServiceManager();
    var appService = bsManager.populateApplicationService("5bf65ebeedb91300964f6fa662989533", 10, "Depends on::Used by");

    BusinessServiceManager - removeCI(cadeia de caracteres service_id, cadeia de caracteres target_id)

    Remove um IC criado manualmente de um serviço de aplicativos.

    Tabela 16. Parâmetros
    Nome Tipo Descrição
    service_id Cadeia de caracteres

    Sys ID do serviço de aplicações do qual remover um IC.

    Nota:
    Passar um objeto GlideRecord também é compatível.
    target_id Cadeia de caracteres

    Sys ID do IC a ser removido do serviço de aplicações.

    Nota:
    Passar um objeto GlideRecord também é compatível.
    Tabela 17. Retornos
    Tipo Descrição
    vazio
    var bsManager = new SNC.BusinessServiceManager();
    var appService = bsManager.removeCI("2fce42d80a0a0bb4004af34d7e3984c8", "3a290cc60a0a0bb400000bdb386af1cf");

    BusinessServiceManager - removeEntryPoint(serviceId, endpointSysId)

    Remove um ponto de entrada existente do serviço de aplicativos.

    Tabela 18. Parâmetros
    Nome Tipo Descrição
    serviceId Cadeia de caracteres Sys_id do serviço de aplicações ao qual a conexão será adicionada.
    EndpointSysId Cadeia de caracteres Sys_id do endpoint do ponto de entrada a ser removido.
    Tabela 19. Retornos
    Tipo Descrição
    Booliano

    Sinalizador que indica que o ponto de entrada foi removido com sucesso do serviço de aplicativos.

    Valores possíveis:
    • verdadeiro: a atualização foi bem-sucedida.
    • falso: a atualização não foi bem-sucedida.

    O exemplo a seguir remove o ponto de entrada associado a Sys_id "aa65ebeedb91300964f6fa6629895ss" do serviço de aplicações fornecido.

    var bsManager = new SNC.BusinessServiceManager();
    var serviceId = "5bf65ebeedb91300964f6fa662989533";
    var entrypointId = “aa65ebeedb91300964f6fa6629895ss”;
    bsManager.removeEntryPoint(serviceId, entrypointId);
    

    Saída:

    true

    BusinessServiceManager - removeManualConnection(cadeia de caracteres source_id, cadeia de caracteres endpoint_id, cadeia de caracteres service_id)

    Remove uma conexão criada manualmente e o IC conectado de um serviço de aplicativos.

    Tabela 20. Parâmetros
    Nome Tipo Descrição
    source_id Cadeia de caracteres Sys ID do IC conectado ao endpoint.
    endpoint_id Cadeia de caracteres SYS ID da conexão criada manualmente a ser removida do serviço de aplicações
    service_id Cadeia de caracteres Sys ID do serviço de aplicações do qual remover a conexão.
    Tabela 21. Retornos
    Tipo Descrição
    vazio
    var bsManager = new SNC.BusinessServiceManager();
    var appService = bsManager.removeManualConnection("3a307c930a0a0bb400353965d0b8861f", "60ce3176edb91300964f6fa6629895d1", "2fce42d80a0a0bb4004af34d7e3984c8");

    BusinessServiceManager - updateEntryPoint(serviceId, endpointGr)

    Atualiza um ponto de entrada existente no serviço de aplicativos.

    Tabela 22. Parâmetros
    Nome Tipo Descrição
    serviceId Cadeia de caracteres Sys_id do serviço de aplicações ao qual a conexão será adicionada.
    EndpointGr Objeto Objeto de registro do Glide na tabela Endpoint de IC [cmdb_ci_endpoint] ou sua tabela secundária para adicionar ao serviço de aplicativos.
    Tabela 23. Retornos
    Tipo Descrição
    Booliano

    Sinalizador que indica que a atualização foi aplicada com sucesso ao ponto de entrada.

    Valores possíveis:
    • verdadeiro: a atualização foi bem-sucedida.
    • falso: a atualização não foi bem-sucedida.

    O exemplo updateEntryPoint() a seguir mostra como atualizar a conexão com um novo ponto de entrada.

    var now_GR = new GlideRecord("cmdb_ci_endpoint_http");
    now_GR.get(“11f65ebeedb91300964f6fa66298951”);
    now_GR.setValue(“protocol”, “https”);
    var bsManager = new SNC.BusinessServiceManager();
    var serviceId = "5bf65ebeedb91300964f6fa662989533";
    bsManager.updateEntryPoint(serviceId,now_GR);
    

    Saída:

    true