BusinessServiceManager – Global
Die BusinessServiceManager -API vereinheitlicht das Servicemanagement, indem manuell erstellte Services in Anwendungsservices konvertiert, Anwendungsservices ausgefüllt und Konfigurationselemente und Verbindungen hinzugefügt/entfernt werden.
Verwenden Sie BusinessServiceManager -Methoden in globalen Serverskripts. Sie müssen über die Rolle des Anwendungsserviceadministrators [app_service_admin] verfügen.
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 das Ziel-CI verbindet. |
| 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 wie gewohnt an.
- Lassen Sie den Wert source_ID leer. Verwenden Sie beispielsweise
„“. - 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 Erkennung am Einstiegspunkt.
| Name | Typ | Beschreibung |
|---|---|---|
| serviceId | Sting | Sys_id des Anwendungsservice, dem die Verbindung hinzugefügt werden soll. |
| EndpunktGr | Zeichenfolge | GlideRecord-Objekt in der Tabelle „CI-Endpunkt“ [cmdb_ci_endpoint] oder deren untergeordnete Tabelle, die 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 addEntryPoint()-Methode 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 Erkennung zu starten.
| Name | Typ | Beschreibung |
|---|---|---|
| serviceId | Zeichenfolge | Sys_id des Anwendungsservice, dem die Verbindung hinzugefügt werden soll. |
| EndpunktGr | Zeichenfolge | GlideRecord-Objekt in der Tabelle „CI-Endpunkt“ [cmdb_ci_endpoint] oder deren untergeordnete Tabelle, die 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 die addEntryPointWithoutStartDiscovery()-Methode verwendet wird, um dem Anwendungsservice einen neuen Einstiegspunkt hinzuzufügen, ohne die Erkennung 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, String userSysID)
Überprüft die Rollen eines angegebenen Benutzers und die Berechtigungsdaten, die für einen angegebenen Service bzw. eine angegebene Servicegruppe konfiguriert sind, und gibt einen booleschen Wert zurück, der angibt, ob der Benutzer den Service bzw. die Servicegruppe anzeigen kann.
Im Folgenden wird der Prozess-Flow definiert, mit dem die Methode bestimmt, ob der Benutzer den Service/die Servicegruppe anzeigen kann:
- Wenn der angegebene Datensatz eine Servicegruppe ist, werden die Benutzerrollen und die Gruppenrichtlinie überprüft. Weitere Informationen zu zugewiesenen Rollen für Servicegruppen finden Sie unter Assign a role to a service group.
- Wenn die Rollenliste „itil“, aber nicht „app_service_admin“ und „sam_core_user“ enthält, geben Sie „true“ zurück.
- Wenn die Rollenliste „maint“ enthält, wird „true“ zurückgegeben.
- Wenn die Rollenliste „app_serivce_user“, aber nicht „app_service_admin“ und „sm_app_owner“ enthält und der Service nicht betriebsbereit ist, geben Sie „false“ zurück.
- Überprüfen Sie die Gruppe des Service.
- Wenn der Service zu einer einzelnen Gruppe gehört und die Gruppe „all“ ist, wird „true“ zurückgegeben.
- Überprüft für alle nicht „all“-Gruppen die Richtlinie für Benutzerrollen und Gruppen basierend auf den in Assign a role to a service groupangegebenen Regeln. Wenn einer von ihnen „true“ zurückgibt, geben Sie „true“ zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| gr | GlideRecord | GlideRecord des Service bzw. der Servicegruppe. Dieser GlideRecord kann aus einer der folgenden Tabellen stammen:
|
| userSysId | Zeichenfolge | Sys_id des Benutzerdatensatzes Befindet sich in der Benutzertabelle [sys_user]. |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob der Benutzer berechtigt ist, den angegebenen Service/die angegebene Servicegruppe anzuzeigen. Mögliche Werte:
|
Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird, um die Fähigkeit des angegebenen Benutzers 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. |
| endpointSysId | 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:
|
Im folgenden Beispiel wird der Einstiegspunkt, der der Sys_id „aa65ebeedb91300964f6fa6629895ss“ zugeordnet ist, aus dem angegebenen Anwendungsservice entfernt.
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 | GlideRecord-Objekt in der Tabelle „CI-Endpunkt“ [cmdb_ci_endpoint] oder deren untergeordnete Tabelle, die 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 updateEntryPoint()-Beispiel 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