BusinessServiceManager : global

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 7 minutes de lecture
  • L’API BusinessServiceManager fournit des méthodes qui unifient la gestion des services en convertissant les services créés manuellement en services d’application, en remplissant les services d’application et en ajoutant/supprimant des éléments de configuration et des connexions.

    Utiliser les méthodes BusinessServiceManager dans les scripts de serveur global. Vous devez disposer du rôle d’administrateur du service d’application [app_service_admin] pour appeler cette API.

    BusinessServiceManager : BusinessServiceManager()

    Instancie un objet BusinessServiceManager.

    Tableau 1. Paramètres
    Nom Type Description
    Aucun
    var bsManager = new SNC.BusinessServiceManager();

    BusinessServiceManager : addCI(Chaîne service_id, Chaîne source_id, Chaîne target_id)

    Ajoute un CI à un service d’application créé manuellement.

    Tableau 2. Paramètres
    Nom Type Description
    service_id Chaîne Sys_id du service d’application auquel ajouter un CI. Doit être de type cmdb_ci_service_discovered.
    source_id Chaîne Sys_id du CI dont la connexion sortante rejoint le CI cible.
    target_id Chaîne Sys_id du CI à ajouter au service. Ne peut pas être un élément exclu. Les éléments exclus sont des CI configurés dans la table Inclusions/exclusions manuelles de CI [svc_manual_ci_exclusions_inclusions.list].
    Tableau 3. Renvoie
    Type Description
    nul
    //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');

    Ajouter un nouveau point d’entrée

    Utilisez la méthode addCI() pour ajouter un nouveau point d’entrée à un service en fournissant les valeurs de paramètre suivantes dans votre demande :
    • Fournissez le service_ID comme d’habitude.
    • Laissez la valeur source_ID vide. Par exemple, utilisez ''.
    • Pour target_ID, entrez l’ID système du CI sous lequel ajouter le nouveau point d’entrée.
    Par conséquent, la méthode addCI() crée un nouveau point d’entrée avec une connexion au CI cible spécifié. Voici un exemple de la façon d’ajouter un nouveau point d’entrée :
    //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)

    Ajoute un point d’entrée au service d’application et démarre la détection sur le point d’entrée.

    Tableau 4. Paramètres
    Nom Type Description
    serviceId Piquer Sys_id du service d’application auquel ajouter la connexion.
    point de terminaison Gr Chaîne Objet d’enregistrement Glide dans la table Point de terminaison de CI [cmdb_ci_endpoint] ou sa table enfant à ajouter au service d’application.
    Tableau 5. Renvoie
    Type Description
    Booléen

    Marqueur indiquant que le point d’entrée a été ajouté avec succès au service d’application.

    Valeurs possibles :
    • vrai : l’addition a réussi.
    • faux : échec de l’ajout.

    La méthode addEntryPoint() suivante montre comment ajouter un nouveau point d’entrée au service d’application.

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

    Sortie :

    true

    BusinessServiceManager : addEntryPointWithoutStartDiscovery(serviceId, endpointGr)

    Ajoute un nouveau point d’entrée sans démarrer la découverte.

    Tableau 6. Paramètres
    Nom Type Description
    serviceId Chaîne Sys_id du service d’application auquel ajouter la connexion.
    point de terminaison Gr Chaîne Objet d’enregistrement Glide dans la table Point de terminaison de CI [cmdb_ci_endpoint] ou sa table enfant à ajouter au service d’application.
    Tableau 7. Renvoie
    Type Description
    Booléen

    Marqueur indiquant que le point d’entrée a été ajouté avec succès au service d’application.

    Valeurs possibles :
    • vrai : l’addition a réussi.
    • faux : échec de l’ajout.

    L’exemple suivant montre comment utiliser la méthode addEntryPointWithoutStartDiscovery() pour ajouter un nouveau point d’entrée au service d’application sans initier la découverte.

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

    Sortie :

    true

    BusinessServiceManager : addManualConnection(String source_id, Object manual_endpoint, String service_id)

    Ajoute une connexion créée manuellement à un service d’application.

    Tableau 8. Paramètres
    Nom Type Description
    source_id Chaîne ID système du CI à ajouter à la connexion.
    manual_endpoint Objet Objet GlideRecord dans la table cmdb_ci_endpoint_manual à ajouter au service d’application.
    service_id Chaîne ID système du service d’application auquel ajouter la connexion.
    Tableau 9. Renvoie
    Type Description
    nul
    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 : isReadingAllowed(Object gr, String userSysID)

    Vérifie les rôles d’un utilisateur spécifié et les données d’autorisations configurées pour un service/groupe de services spécifié et renvoie une valeur booléenne qui indique si l’utilisateur peut afficher le service/groupe de services.

    Ce qui suit définit le flux de processus que la méthode utilise pour déterminer si l’utilisateur peut afficher le service/le groupe de services :

    1. Si l’enregistrement spécifié est un groupe de services, vérifie les rôles d’utilisateur et la politique de groupe. Pour plus d’informations sur les rôles affectés aux groupes de services, reportez-vous à la section Assign a role to a service group.
    2. Si la liste des rôles contient « itil » mais pas « app_service_admin » et « sam_core_user », renvoyez la valeur « vrai ».
    3. Si la liste des rôles contient « maint », renvoyez la valeur « vrai ».
    4. Si la liste des rôles contient « app_serivce_user » mais pas « app_service_admin » et « sm_app_owner », et que le service n’est pas opérationnel, renvoie la valeur faux.
    5. Vérifiez le groupe du service.
      1. Si le service appartient à un seul groupe et que le groupe est « all », retournez la valeur vrai.
      2. Pour tout groupe autre que « tous », vérifie la politique relative aux rôles d’utilisateur et au groupe en fonction des règles spécifiées dans Assign a role to a service group. Si l’un d’eux renvoie la valeur vrai, renvoie la valeur vrai.
    Tableau 10. Paramètres
    Nom Type Description
    gr GlideRecord GlideRecord du service/groupe de services. Ce GlideRecord peut provenir de l’une des tables suivantes :
    • Instance de service [cmdb_ci_service_auto]
    • Groupe de services d’application [cmdb_ci_service_group]
    • Groupe de CI dynamique [cmdb_ci_query_based_service]
    • Services manuels [cmdb_ci_service_manual]
    • Service d’application mappé [cmdb_ci_service_discovered]
    • Service [cmdb_ci_service]
    userSysId Chaîne Sys_id de l'enregistrement de l'utilisateur.

    Table : Utilisateur [sys_user]

    Tableau 11. Renvoie
    Type Description
    Booléen Marqueur indiquant si l’utilisateur a l’autorisation d’afficher le service/groupe de services spécifié.
    Valeurs possibles :
    • vrai : l’utilisateur peut afficher le service/groupe de services spécifié.
    • faux : l’utilisateur ne peut pas afficher le service/groupe de services spécifié.

    L’exemple de code suivant montre comment appeler cette méthode pour vérifier la capacité de l’utilisateur spécifié à accéder au groupe de services spécifié.

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

    Convertit un service manuel en service d’application.

    Tableau 12. Paramètres
    Nom Type Description
    service_id Chaîne ID système du service manuel à convertir.
    Tableau 13. Renvoie
    Type Description
    Booléen Vrai si la migration vers un service d’application réussit.
    var bsManager = new SNC.BusinessServiceManager();
    var appService = bsManager.migrateManualToApplicationService("451047c6c0a8016400de0ae6df9b9d76");

    BusinessServiceManager : populateApplicationService(String service_id, Number levels, String black_listed_relation_types)

    Remplit un service d’application avec des relations et des CI à partir du point d’entrée désigné.

    Tableau 14. Paramètres
    Nom Type Description
    service_id Chaîne ID système du service d’application à remplir.
    niveaux Numéro Nombre de niveaux de CI à ajouter à partir de la CMDB.
    black_listed_relation_types Chaîne Types de relations à exclure lors du remplissage du service d’application.
    Tableau 15. Renvoie
    Type Description
    Booléen Vrai si l’opération réussit.
    var bsManager = new SNC.BusinessServiceManager();
    var appService = bsManager.populateApplicationService("5bf65ebeedb91300964f6fa662989533", 10, "Depends on::Used by");

    BusinessServiceManager : removeCI(String service_id, String target_id)

    Supprime un CI créé manuellement d’un service d’application.

    Tableau 16. Paramètres
    Nom Type Description
    service_id Chaîne

    ID système du service d’application duquel supprimer un CI.

    Remarque :
    La transmission d’un objet GlideRecord est également prise en charge.
    target_id Chaîne

    ID système du CI à supprimer du service d’application.

    Remarque :
    La transmission d’un objet GlideRecord est également prise en charge.
    Tableau 17. Renvoie
    Type Description
    nul
    var bsManager = new SNC.BusinessServiceManager();
    var appService = bsManager.removeCI("2fce42d80a0a0bb4004af34d7e3984c8", "3a290cc60a0a0bb400000bdb386af1cf");

    BusinessServiceManager : removeEntryPoint(serviceId, endpointSysId)

    Supprime un point d’entrée existant du service d’application.

    Tableau 18. Paramètres
    Nom Type Description
    serviceId Chaîne Sys_id du service d’application auquel ajouter la connexion.
    point de terminaison SysId Chaîne Sys_id du point d’entrée point de terminaison à supprimer.
    Tableau 19. Renvoie
    Type Description
    Booléen

    Marqueur indiquant que le point d’entrée a été supprimé avec succès du service d’application.

    Valeurs possibles :
    • vrai : la mise à jour a réussi.
    • faux : échec de la mise à jour.

    L’exemple suivant supprime le point d’entrée associé à Sys_id « aa65ebeedb91300964f6fa6629895ss » du service d’application donné.

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

    Sortie :

    true

    BusinessServiceManager : removeManualConnection(String source_id, String endpoint_id, String service_id)

    Supprime une connexion créée manuellement et le CI connecté d’un service d’application.

    Tableau 20. Paramètres
    Nom Type Description
    source_id Chaîne ID système du CI connecté au point de terminaison.
    endpoint_id Chaîne ID système de la connexion créée manuellement à supprimer du service d’application
    service_id Chaîne ID système du service d’application à partir duquel supprimer la connexion.
    Tableau 21. Renvoie
    Type Description
    nul
    var bsManager = new SNC.BusinessServiceManager();
    var appService = bsManager.removeManualConnection("3a307c930a0a0bb400353965d0b8861f", "60ce3176edb91300964f6fa6629895d1", "2fce42d80a0a0bb4004af34d7e3984c8");

    BusinessServiceManager : updateEntryPoint(serviceId, endpointGr)

    Met à jour un point d’entrée existant dans le service d’application.

    Tableau 22. Paramètres
    Nom Type Description
    serviceId Chaîne Sys_id du service d’application auquel ajouter la connexion.
    point de terminaison Gr Objet Objet d’enregistrement Glide dans la table Point de terminaison de CI [cmdb_ci_endpoint] ou sa table enfant à ajouter au service d’application.
    Tableau 23. Renvoie
    Type Description
    Booléen

    Marqueur indiquant que la mise à jour a été appliquée avec succès au point d’entrée.

    Valeurs possibles :
    • vrai : la mise à jour a réussi.
    • faux : échec de la mise à jour.

    L’exemple updateEntryPoint() suivant montre comment mettre à jour la connexion avec un nouveau point d’entrée.

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

    Sortie :

    true