---
sourceDocument: Xanadu API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - ja-JP

ft:publication_title :

    - Xanadu API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# BusinessServiceManager - グローバル

# BusinessServiceManager - グローバル {#ariaid-title1}

* リリースバージョン: Xanadu
* 
* 更新日 2024年08月01日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：16分

BusinessServiceManager API は、手動で作成されたサービスをアプリケーションサービスに変換し、アプリケーションサービスを設定し、構成アイテムと接続を追加/削除することで、サービス管理を統合するメソッドを提供します。

グローバルサーバースクリプトで BusinessServiceManager メソッドを使用します。この API を呼び出すには、アプリケーションサービスアドミニストレーター \[app_service_admin\] ロールが必要です。

## BusinessServiceManager - BusinessServiceManager() {#ariaid-title2}

BusinessServiceManager オブジェクトをインスタンス化します。
{#BSM-BusinessServiceManager__table_djw_xl5_ndb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 1. パラメーター]

{#BSM-BusinessServiceManager__table_djw_xl5_ndb}  

    var bsManager = new SNC.BusinessServiceManager();

## BusinessServiceManager - addCI(文字列 service_id, 文字列 source_id, 文字列 target_id) {#ariaid-title3}

手動で作成されたアプリケーションサービスに CI を追加します。
{#BSM-addCI_S_S_S__table_ihq_zl5_ndb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| service_id | 文字列 | CI を追加するアプリケーションサービスのSys_id。cmdb_ci_service_discovered タイプである必要があります。 |
| source_id | 文字列 | 発信接続がターゲット CI に参加する CI のSys_id。 |
| target_id | 文字列 | サービスに追加する CI のSys_id。除外アイテムにすることはできません。除外されるアイテムは、手動 CI 包含/除外 \[svc_manual_ci_exclusions_inclusions.list\] テーブルで構成された CI です。 |
[表 : 2. パラメーター]

{#BSM-addCI_S_S_S__table_ihq_zl5_ndb} {#BSM-addCI_S_S_S__table_jhq_zl5_ndb__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 3. 返される内容]

{#BSM-addCI_S_S_S__table_jhq_zl5_ndb}  

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

### 新しいエントリポイントを追加 {#BSM-addCI_S_S_S__section_ckd_wqg_cvb}

addCI() メソッドを使用して、要求で次のパラメーター値を指定することにより、サービスに新しいエントリーポイントを追加します。

* 通常どおりservice_IDを入力します。
* source_ID値は空のままにします。たとえば、 `''` を使用します。
* target_IDには、新しいエントリーポイントを追加する CI の Sys ID を入力します。
{#BSM-addCI_S_S_S__ul_s3g_cqm_cvb}  
その結果、 addCI() メソッドは、指定されたターゲット CI への接続を持つ新しいエントリーポイントを作成します。新しいエントリポイントを追加する方法の例を次に示します。

    //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) {#ariaid-title4}

アプリケーションサービスにエントリーポイントを追加し、そのエントリーポイントでディスカバリーを開始します。
{#BSM-addEntryPoint_S_O__table_clj_sw2_zwb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| serviceId | 刺す | 接続を追加するアプリケーションサービスのSys_id。 |
| endpointGr | 文字列 | アプリケーションサービスに追加する CI エンドポイント \[cmdb_ci_endpoint\] テーブルまたはその子テーブルの Glide レコードオブジェクト。 |
[表 : 4. パラメーター]

{#BSM-addEntryPoint_S_O__table_clj_sw2_zwb} {#BSM-addEntryPoint_S_O__table_dlj_sw2_zwb__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | エントリーポイントがアプリケーションサービスに正常に追加されたことを示すフラグ。 可能な値： * true:追加に成功しました。 * false:追加は成功しませんでした。 {#BSM-addEntryPoint_S_O__ul_f52_dg2_zwb} |
[表 : 5. 返される内容]

{#BSM-addEntryPoint_S_O__table_dlj_sw2_zwb}  
次の addEntryPoint() メソッドは、アプリケーションサービスに新しいエントリーポイントを追加する方法を示しています。

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

出力:

    true

## BusinessServiceManager - addEntryPointWithoutStartDiscovery(serviceId, endpointGr) {#ariaid-title5}

検出を開始せずに新しいエントリーポイントを追加します。
{#BSM-addEntryPtWoStartDiscovery_S_O__table_at2_252_zwb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| serviceId | 文字列 | 接続を追加するアプリケーションサービスのSys_id。 |
| endpointGr | 文字列 | アプリケーションサービスに追加する CI エンドポイント \[cmdb_ci_endpoint\] テーブルまたはその子テーブルの Glide レコードオブジェクト。 |
[表 : 6. パラメーター]

{#BSM-addEntryPtWoStartDiscovery_S_O__table_at2_252_zwb} {#BSM-addEntryPtWoStartDiscovery_S_O__table_bt2_252_zwb__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | エントリーポイントがアプリケーションサービスに正常に追加されたことを示すフラグ。 可能な値： * true:追加に成功しました。 * false:追加は成功しませんでした。 {#BSM-addEntryPtWoStartDiscovery_S_O__ul_f52_dg2_zwb} |
[表 : 7. 返される内容]

{#BSM-addEntryPtWoStartDiscovery_S_O__table_bt2_252_zwb}  
次の例は、addEntryPointWithoutStartDiscovery() メソッドを使用して、ディスカバリーを開始せずにアプリケーションサービスに新しいエントリーポイントを追加する方法を示しています。

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

出力:

    true

## BusinessServiceManager - addManualConnection(文字列 source_id, オブジェクト manual_endpoint, 文字列 service_id) {#ariaid-title6}

手動で作成した接続をアプリケーションサービスに追加します。
{#BSM-addManualConnection_S_O_S__table_fkl_1bb_sdb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| source_id | 文字列 | 接続に追加する CI のSys ID |
| manual_endpoint | オブジェクト | アプリケーション サービスに追加する cmdb_ci_endpoint_manual table テーブルの GlideRecord オブジェクト |
| service_id | 文字列 | 接続を追加するアプリケーションサービスのSys ID |
[表 : 8. パラメーター]

{#BSM-addManualConnection_S_O_S__table_fkl_1bb_sdb} {#BSM-addManualConnection_S_O_S__table_gkl_1bb_sdb__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 9. 返される内容]

{#BSM-addManualConnection_S_O_S__table_gkl_1bb_sdb}  

    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(オブジェクト gr, 文字列 userSysID) {#ariaid-title7}

指定されたユーザーのロールと、指定されたサービス/サービスグループに設定された権限データを確認し、ユーザーがサービス/サービスグループを表示できるかどうかを示すブール値を返します。
次に、ユーザーがサービス/サービスグループを表示できるかどうかを判断するためにメソッドが使用するプロセスフローを定義します。  
1. 指定されたレコードがサービスグループの場合、ユーザーロールとグループポリシーを確認します。サービスグループに割り当てられたロールの詳細については、「 [Assign a role to a service group](https://www.servicenow.com/docs/access?context=t_EMAssignRoleSvcGroup&version=xanadu&pubname=xanadu-it-operations-management&ft:locale=en-US)」を参照してください。
2. ロールリストに「itil」が含まれていて、「app_service_admin」と「sam_core_user」が含まれていない場合は、true を返します。
3. ロールリストに「maint」が含まれている場合は、trueを返します。
4. ロールリストに「app_serivce_user」が含まれていても「app_service_admin」と「sm_app_owner」が含まれておらず、サービスが運用されていない場合は、false を返します。
5. サービスのグループを確認します。
   1. サービスが単一のグループに属し、そのグループが「すべて」の場合、trueを返します。
   2. 「すべて」以外のグループの場合、 [Assign a role to a service group](https://www.servicenow.com/docs/access?context=t_EMAssignRoleSvcGroup&version=xanadu&pubname=xanadu-it-operations-management&ft:locale=en-US)で指定されたルールに基づいて、ユーザーロールとグループのポリシーをチェックします。いずれかが true を返す場合は、true を返します。
   {#BSM-isReadingPermitted_O_S__ol_wrc_tjy_dzb}
{#BSM-isReadingPermitted_O_S__table_snj_253_kyb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| gr | GlideRecord | サービス/サービスグループの GlideRecord。この GlideRecord は、次のいずれかのテーブルから取得できます。 * アプリケーションサービス \[cmdb_ci_service_auto\] * アプリケーションサービスグループ \[cmdb_ci_service_group\] * ダイナミック CI グループ \[cmdb_ci_query_based_service\] * 手動サービス \[cmdb_ci_service_manual\] * マップ済みアプリケーションサービス \[cmdb_ci_service_discovered\] * サービス \[cmdb_ci_service\] |
| userSysId | 文字列 | ユーザーレコードの Sys_id。ユーザー \[sys_user\] テーブルにあります。 |
[表 : 10. パラメーター]

{#BSM-isReadingPermitted_O_S__table_snj_253_kyb} {#BSM-isReadingPermitted_O_S__table_tnj_253_kyb__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | 指定されたサービス/サービスグループを表示する権限がユーザーにあるかどうかを示すフラグ。 可能な値： * true:ユーザーは指定されたサービス/サービスグループを表示できます。 * false:ユーザーは指定されたサービスまたはサービスグループを表示できません。 |
[表 : 11. 返される内容]

{#BSM-isReadingPermitted_O_S__table_tnj_253_kyb}  
次のコード例は、このメソッドを呼び出して、指定したユーザーが指定したサービス グループにアクセスできるかどうかを確認する方法を示しています。

    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(文字列 service_id) {#ariaid-title8}

手動サービスをアプリケーションサービスに変換します。
{#BSM-migrateManualToITService_S__table_xjk_w41_sdb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| service_id | 文字列 | 変換する手動サービスのSys ID |
[表 : 12. パラメーター]

{#BSM-migrateManualToITService_S__table_xjk_w41_sdb} {#BSM-migrateManualToITService_S__table_yjk_w41_sdb__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | アプリケーションサービスへの移行が成功した場合は true。 |
[表 : 13. 返される内容]

{#BSM-migrateManualToITService_S__table_yjk_w41_sdb}  

    var bsManager = new SNC.BusinessServiceManager();
    var appService = bsManager.migrateManualToApplicationService("451047c6c0a8016400de0ae6df9b9d76");

## BusinessServiceManager - populateApplicationService(文字列 service_id, 数値 levels, 文字列 black_listed_relation_types) {#ariaid-title9}

指定されたエントリーポイントからの関係および CI でアプリケーションサービスを追加します。
{#BSM-populateDiscoveredService_S_N_S__table_crl_yx1_sdb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| service_id | 文字列 | 追加するアプリケーションサービスのSys ID |
| レベル | 番号 | CMDB から追加する CI のレベル数 |
| black_listed_relation_types | 文字列 | アプリケーションサービスを追加するときに除外する関係のタイプ |
[表 : 14. パラメーター]

{#BSM-populateDiscoveredService_S_N_S__table_crl_yx1_sdb} {#BSM-populateDiscoveredService_S_N_S__table_drl_yx1_sdb__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | 操作が成功した場合は true。 |
[表 : 15. 返される内容]

{#BSM-populateDiscoveredService_S_N_S__table_drl_yx1_sdb}  

    var bsManager = new SNC.BusinessServiceManager();
    var appService = bsManager.populateApplicationService("5bf65ebeedb91300964f6fa662989533", 10, "Depends on::Used by");

## BusinessServiceManager - removeCI(文字列 service_id, 文字列 target_id) {#ariaid-title10}

アプリケーションサービスから手動で作成された CI を削除します。
{#BSM-removeManualCi_O_O__table_bcz_py1_sdb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| service_id | 文字列 | CI を削除するアプリケーションサービスのSys ID 注: GlideRecord オブジェクトを渡すこともサポートされています。 |
| target_id | 文字列 | アプリケーションサービスから削除する CI のSys ID 注: GlideRecord オブジェクトを渡すこともサポートされています。 |
[表 : 16. パラメーター]

{#BSM-removeManualCi_O_O__table_bcz_py1_sdb} {#BSM-removeManualCi_O_O__table_ccz_py1_sdb__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 17. 返される内容]

{#BSM-removeManualCi_O_O__table_ccz_py1_sdb}  

    var bsManager = new SNC.BusinessServiceManager();
    var appService = bsManager.removeCI("2fce42d80a0a0bb4004af34d7e3984c8", "3a290cc60a0a0bb400000bdb386af1cf");

## BusinessServiceManager - removeEntryPoint(serviceId, endpointSysId) {#ariaid-title11}

アプリケーションサービスから既存のエントリーポイントを削除します。
{#BSM-removeEntryPoint_S_S__table_xj2_n32_zwb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| serviceId | 文字列 | 接続を追加するアプリケーションサービスのSys_id。 |
| エンドポイント SysID | 文字列 | 削除するエントリーポイントエンドポイントのSys_id。 |
[表 : 18. パラメーター]

{#BSM-removeEntryPoint_S_S__table_xj2_n32_zwb} {#BSM-removeEntryPoint_S_S__table_yj2_n32_zwb__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | エントリーポイントがアプリケーションサービスから正常に削除されたことを示すフラグ。 可能な値： * true:更新は成功しました。 * false:更新は成功しませんでした。 |
[表 : 19. 返される内容]

{#BSM-removeEntryPoint_S_S__table_yj2_n32_zwb}  
次の例ではSys_id指定されたアプリケーションサービスから「aa65ebeedb91300964f6fa6629895ss」に関連付けられたエントリポイントを削除します。

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

出力:

    true

## usinessServiceManager - removeManualConnection(String source_id, String endpoint_id, String service_id) {#ariaid-title12}

手動で作成された接続と接続された CI をアプリケーションサービスから削除します。
{#BSM-removeManualConnection_S_S_S__table_spm_sbb_sdb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| source_id | 文字列 | エンドポイントに接続されている CI のSys ID |
| endpoint_id | 文字列 | アプリケーションサービスから削除するために手動で作成された接続のSys ID |
| service_id | 文字列 | 接続を削除するアプリケーションサービスのSys ID |
[表 : 20. パラメーター]

{#BSM-removeManualConnection_S_S_S__table_spm_sbb_sdb} {#BSM-removeManualConnection_S_S_S__table_tpm_sbb_sdb__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 21. 返される内容]

{#BSM-removeManualConnection_S_S_S__table_tpm_sbb_sdb}  

    var bsManager = new SNC.BusinessServiceManager();
    var appService = bsManager.removeManualConnection("3a307c930a0a0bb400353965d0b8861f", "60ce3176edb91300964f6fa6629895d1", "2fce42d80a0a0bb4004af34d7e3984c8");

## BusinessServiceManager - updateEntryPoint(serviceId, endpointGr) {#ariaid-title13}

アプリケーションサービスの既存のエントリーポイントを更新します。
{#BSM-updateEntryPoint_S_O__table_oht_422_zwb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| serviceId | 文字列 | 接続を追加するアプリケーションサービスのSys_id。 |
| endpointGr | オブジェクト | アプリケーションサービスに追加する CI エンドポイント \[cmdb_ci_endpoint\] テーブルまたはその子テーブルの Glide レコードオブジェクト。 |
[表 : 22. パラメーター]

{#BSM-updateEntryPoint_S_O__table_oht_422_zwb} {#BSM-updateEntryPoint_S_O__table_pht_422_zwb__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | 更新がエントリポイントに正常に適用されたことを示すフラグ。 可能な値： * true:更新は成功しました。 * false:更新は成功しませんでした。 {#BSM-updateEntryPoint_S_O__ul_f52_dg2_zwb} |
[表 : 23. 返される内容]

{#BSM-updateEntryPoint_S_O__table_pht_422_zwb}  
次の updateEntryPoint() の例は、新しいエントリポイントで接続を更新する方法を示しています。

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

出力:

    true


