BusinessServiceManager – Global
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.
| 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.
| 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. |
| 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
- 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.
//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.
| 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. |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, dass der Einstiegspunkt dem Anwendungsservice erfolgreich hinzugefügt wurde. Mögliche Werte:
|
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.
| 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. |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, dass der Einstiegspunkt dem Anwendungsservice erfolgreich hinzugefügt wurde. Mögliche Werte:
|
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.
| 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. |
| 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:
- 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.
- Wenn die Rollenliste „itil“ enthält, aber nicht „App_Service_admin“ und „sam_Core_user“ enthält, geben Sie „wahr“ zurück.
- Wenn die Rollenliste „Wartung“ enthält, geben Sie „wahr“ zurück.
- 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.
- Überprüfen Sie die Gruppe des Service.
- Wenn der Service zu einer einzelnen Gruppe gehört und die Gruppe „alle“ ist, geben Sie „wahr“ zurück.
- Ü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.
| Name | Typ | Beschreibung |
|---|---|---|
| gr | GlideRecord | GlideRecord des Service/der Servicegruppe. Dieser GlideRecord kann aus einer der folgenden Tabellen stammen:
|
| userSysId | Zeichenfolge | Sys_id des Benutzerdatensatzes Tabelle: Benutzer [sys_user] |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob der Anwender die Berechtigung zum Anzeigen des angegebenen Service/der angegebenen Servicegruppe hat. Mögliche Werte:
|
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.
| Name | Typ | Beschreibung |
|---|---|---|
| service_id | Zeichenfolge | Sys-ID des zu konvertierenden manuellen Service. |
| 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.
| 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. |
| 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.
| 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. |
| 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.
| 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. |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, dass der Einstiegspunkt erfolgreich aus dem Anwendungsservice entfernt wurde. Mögliche Werte:
|
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.
| 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. |
| 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.
| 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. |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, dass das Update erfolgreich auf den Einstiegspunkt angewendet wurde. Mögliche Werte:
|
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