BusinessServiceManager – Global

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 6 Minuten Lesedauer
  • Die BusinessServiceManager Die API bietet Methoden, die das Servicemanagement vereinheitlichen, indem manuell erstellte Services in Anwendungsservices konvertiert, Anwendungsservices ausgefüllt und Konfigurationselemente und Verbindungen hinzugefügt/entfernt werden.

    Verwenden BusinessServiceManager Methoden in globalen Serverskripts. Sie müssen über die Rolle Anwendungsservice-Administrator [App_Service_admin] verfügen, um diese API aufzurufen.

    BusinessServiceManager – BusinessServiceManager()

    Instantiiert ein BusinessServiceManager-Objekt.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Keine
    var bsManager = new SNC.BusinessServiceManager();

    BusinessServiceManager – addCI(String service_id, String source_id, String target_id)

    Fügt einem manuell erstellten Anwendungsservice ein CI hinzu.

    Tabelle : 2. Parameter
    Name Typ Beschreibung
    service_id Zeichenfolge SYS_ID des Anwendungsservice, dem ein CI hinzugefügt werden soll. Muss vom Typ cmdb_ci_service_discovered sein.
    source_id Zeichenfolge SYS_ID des CI, dessen ausgehende Verbindung mit dem Ziel-CI verbunden ist.
    target_id Zeichenfolge SYS_ID des CI, das dem Service hinzugefügt werden soll. Kann kein ausgeschlossenes Element sein. Ausgeschlossene Elemente sind CIs, die in der Tabelle „Manuelle CI-Einschlüsse/-Ausschlüsse“ [svc_Manual_ci_exclusions_inclusions.list] konfiguriert sind.
    Tabelle : 3. Rückgaben
    Typ Beschreibung
    void
    //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');

    Fügen Sie einen neuen Einstiegspunkt hinzu

    Verwenden Sie AddCI() Methode zum Hinzufügen eines neuen Einstiegspunkts zu einem Service, indem Sie die folgenden Parameterwerte in Ihrer Anforderung angeben:
    • Geben Sie die Service_ID als normal an.
    • Lassen Sie den Wert „Source_ID“ leer. Verwenden Sie zum Beispiel „“ .
    • Geben Sie für target_ID die SYS-ID des CI ein, unter dem der neue Einstiegspunkt hinzugefügt werden soll.
    Infolgedessen wird AddCI() Methode erstellt einen neuen Einstiegspunkt mit einer Verbindung zum angegebenen Ziel-CI. Das folgende Beispiel zeigt, wie Sie einen neuen Einstiegspunkt hinzufügen:
    //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)

    Fügt dem Anwendungsservice einen Einstiegspunkt hinzu und startet die Discovery am Einstiegspunkt.

    Tabelle : 4. Parameter
    Name Typ Beschreibung
    serviceId Sting SYS_ID des Anwendungsservice, dem die Verbindung hinzugefügt werden soll.
    EndpunktGr Zeichenfolge Glide-Datensatzobjekt in der CI-Endpunkt-Tabelle [cmdb_ci_Endpoint] oder ihrer untergeordneten Tabelle, das dem Anwendungsservice hinzugefügt werden soll.
    Tabelle : 5. Rückgaben
    Typ Beschreibung
    Boolean

    Kennzeichnung, die angibt, dass der Einstiegspunkt dem Anwendungsservice erfolgreich hinzugefügt wurde.

    Mögliche Werte:
    • Wahr: Das Hinzufügen war erfolgreich.
    • Falsch: Das Hinzufügen war nicht erfolgreich.

    Die folgende Methode addEntryPoint() zeigt, wie dem Anwendungsservice ein neuer Einstiegspunkt hinzugefügt wird.

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

    Ausgabe:

    true

    BusinessServiceManager – addEntryPointWithoutStartDiscovery(serviceId, endpointGr)

    Fügt einen neuen Einstiegspunkt hinzu, ohne die Discovery zu starten.

    Tabelle : 6. Parameter
    Name Typ Beschreibung
    serviceId Zeichenfolge SYS_ID des Anwendungsservice, dem die Verbindung hinzugefügt werden soll.
    EndpunktGr Zeichenfolge Glide-Datensatzobjekt in der CI-Endpunkt-Tabelle [cmdb_ci_Endpoint] oder ihrer untergeordneten Tabelle, das dem Anwendungsservice hinzugefügt werden soll.
    Tabelle : 7. Rückgaben
    Typ Beschreibung
    Boolean

    Kennzeichnung, die angibt, dass der Einstiegspunkt dem Anwendungsservice erfolgreich hinzugefügt wurde.

    Mögliche Werte:
    • Wahr: Das Hinzufügen war erfolgreich.
    • Falsch: Das Hinzufügen war nicht erfolgreich.

    Das folgende Beispiel zeigt, wie Sie die Methode addEntryPointWithoutStartDiscovery() verwenden, um dem Anwendungsservice einen neuen Einstiegspunkt hinzuzufügen, ohne die Discovery zu initiieren.

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

    Ausgabe:

    true

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

    Fügt eine manuell erstellte Verbindung zu einem Anwendungsservice hinzu.

    Tabelle : 8. Parameter
    Name Typ Beschreibung
    source_id Zeichenfolge Sys-ID des CI, das der Verbindung hinzugefügt werden soll.
    manual_endpoint Objekt GlideRecord-Objekt in der Tabelle „cmdb_ci_endpoint_manual“, das dem Anwendungsservice hinzugefügt werden soll.
    service_id Zeichenfolge Sys-ID des Anwendungsservice, dem die Verbindung hinzugefügt werden soll.
    Tabelle : 9. Ergebnisse
    Typ Beschreibung
    void
    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(Object gr, Zeichenfolge userSysID)

    Überprüft die Rollen eines angegebenen Anwenders und die Berechtigungsdaten, die für einen angegebenen Service/eine angegebene Servicegruppe konfiguriert sind, und gibt einen booleschen Wert zurück, der angibt, ob der Anwender den Service/die Servicegruppe anzeigen kann.

    Im Folgenden wird der Prozess-Flow definiert, mit dem die Methode bestimmt, ob der Anwender den Service/die Servicegruppe anzeigen kann:

    1. Wenn der angegebene Datensatz eine Servicegruppe ist, überprüft die Anwenderrollen und die Gruppenrichtlinie. Weitere Informationen zu zugewiesenen Rollen für Servicegruppen finden Sie unter Assign a role to a service group.
    2. Wenn die Rollenliste „itil“ enthält, aber nicht „App_Service_admin“ und „sam_Core_user“ enthält, geben Sie „wahr“ zurück.
    3. Wenn die Rollenliste „Wartung“ enthält, geben Sie „wahr“ zurück.
    4. Wenn die Rollenliste „App_serivce_user“ enthält, jedoch nicht „App_Service_admin“ und „sm_App_owner“ enthält und der Service nicht funktionsfähig ist, geben Sie „falsch“ zurück.
    5. Überprüfen Sie die Gruppe des Service.
      1. Wenn der Service zu einer einzelnen Gruppe gehört und die Gruppe „alle“ ist, geben Sie „wahr“ zurück.
      2. Überprüft die Richtlinie für alle Gruppen, die nicht „alle“ sind, auf Anwenderrollen und -Gruppen basierend auf den in angegebenen Regeln Assign a role to a service group. Wenn einer von ihnen „wahr“ zurückgibt, wird „wahr“ zurückgegeben.
    Tabelle : 10. Parameter
    Name Typ Beschreibung
    gr GlideRecord GlideRecord des Service/der Servicegruppe. Dieser GlideRecord kann aus einer der folgenden Tabellen stammen:
    • Serviceinstanz [cmdb_ci_Service_Auto]
    • Anwendungsservicegruppe [cmdb_ci_Service_Group]
    • Dynamische CI-Gruppe [cmdb_ci_query_based_Service]
    • Manuelle Services [cmdb_ci_Service_Manual]
    • Zugeordneter Anwendungsservice [cmdb_ci_Service_detected]
    • Service [cmdb_ci_service]
    userSysId Zeichenfolge Sys_id des Benutzerdatensatzes

    Tabelle: Benutzer [sys_user]

    Tabelle : 11. Rückgaben
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob der Anwender die Berechtigung zum Anzeigen des angegebenen Service/der angegebenen Servicegruppe hat.
    Mögliche Werte:
    • Wahr: Der Anwender kann den angegebenen Service/die angegebene Servicegruppe anzeigen.
    • Falsch: Der Anwender kann den angegebenen Service/die angegebene Servicegruppe nicht anzeigen.

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird, um die Fähigkeit des angegebenen Anwenders zu überprüfen, auf die angegebene Servicegruppe zuzugreifen.

    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)

    Konvertiert einen manuellen Service in einen Anwendungsservice.

    Tabelle : 12. Parameter
    Name Typ Beschreibung
    service_id Zeichenfolge Sys-ID des zu konvertierenden manuellen Service.
    Tabelle : 13. Ergebnisse
    Typ Beschreibung
    Boolean True, wenn die Migration in einen Anwendungsservice erfolgreich ist.
    var bsManager = new SNC.BusinessServiceManager();
    var appService = bsManager.migrateManualToApplicationService("451047c6c0a8016400de0ae6df9b9d76");

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

    Füllt einen Anwendungsservice mit Beziehungen und CIs vom angegebenen Einstiegspunkt aus.

    Tabelle : 14. Parameter
    Name Typ Beschreibung
    service_id Zeichenfolge Sys-ID des Anwendungsservice zum Auffüllen.
    levels Zahl Anzahl der Ebenen von CIs, die aus der CMDB hinzugefügt werden sollen.
    black_listed_relation_types Zeichenfolge Beziehungstypen, die beim Auffüllen des Anwendungsservice ausgeschlossen werden sollen.
    Tabelle : 15. Ergebnisse
    Typ Beschreibung
    Boolean True, wenn die Operation erfolgreich ist.
    var bsManager = new SNC.BusinessServiceManager();
    var appService = bsManager.populateApplicationService("5bf65ebeedb91300964f6fa662989533", 10, "Depends on::Used by");

    BusinessServiceManager – removeCI(String service_id, String target_id)

    Entfernt ein manuell erstelltes CI aus einem Anwendungsservice.

    Tabelle : 16. Parameter
    Name Typ Beschreibung
    service_id Zeichenfolge

    Sys-ID des Anwendungsservice, aus dem ein CI entfernt werden soll.

    Hinweis:
    Die Übergabe eines GlideRecord-Objekts wird ebenfalls unterstützt.
    target_id Zeichenfolge

    Sys-ID des CI, das aus dem Anwendungsservice entfernt werden soll.

    Hinweis:
    Die Übergabe eines GlideRecord-Objekts wird ebenfalls unterstützt.
    Tabelle : 17. Ergebnisse
    Typ Beschreibung
    void
    var bsManager = new SNC.BusinessServiceManager();
    var appService = bsManager.removeCI("2fce42d80a0a0bb4004af34d7e3984c8", "3a290cc60a0a0bb400000bdb386af1cf");

    BusinessServiceManager – removeEntryPoint(serviceId, endpointSysId)

    Entfernt einen vorhandenen Einstiegspunkt aus dem Anwendungsservice.

    Tabelle : 18. Parameter
    Name Typ Beschreibung
    serviceId Zeichenfolge SYS_ID des Anwendungsservice, dem die Verbindung hinzugefügt werden soll.
    Endpunkt-SysId Zeichenfolge SYS_ID des zu entfernenden Einstiegspunkt-Endpunkts.
    Tabelle : 19. Rückgaben
    Typ Beschreibung
    Boolean

    Kennzeichnung, die angibt, dass der Einstiegspunkt erfolgreich aus dem Anwendungsservice entfernt wurde.

    Mögliche Werte:
    • Wahr: Das Update war erfolgreich.
    • Falsch: Das Update war nicht erfolgreich.

    Das folgende Beispiel entfernt den Einstiegspunkt, der der SYS_ID „aa65ebeedb91300964f6fa6629895ss“ zugeordnet ist, aus dem angegebenen Anwendungsservice.

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

    Ausgabe:

    true

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

    Entfernt eine manuell erstellte Verbindung und das verbundene CI aus einem Anwendungsservice.

    Tabelle : 20. Parameter
    Name Typ Beschreibung
    source_id Zeichenfolge Sys-ID des mit dem Endpunkt verbundenen CI.
    endpoint_id Zeichenfolge Sys-ID der manuell erstellten Verbindung, die aus dem Anwendungsservice entfernt werden soll
    service_id Zeichenfolge Sys-ID des Anwendungsservice, aus dem die Verbindung entfernt werden soll.
    Tabelle : 21. Ergebnisse
    Typ Beschreibung
    void
    var bsManager = new SNC.BusinessServiceManager();
    var appService = bsManager.removeManualConnection("3a307c930a0a0bb400353965d0b8861f", "60ce3176edb91300964f6fa6629895d1", "2fce42d80a0a0bb4004af34d7e3984c8");

    BusinessServiceManager – updateEntryPoint(serviceId, endpointGr)

    Aktualisiert einen vorhandenen Einstiegspunkt im Anwendungsservice.

    Tabelle : 22. Parameter
    Name Typ Beschreibung
    serviceId Zeichenfolge SYS_ID des Anwendungsservice, dem die Verbindung hinzugefügt werden soll.
    EndpunktGr Objekt Glide-Datensatzobjekt in der CI-Endpunkt-Tabelle [cmdb_ci_Endpoint] oder ihrer untergeordneten Tabelle, das dem Anwendungsservice hinzugefügt werden soll.
    Tabelle : 23. Rückgaben
    Typ Beschreibung
    Boolean

    Kennzeichnung, die angibt, dass das Update erfolgreich auf den Einstiegspunkt angewendet wurde.

    Mögliche Werte:
    • Wahr: Das Update war erfolgreich.
    • Falsch: Das Update war nicht erfolgreich.

    Das folgende Beispiel updateEntryPoint() zeigt, wie die Verbindung mit einem neuen Einstiegspunkt aktualisiert wird.

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

    Ausgabe:

    true