---
sourceDocument: Yokohama データと自動化
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/yokohama/integrate-applications

 Release :

    - yokohama

ft:locale :

    - ja-JP

ft:publication_title :

    - Yokohama データと自動化

ft:clusterId :

    - crint

bundleId :

    - crint

workflow :

    - Creator


---

# CSD 2.0 を他のソフトウェアプロバイダーと統合

# CSD 2.0 を他のソフトウェアプロバイダーと統合 {#ariaid-title1}

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

CSD 2.0 を、Casper、Altiris、LANDesk などのクライアントソフトウェアディストリビューションプロバイダーと統合します。  
注:  
CSD 2.0の拡張は、経験豊富なNow Platform開発者のみが使用することを目的とした高度な手順です。

## プロバイダーテーブルを作成 {#ariaid-title2}

プロバイダーサーバーから検出されたデータを保存するテーブルを特定して作成します。
たとえば、アプリケーション、コレクション、および展開テーブルには Microsoft Endpoint Configuration Manager スポークが用意されています。同様に、検出されたデータを保存するテーブルを作成します。クライアントソフトウェアディストリビューションアプリケーション (sn_csd_application) テーブルを拡張するアプリケーションテーブルを作成する必要があります。

* 構成アイテム \[cmdb_ci\] テーブルを拡張するプロバイダーサーバーテーブルを作成します。
* クライアントソフトウェアディストリビューションソフトウェア構成 \[sn_csd_software_config\] テーブルを拡張するソフトウェア構成テーブルを作成します。
{#csd2-int-prov-tables__ul_xcm_lj4_hsb}

## サブフローを作成 {#ariaid-title3}

ワークフロースタジオ でサブフローを作成し、データを検出して保存し、アプリケーションを展開します。
要件に従って、これらのサブフローを ワークフロースタジオ に作成します。

* データサブフローの検出および保存：プロバイダーサーバーを検出し、プロバイダーサーバーからデータを取得し、ServiceNow インスタンスにそのデータを保存するサブフロー。このデータは、サーバーデータの保存用に以前作成したテーブルに保存する必要があります。

* アプリケーションサブフローの展開：プロバイダーサーバーからソフトウェアを展開するサブフロー。このサブフローは、サービスカタログから要求されたアプリケーションの展開に関する情報をプロバイダーに提供します。

* アプリケーションの取り消しサブフロー：プロバイダーサーバーからインストールを取り消すサブフロー。このサブフローは、アプリケーションを削除する必要があるユーザーまたはデバイスに関する情報をプロバイダーに提供します。

* 構成データ検索サブフロー：指定された要求アイテムの構成データまたはソフトウェア設定レコードを取得するサブフロー。

{#csd2-int-subflows__ul_qbd_dk4_hsb}

\[アプリケーションの展開\] テンプレート、\[構成データを検索\] テンプレート、および \[アプリケーションの取り消し\] テンプレートのサブフローは、CSD 2.0で提供されます。これらのサブフローを参照として使用し、要件に従ってサブフローを作成できます。

## プロバイダーレコードを作成 {#ariaid-title4}

プロバイダーレコードを作成してフローを設定します。

### 始める前に

必要なロール：アドミン

### 手順

1. 移動先 クライアントソフトウェアディストリビューション 2.0プロバイダー.
2. \[新規\] をクリックします。
3. フォームに、これらの値を入力します。  
   {#csd2-prov-cust__table_kjg_nk1_3sb__entry__2}

   | フィールド | 説明 |
   |-|-|
   | 名前 | プロバイダーレコードを識別する名前。 |
   | ソフトウェア構成テーブル | 作成したソフトウェア構成テーブル。このテーブルは、クライアントソフトウェアディストリビューションソフトウェア構成 \[sn_csd_software_config\] テーブルを拡張します。 |
   | プロバイダーサーバーテーブル | 作成したプロバイダーサーバーテーブル。このテーブルは、構成アイテム \[cmdb_ci\] テーブルを拡張します。 |
   | ディスカバリーフロー | プロバイダーサーバーを検出し、プロバイダーサーバーからデータを取得し、ServiceNow インスタンスにそのデータを保存するために作成したサブフロー。 |
   | 展開フロー | プロバイダーサーバーからソフトウェアを展開するために作成したサブフロー。 |
   | 取り消しフロー | プロバイダーサーバーからインストールを取り消すために作成したサブフロー。 |
   | 構成フロー | 指定された要求アイテムの構成データまたはソフトウェア設定レコードを取得するために作成したサブフロー。 |
   | ソースリスト | カンマで区切られたディスカバリーソースのリスト。 |
   [ ]

   {#csd2-prov-cust__table_kjg_nk1_3sb}  
   図 : 1. プロバイダーレコードの例
4. \[保存\] をクリックします。

## UI アクションの作成 {#ariaid-title5}

データの検出、ソフトウェアモデルの作成、ソフトウェア構成の作成、およびカタログアイテムの作成を行う UI アクションを作成します。

### 始める前に

必要なロール：アドミン

### このタスクについて

UI アクションの作成の詳細については、「[UI アクション](https://www.servicenow.com/docs/access?context=c_UIActions&version=yokohama&pubname=yokohama-platform-administration&ft:locale=en-US)」を参照してください。

### 手順

1. データを検出するための UI アクションを作成します。
   1. 移動先 システム定義UI アクション.
   2. \[新規\] をクリックします。
   3. フォームに、これらの値を入力します。  
      {#csd2-create-uiacts__table_u5l_5q1_3sb__entry__2}

      | フィールド | 説明 |
      |-|-|
      | 名前 | UI アクションレコードを識別する名前。たとえば、 <kbd class="ph userinput">[今すぐ検出]</kbd>。 |
      | テーブル | 作成したプロバイダーサーバーテーブル。このテーブルは、構成アイテム \[cmdb_ci\] テーブルを拡張しています。 |
      | スクリプト | UI アクションが実行されるときに実行するスクリプト。たとえば、次のように入力します。 sn_csd.CSDUtil.startDiscovery(current); |
      [ ]

      {#csd2-create-uiacts__table_u5l_5q1_3sb}
   4. 要件に従って他のフィールドを指定します。
   5. \[保存\] をクリックします。
   {#csd2-create-uiacts__substeps_p3r_f41_3sb}
2. UI アクションを作成して、ソフトウェアモデルを作成し、プロバイダーアプリケーションまたはソフトウェアにリンクします。
   1. 移動先 システム定義UI アクション.
   2. \[新規\] をクリックします。
   3. フォームに、これらの値を入力します。  
      {#csd2-create-uiacts__table_y54_dv1_3sb__entry__2}

      | フィールド | 説明 |
      |-|-|
      | 名前 | UI アクションレコードを識別する名前。たとえば、 <kbd class="ph userinput">[ソフトウェアモデルを作成]</kbd>。 |
      | テーブル | 作成したアプリケーションテーブル。このテーブルは、クライアントソフトウェアディストリビューションアプリケーション (sn_csd_application) テーブルを拡張します。 注: SAM または CSD 2.0 ソフトウェアモデルとライセンステーブルのいずれかを使用できます。<kbd class="ph userinput">[ソフトウェアモデルとライセンス情報を管理するために SAM プラグイン (SAM Foundation または SAM Professional) テーブルを使用するかどうかを決定する]</kbd> システムプロパティ (sn_csd.useSAMPlugin) がどのように設定されるかによって、対応するソフトウェアモデルテーブルを使用します。 |
      | 条件 | UI アクションの表示時期を制限する条件を定義します。たとえば、ソフトウェアモデルがアプリケーションまたはソフトウェアに関連付けられている場合は、この UI アクションを非表示にできます。したがって、次のように入力します。「 `(gs.getProperty("sn_csd.useSAMPlugin") == 'true' && current.model=="" && (GlidePluginManager().isActive("com.snc.sams") || GlidePluginManager().isActive("com.snc.samp.core"))) || (gs.getProperty("sn_csd.useSAMPlugin") == 'false'&& current.csd_model=="")`」。 |
      | スクリプト | UI アクションが実行されるときに実行するスクリプト。たとえば、次のように入力します。 var newModel = ''; var tableName = ''; if (gs.getProperty("sn_csd.useSAMPlugin") == 'true' && current.model == "" && (GlidePluginManager().isActive("com.snc.sams") || GlidePluginManager().isActive("com.snc.samp.core"))) { tableName = 'cmdb_software_product_model'; } else { tableName = 'sn_csd_software_product_model'; } newModel = new sn_csd.CSDModelUtil().generateModel(current, tableName); if (newModel != '') gs.setRedirect(tableName + ".do?sys_id=" + newModel); |
      [ ]

      {#csd2-create-uiacts__table_y54_dv1_3sb}
   4. 要件に従って他のフィールドを指定します。
   5. \[保存\] をクリックします。
   {#csd2-create-uiacts__substeps_yjb_2r1_3sb}
3. ソフトウェア構成を作成するための UI アクションを作成します。
   1. 移動先 システム定義UI アクション.
   2. \[新規\] をクリックします。
   3. フォームに、これらの値を入力します。  
      {#csd2-create-uiacts__table_fdz_rx1_3sb__entry__2}

      | フィールド | 説明 |
      |-|-|
      | 名前 | UI アクションレコードを識別する名前。たとえば、<kbd class="ph userinput">[ソフトウェア構成を作成]</kbd>。 |
      | テーブル | 作成したアプリケーションテーブル。このテーブルは、クライアントソフトウェアディストリビューションアプリケーション (sn_csd_application) テーブルを拡張します。 注: SAM または CSD 2.0 ソフトウェアモデルとライセンステーブルのいずれかを使用できます。<kbd class="ph userinput">[ソフトウェアモデルとライセンス情報を管理するために SAM プラグイン (SAM Foundation または SAM Professional) テーブルを使用するかどうかを決定する]</kbd> システムプロパティ (sn_csd.useSAMPlugin) がどのように設定されるかによって、対応するソフトウェアモデルテーブルを使用します。 |
      | 条件 | UI アクションの表示時期を制限する条件を定義します。たとえば、ソフトウェアモデルが設定されている場合にのみ UI アクションを表示したい場合があります。したがって、次のように入力します。「 `(gs.getProperty("sn_csd.useSAMPlugin") == 'true' && current.model!="" && (GlidePluginManager().isActive("com.snc.sams") || GlidePluginManager().isActive("com.snc.samp.core"))) || (gs.getProperty("sn_csd.useSAMPlugin") == 'false' && current.csd_model!="")`」。 |
      | スクリプト | UI アクションが実行されるときに実行するスクリプト。たとえば、次のように入力します。 var softwareConfig = createConfig(current); action.setRedirectURL(softwareConfig); function createConfig(appGr) { var gr = new GlideRecord("<Provider-software-configuration-table>"); gr.initialize(); gr.application = appGr.sys_id; gr.name = appGr.display_name; gr.insert(); return gr; } この例では、<kbd class="ph userinput">&lt;Provider-software-configuration-table&gt;</kbd> を、作成したプロバイダーサーバーテーブルと置き換えます。このテーブルは、構成アイテム \[cmdb_ci\] テーブルを拡張しています。 |
      [ ]

      {#csd2-create-uiacts__table_fdz_rx1_3sb}
   4. 要件に従って他のフィールドを指定します。
   5. \[保存\] をクリックします。
   {#csd2-create-uiacts__substeps_tbn_cx1_3sb}
4. カタログアイテムを作成するための UI アクションを作成します。
   1. 移動先 システム定義UI アクション.
   2. \[新規\] をクリックします。
   3. フォームに、これらの値を入力します。  
      {#csd2-create-uiacts__table_kwx_w1b_3sb__entry__2}

      | フィールド | 説明 |
      |-|-|
      | 名前 | UI アクションレコードを識別する名前。たとえば、 <kbd class="ph userinput">[カタログアイテムを作成]</kbd>。 |
      | テーブル | 作成したアプリケーションテーブル。このテーブルは、クライアントソフトウェアディストリビューションアプリケーション (sn_csd_application) テーブルを拡張します。 注: SAM または CSD 2.0 ソフトウェアモデルとライセンステーブルのいずれかを使用できます。<kbd class="ph userinput">[ソフトウェアモデルとライセンス情報を管理するために SAM プラグイン (SAM Foundation または SAM Professional) テーブルを使用するかどうかを決定する]</kbd> システムプロパティ (sn_csd.useSAMPlugin) がどのように設定されるかによって、対応するソフトウェアモデルテーブルを使用します。 |
      | 条件 | UI アクションの表示時期を制限する条件を定義します。たとえば、ソフトウェアモデルが設定され、少なくとも 1 つのソフトウェア設定がある場合にのみ、この UI アクションを表示したい場合があります。したがって、次のように入力します。「`sn_csd.CSDUtil.isCSDSoftwareModelAndConfigurationSet(current, "<プロバイダーソフトウェア設定テーブル>", "<プロバイダーのアプリケーションテーブルを示すソフトウェア設定テーブルの列の内部名>")` 」。 |
      | スクリプト | UI アクションが実行されるときに実行するスクリプト。たとえば、次のように入力します。 var catItemHandler = new sn_csd.CSDCatItemHandler(current); var catItem = catItemHandler.createCatalogItem(current); //first parameter - provider's software configuration table //second paramter - internal name of software configuration table's column that refers to the provider's application table var sfConfig = catItemHandler.getSoftwareConfig('<provider software configuration table>', '<internal name of software configuration table's column that refers to provider's application table>); var gr = new GlideRecord('sn_csd_cat_item_fulfilment_config'); gr.initialize(); gr.cat_item = catItem.sys_id; gr.provider = '<provider's Sys ID from sn_csd_provider table record>'; //provider's Sys ID from sn_csd_provider table record gr.software_config = sfConfig; //populating software configuration gr.insert(); action.setRedirectURL(catItem); |
      [ ]

      {#csd2-create-uiacts__table_kwx_w1b_3sb}
   4. 要件に従って他のフィールドを指定します。
   5. \[保存\] をクリックします。
   {#csd2-create-uiacts__substeps_cgs_w1b_3sb}

