BusinessServiceManager – Global
Die BusinessServiceManager- API bietet Methoden, die das Servicemanagement vereinheitlichen, indem manuell erstellte Services in Anwendungsservices konvertiert, Anwendungsservices gefüllt und Konfigurationselemente und Verbindungen hinzugefügt/entfernt werden.
Verwenden Sie 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 das Ziel-CI verknüpft. |
| target_id | Zeichenfolge | Sys_id des CI, das dem Service hinzugefügt werden soll. darf 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 für „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 Discovery auf dem Einstiegspunkt.
| Name | Typ | Beschreibung |
|---|---|---|
| serviceId | Sting | Sys_id des Anwendungsservice, dem die Verbindung hinzugefügt werden soll. |
| endpointGr | Zeichenfolge | Glide-Datensatz-Objekt in der CI-Endpunkttabelle [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 Discovery zu starten.
| Name | Typ | Beschreibung |
|---|---|---|
| serviceId | Zeichenfolge | Sys_id des Anwendungsservice, dem die Verbindung hinzugefügt werden soll. |
| endpointGr | Zeichenfolge | Glide-Datensatz-Objekt in der CI-Endpunkttabelle [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 die Methode addEntryPointWithoutStartDiscovery() verwendet wird, um dem Anwendungsservice einen neuen Einstiegspunkt hinzuzufügen, ohne 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 bestimmten Service/eine bestimmte 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, den die Methode verwendet, um zu bestimmen, ob der Benutzer den Service/die Servicegruppe anzeigen kann:
- Wenn der angegebene Datensatz eine Servicegruppe ist, werden die Anwenderrollen 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“ enthält, aber nicht „app_service_admin“ und „sam_core_user“, wird „wahr“ zurückgegeben.
- 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 „falsch“ zurück.
- Überprüfen Sie die Gruppe des Services.
- Wenn der Service zu einer einzelnen Gruppe gehört und die Gruppe „alle“ ist, wird „wahr“ zurückgegeben.
- Bei jeder Gruppe, die nicht „alle“ ist, prüft die Richtlinie auf Anwenderrollen und Gruppen basierend auf den in Assign a role to a service groupangegebenen Regeln. Wenn einer von ihnen „wahr“ zurückgibt, geben Sie „wahr“ zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| gr | GlideRecord | GlideRecord des Services/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 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 – entfernenEntryPoint(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. |
| endpointGr | Objekt | Glide-Datensatz-Objekt in der CI-Endpunkttabelle [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 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