DuplicateTemplate - スコープ指定

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:48分
  • DuplicateTemplate API は、各メソッドに一連の検証を適用することで、ユーザーが重複排除テンプレートを操作するためのメソッドを提供します。

    重複排除タスクの修正は、個別に処理する場合よりも時間がかかる場合があります。重複テンプレートを使用すると、一連の重複タスクをグループ化して一緒に実行できます。DuplicateTemplate API を使用して、重複排除テンプレートを作成および使用します。この API は sn_cmdb 名前空間で実行され、アクセスするには cmdb_dedup_admin ロールが必要です。

    インスタンスは、識別および調整中に重複する構成アイテム (CI) を検出すると、レビューと修正のために重複 CI の各セットを重複排除タスクにグループ化します。重複排除タスクは、すべての重複 CI のリストを含む、重複に関する詳細を提供します。詳細については、「Duplicate CIs remediation」を参照してください。

    関連項目:IdentificationEngine - スコープ指定

    テンプレートのライフサイクル
    1. CreateTemplate() メソッドを使用して、ドラフト状況のテンプレートを作成します。
      次の方法を使用して、テンプレートを取得または更新できます。
    2. publishTemplate() メソッドを使用して、テンプレートをドラフトステータスから公開ステータスに移行します。
      注:
      unPublishTemplate() メソッドを使用して、公開されたテンプレートをドラフト状況に戻し、テンプレートを更新します。
    3. オプション。CMDBDuplicateTemplateUtil スクリプトインクルードを使用して、タスクを追加または削除します。
    4. テンプレートを実行するには、 runTemplate() メソッドを使用します。

      実行中のタスクをキャンセルするには、 requestCancellation() メソッドを使用します。

    5. テンプレートが不要になった場合は、 retireTemplate() メソッドを使用してテンプレートを廃止できます。
    テンプレートを使用した 1 つのタスクの修正
    テンプレートを実行せずに 1 つのタスクを修正するには、重複排除タスクをプレビューして修正します。
    1. previewTemplate() メソッドを使用して、テンプレートを使用した単一タスクの修復をプレビューします。
    2. remediateTask() メソッドを使用して、テンプレートを使用して重複排除タスクを修正します。

    DuplicateTemplate - canAddTasksToTemplate(アレイ taskIds, 文字列 templatId)

    指定されたタスクのリストをテンプレートに追加できるかどうかを確認します。

    このメソッドを使用して、タスクがテンプレートに追加するのに適しているかどうかを判断します。たとえば、指定したテンプレートはアプリケーションサーバー Tomcat 用に作成されても、指定した重複排除タスクは Linux サーバー用に作成されます。これらのタスクには一致するテンプレートクラスがないため、テンプレートに追加できません。

    表 : 1. パラメーター
    名前 タイプ 説明
    taskIds アレイ テンプレートに追加する重複排除タスクのsys_idsのアレイ。
    template_id 文字列 重複調整テンプレート [reconcile_duplicate_template] テーブルにリストされているテンプレートのSys_id。
    表 : 2. 戻り値
    タイプ 説明
    オブジェクト 追加、スキップ、または失敗できるタスクを含む結果オブジェクト。
    {
      "success": [
        "<task_id_1>",
        "<task_id_2>",
        "<task_id_3>"
      ],
      "failed": [
        "<task_id_4>"
      ],
      "skipped": [
        "<task_id_5>"
      ]
    }
    失敗 タスクがテンプレートと互換性があるかどうかの確認中にエラーが発生しました。「Detecting duplicate CIs」も参照してください。
    スキップ 一致するテンプレートクラスがないため、タスクに互換性がなく、タスクがスキップされました。
    正常終了 タスクはテンプレートクラスに一致し、テンプレートに追加できます。

    次の例は、テンプレートに追加できるタスクを確認する方法を示しています。

    var taskIds = [];
    taskIds.push(<task_id_1>);
    taskIds.push(<task_id_2>);
    taskIds.push(<task_id_3>);
    
    var result = sn_cmdb.DuplicateTemplate.canAddTasksToTemplate(taskIds, <template_id>);
    
    gs.info('Success:' + result.success);
    gs.info('Failed:' + result.failed);
    gs.info('Skipped:' + result.skipped);

    出力:

    Success: <task_id_1>
    Failed: <task_id_2>
    Skipped: <task_id_3>

    DuplicateTemplate - createTemplate(オブジェクトテンプレート)

    ドラフトステータスの重複排除テンプレートを作成します。

    表 : 3. パラメーター
    名前 タイプ 説明
    template オブジェクト テンプレートを作成するためのさまざまなオプションを含むテンプレートオブジェクト。
    {
      "allow_master_ci_null_update": Boolean,
      "allow_null_attribute_update": Boolean,
      "description": "String",
      "duplicate_ci_action": "String",
      "duplicate_ci_updates": [Array],
      "master_ci_condition": "String",
      "master_ci_option": "String",
      "merge_related_items": "String",
      "merge_related_items_condition": [Array],
      "merge_relations_condition": "String",
      "merge_relations": "String",
      "most_related_items_merge_attributes": "String",
      "most_relations_merge_attributes": "String",
      "name": "String",
      "newest_updated_merge_attributes": "String",
      "oldest_created_merge_attributes": "String",
      "table": "String",
      "task_conditions": "String"
    }
    template.allow_null_attribute_update ブール オプション。重複排除タスク内の CI の属性競合を解決するときに、メイン CI 属性が重複 CI の null 値で更新されるかどうかを示すフラグ。
    有効な値:
    • true:メイン CI 属性が重複 CI からの null 値で更新されます。
    • false:メイン CI 属性は、重複 CI からの null 値で更新されません。

    デフォルト値:False

    template.allow_master_ci_null_update ブール オプション。メイン CI 値が null の場合にのみ、重複 CI からの更新が含まれます。

    メイン CI 値が null の場合に重複 CI からの更新のみを含めるかどうかを示すフラグ。

    有効な値:
    • true:メイン CI 値が null の場合にのみ、重複 CI からの更新を含めます。
    • false:すべての重複 CI からの更新を含めます。

    デフォルト値:False

    template.description 文字列 オプション。テンプレートに関する詳細情報を保存する説明。
    template.duplicate_ci_action 文字列 オプション。重複 CI を削除するか、一意のカスタム値で更新するかを指定します。
    選択可能なオプション:
    • delete
    • 更新 ( duplicate_ci_updatesの指定が必要)
    template.duplicate_ci_updates アレイ オプション。ただし、 duplicate_ci_action の設定が update の場合を除く。重複 CI 値の更新方法を指定するオブジェクトのアレイ。
    [
      {
        "element": "String",
        "element_label": "String",
        "value": "String",
        "display": "String"
      }
    ]
    template.duplicate_ci_updates.element 文字列 参照フィールドのシステム辞書名。
    template.duplicate_ci_updates.element_label 文字列 参照フィールドに表示されるラベル。
    template.duplicate_ci_updates.value 文字列 参照フィールドの値、つまり参照フィールドの内容。
    template.duplicate_ci_updates.display 文字列 参照フィールドの表示値。
    template.master_ci_option 文字列 オプション。このテンプレートを適用するときの重複排除タスクのメイン CI の選択方法を指定します。
    選択可能なオプション:
    • 条件付き ( master_ci_condition の指定必須)
    • most_related_items:メイン CI に最も関連性の高いアイテムを持つ CI から結合される属性。
    • most_relations:メイン CI との関係が最も多い CI から結合される属性。
    • newest_created:最後に更新された CI からメイン CI に結合される分離された属性。
    • oldest_created:最も古い作成の CI からメイン CI に結合されるカンマ区切りの属性。
    template.master_ci_条件 文字列 オプション ( master_ci_option の値が 条件付きの場合は必須)。メイン CI の選択方法を指定するエンコードされたクエリ。複数の CI がある場合、または CI がクエリに一致する場合、メソッドは最後に更新された CI をメイン CI として選択します。テンプレートテーブルに対してエンコードされたクエリが評価されます。このテーブルは table プロパティで識別されます。

    詳しくは、 エンコードされたクエリ文字列 を参照してください。

    template.merge_relations 文字列 オプション。このテンプレートを適用するときに、重複排除タスク内の重複 CI の関係を結合する方法を指定します。
    選択可能なオプション:
    • すべて
    • 条件付きの
    • なし
    template.merge_relations 文字列 オプション。このテンプレートを適用するときに、重複排除タスク内の重複 CI の関係を結合する方法を指定します。
    選択可能なオプション:
    • すべて
    • 条件付きの
    • なし
    template.merge_relations_condition 文字列 オプション ( merge_relations の値が 条件付きの場合は必須)。重複 CI のすべてのリレーションシップを結合するか、まったく結合しないかを指定するエンコードクエリ。クエリは、重複排除タスク用に選択されたメイン CI で評価されます。クエリが true を返す場合、すべての関係が結合されます。false の場合、関係は結合されません。

    テンプレートテーブルに対してエンコードされたクエリが評価されます。このテーブルは table プロパティで識別されます。

    詳しくは、 エンコードされたクエリ文字列 を参照してください。

    template.merge_related_items 文字列 オプション。このテンプレートを適用するときに、重複排除タスク内の重複 CI のどの関連テーブルをメイン CI に結合するかを指定します。Remediate a de-duplication task (manual)も参照してください。
    選択可能なオプション:
    • all_available - デフォルトの関連テーブルと、テンプレートを介して修正された重複排除タスクの重複 CI を参照するすべての関連テーブルが含まれます。
    • 条件付きの
    • デフォルト:重複 CI レメディエーターのデフォルト関連アイテムモジュールによって提供される関連エントリが含まれます。
    • なし
    template.merge_related_items_condition アレイ オプション。各関連エントリのエンコードされたクエリを含む関連エントリのリスト。各クエリーは、タスクに対して選択されたメイン CI で評価されます。クエリが true を返す場合、重複排除タスクの修正中に関連エントリが結合されます。false の場合、関連するエントリは結合されません。
    "merge_related_items_condition": [
      {
        "related_entry": "String",
        "condition": "String"
      }
    ]

    詳しくは、 エンコードされたクエリ文字列 を参照してください。

    template.most_relations_merge_attributes 文字列 オプション。メイン CI との関係が最も多い CI から結合されるカンマ区切りの属性。
    template.most_related_items_merge_attributes 文字列 オプション。メイン CI に最も関連性の高いアイテムを持つ CI から結合されるカンマ区切りの属性。
    template.name 文字列 テンプレートの名前。
    template.newest_updated_merge_attributes 文字列 オプション。最後に更新された CI からメイン CI に結合されるカンマ区切りの属性。
    template.oldest_created_merge_attributes 文字列 オプション。最も古く作成された CI からメイン CI に結合されるカンマ区切りの属性。
    template.table 文字列 テンプレートが作成されるテーブル。
    template.task_conditions 文字列 オプション。テンプレートの実行時に評価されるエンコードされたクエリ。このクエリは、重複調整タスクデータ [reconcile_duplicate_task_data] テーブルで評価されます。このクエリから返されたすべてのタスクは、テンプレートの評価中に考慮されます。
    注:
    タスクがクエリの一部として返された場合でも、テンプレートの実行によってタスクが処理されるとは限りません。その他の要因により、テンプレートの処理中にタスクがスキップされる場合があります。

    詳しくは、 エンコードされたクエリ文字列 を参照してください。

    表 : 4. 返される内容
    タイプ 説明
    文字列 重複調整テンプレート [reconcile_duplicate_template] テーブルで作成されたテンプレートのSys_id。

    次の例は、重複排除テンプレートを作成する方法を示しています。

    var template = {
      "name": "Test Windows Template",
      "table": "cmdb_ci_win_server",
      "description": "This is a Windows server template",
      "master_ci_option": "oldest_created",
      "master_ci_condition": "",
      "allow_null_attribute_update": false,
      "allow_master_ci_null_update": false,
      "oldest_created_merge_attributes": "serial_number,os_version",
      "merge_relations": "all",
      "merge_relations_condition": "",
      "merge_related_items": "conditional",
      "merge_related_items_condition": [
        {
          "related_entry": "change_request.cmdb_ci",
          "condition": "ramCONTAINS1024"
        },
        {
          "related_entry": "incident.cmdb_ci",
          "condition": "os_versionCONTAINSWindows"
        }
      ],
      "duplicate_ci_action": "delete",
      "duplicate_ci_updates":   [{
        "element": "ram",
        "element_label": "RAM (MB)",
        "value": "1024",
        "display": "1024"
      }],
      "task_conditions": "category=attribute^key=serial_number^value=E2BX1^EQ"
    };
    
    var templateId = sn_cmdb.DuplicateTemplate.createTemplate(template);
    
    gs.info(templateId);

    出力:

    8dfcd36e042b2510f877c1665753a485

    DuplicateTemplate - getTemplate(文字列 templateId)

    テンプレートオブジェクトを取得します。

    表 : 5. パラメーター
    名前 タイプ 説明
    template_id 文字列 重複調整テンプレート [reconcile_duplicate_template] テーブルにリストされているテンプレートのSys_id。
    表 : 6. 返される内容
    タイプ 説明
    オブジェクト テンプレートを作成するためのさまざまなオプションを含むテンプレートオブジェクト。
    {
      "allow_master_ci_null_update": Boolean,
      "allow_null_attribute_update": Boolean,
      "description": "String",
      "duplicate_ci_action": "String",
      "duplicate_ci_updates": [Array],
      "master_ci_condition": "String",
      "master_ci_option": "String",
      "merge_related_items": "String",
      "merge_related_items_condition": [Array],
      "merge_relations_condition": "String",
      "merge_relations": "String",
      "most_related_items_merge_attributes": "String",
      "most_relations_merge_attributes": "String",
      "name": "String",
      "newest_updated_merge_attributes": "String",
      "oldest_created_merge_attributes": "String",
      "table": "String",
      "task_conditions": "String"
    }
    <Object>.allow_null_ attribute_update 重複排除タスク内の CI の属性競合を解決するときに、メイン CI 属性が重複 CI の null 値で更新されるかどうかを示すフラグ。
    有効な値:
    • true:メイン CI 属性が重複 CI からの null 値で更新されます。
    • false:メイン CI 属性は、重複 CI からの null 値で更新されません。

    データタイプ:ブーリアン

    <Object>.allow_master_ci_ null_update メイン CI 値が null の場合にのみ、重複 CI からの更新が含まれます。
    有効な値:
    • true:メイン CI 値が null の場合にのみ、重複 CI からの更新を含めます。
    • false:すべての重複 CI からの更新を含めます。

    データタイプ:ブーリアン

    <Object>。形容 テンプレートに関する詳細情報を保存する説明。

    データタイプ:文字列

    <Object>.duplicate_ ci_action 重複 CI を削除するか、一意のカスタム値で更新するかを指定します。
    選択可能なオプション:
    • delete
    • 更新 ( duplicate_ci_updatesの指定が必要)

    データタイプ:文字列

    <Object>.duplicate_ ci_updates 重複 CI 値の更新方法を指定するオブジェクトのアレイ。
    [
      {
        "element": "String",
        "element_label": "String",
        "value": "String",
        "display": "String"
      }
    ]

    データタイプ: オブジェクト

    <Object>.duplicateCIUpdates.element 参照フィールドのシステム辞書名。

    データタイプ:文字列

    <Object>.duplicateCIUpdates.element_label 参照フィールドに表示されるラベル。

    データタイプ:文字列

    <Object>.duplicateCIUpdates.value 参照フィールドの値、つまり参照フィールドの内容。

    データタイプ:文字列

    <Object>.duplicateCIUpdates.display 参照フィールドの表示値。

    データタイプ:文字列

    <Object>.master_ci_オプション このテンプレートを適用するときの重複排除タスクのメイン CI の選択方法を指定します。
    選択可能なオプション:
    • 条件付き ( master_ci_condition の指定必須)
    • most_related_items:メイン CI に最も関連性の高いアイテムを持つ CI から結合される属性。
    • most_relations:メイン CI との関係が最も多い CI から結合される属性。
    • newest_created:最後に更新された CI からメイン CI に結合される分離された属性。
    • oldest_created:最も古い作成の CI からメイン CI に結合されるカンマ区切りの属性。

    データタイプ:文字列

    <Object>.merge_relations このテンプレートを適用するときに、重複排除タスク内の重複 CI の関係を結合する方法を指定します。
    選択可能なオプション:
    • すべて
    • 条件付きの
    • なし

    データタイプ:文字列

    <Object>.merge_related_items このテンプレートを適用するときに、重複排除タスク内の重複 CI のどの関連テーブルをメイン CI に結合するかを指定します。Remediate a de-duplication task (manual)も参照してください。
    選択可能なオプション:
    • all_available - デフォルトの関連テーブルと、テンプレートを介して修正された重複排除タスクの重複 CI を参照するすべての関連テーブルが含まれます。
    • 条件付きの
    • デフォルト:重複 CI レメディエーターのデフォルト関連アイテムモジュールによって提供される関連エントリが含まれます。
    • なし

    データタイプ:文字列

    <Object>.merge_related_items_条件 各関連エントリのエンコードされたクエリを含む関連エントリのリスト。各クエリーは、タスクに対して選択されたメイン CI で評価されます。クエリが true を返す場合、重複排除タスクの修正中に関連エントリが結合されます。false の場合、関連するエントリは結合されません。

    詳しくは、 エンコードされたクエリ文字列 を参照してください。

    データタイプ:アレイ

    <Object>.most_relations_ merge_attributes メイン CI との関係が最も多い CI から結合されるカンマ区切りの属性。

    データタイプ:文字列

    <Object>.most_related_items_ merge_attributes メイン CI に最も関連性の高いアイテムを持つ CI から結合されるカンマ区切りの属性。

    データタイプ:文字列

    <Object>.name テンプレートの名前。

    データタイプ:文字列

    <Object>.newest_updated_ merge_attributes 最後に更新された CI からメイン CI に結合されるカンマ区切りの属性。

    データタイプ:文字列

    <Object>.oldest_created_ merge_attributes 最も古く作成された CI からメイン CI に結合されるカンマ区切りの属性。

    データタイプ:文字列

    <Object>.table テンプレートが作成されるテーブル。

    データタイプ:文字列

    <Object>.task_condition_table テーブルタスク条件の場所、つまり重複調整タスクデータ [reconcile_duplicate_task_data] テーブル。値は変更されず、テーブルは内部でのみ使用されます。

    データタイプ:文字列

    <Object>.task_conditions テンプレートの実行時に評価されるエンコードされたクエリ。このクエリは、重複調整タスクデータ [reconcile_duplicate_task_data] テーブルで評価されます。このクエリから返されたすべてのタスクは、テンプレートの評価中に考慮されます。
    注:
    タスクがクエリの一部として返された場合でも、テンプレートの実行によってタスクが処理されるとは限りません。その他の要因により、テンプレートの処理中にタスクがスキップされる場合があります。

    詳しくは、 エンコードされたクエリ文字列 を参照してください。

    データタイプ:文字列

    次の例は、テンプレートを取得する方法を示しています。

    var template = sn_cmdb.DuplicateTemplate.getTemplate('<template_id>');
    gs.info(JSON.stringify(template));

    出力:

    {
      "most_relations_merge_attributes": "",
      "task_conditions": "category=attribute^key=serial_number^value=E2BX1^EQ",
      "duplicate_ci_updates": "org.mozilla.javascript.NativeArray@5d3b19ef",
      "description": "This is a Windows server template",
      "master_ci_option": "oldest_created",
      "merge_related_items": "conditional",
      "duplicate_ci_action": "delete",
      "newest_updated_merge_attributes": "",
      "merge_related_items_condition": [
        {
          "condition": "os_versionCONTAINSWindows",
          "related_entry": "incident.cmdb_ci"
        },
        {
          "condition": "ramCONTAINS1024",
          "related_entry": "change_request.cmdb_ci"
        }
      ],
      "most_related_items_merge_attributes": "",
      "merge_relations": "all",
      "task_condition_table": "reconcile_duplicate_task_data",
      "name": "Test Windows Template",
      "allow_null_attribute_update": false,
      "table": "cmdb_ci_win_server",
      "allow_master_ci_null_update": false,
      "oldest_created_merge_attributes": "serial_number,os_version"
    }

    DuplicateTemplate - previewTemplate(文字列 templateId, 文字列 taskId)

    さまざまなテンプレートオプションが重複排除タスクにどのように適用されたか、およびそれを修復する方法のプレビューを生成します。

    このメソッドは、テンプレートを使用してタスクのプレビューを生成する前に、必要なすべての属性を検証します。テンプレートは、必要な属性を指定せずに作成または更新できます。重複排除タスクをプレビューするには、必要な属性を指定する必要があります。

    次の属性が必要です。
    • duplicate_ci_action
    • master_ci_option
    • merge_related_items
    • merge_relations
    • 名前
    • table
    注:
    この方法ではすべての属性が検証されますが、テンプレートがプレビューの公開済みステータスである必要はありません。

    remediateTask() メソッドを使用して、重複排除タスクを修正します。

    表 : 7. パラメーター
    名前 タイプ 説明
    template_id 文字列 重複調整テンプレート [reconcile_duplicate_template] テーブルにリストされているテンプレートのSys_id。
    taskId 文字列 重複修復タスク [reconcile_duplicate_task] テーブルにリストされている重複排除タスクのSys_id。
    表 : 8. 返される内容
    タイプ 説明
    オブジェクト テンプレートを使用して重複排除タスクを修正する方法を示す値を含むプレビューオブジェクト。
    {
      "allClassCIMap": {Object},
      "duplicateCIAction": "String",
      "duplicateCIUpdates": [Array],
      "masterCI": "String",
      "mergeRelations": Boolean,
      "relatedTablesMerged": [Array],  
      "resolvedFieldCIMap": [Array],
      "taskId": "String",
      "tooManyDuplicates": Boolean
    }
    <Object>.allClassCIMap CI クラス別にグループ化された、重複排除タスク内のsys_ids CI のリスト。cmdb_ci_computer など。
    "allClassCIMap": {
      "<ci_class_name>": [
        "<ci_sys_id_1>",
        "<ci_sys_id_2>"
      ]
    }

    データタイプ: オブジェクト

    <Object>.duplicateCIAction 重複 CI を削除するか、一意のカスタム値で更新するかを指定します。
    選択可能なオプション:
    • delete
    • 更新 ( duplicate_ci_updatesの指定が必要)

    データタイプ:文字列

    <Object>.duplicateCIUpdate 重複 CI 値の更新方法を指定するオブジェクトのアレイ。
    [
      {
        "element": "String",
        "element_label": "String",
        "value": "String",
        "display": "String"
      }
    ]

    データタイプ:アレイ

    <Object>.duplicateCIUpdates.element 参照フィールドのシステム辞書名。

    データタイプ:文字列

    <Object>.duplicateCIUpdates.element_label 参照フィールドに表示されるラベル。

    データタイプ:文字列

    <Object>.duplicateCIUpdates.value 参照フィールドの値、つまり参照フィールドの内容。

    データタイプ:文字列

    <Object>.duplicateCIUpdates.display 参照フィールドの表示値。

    データタイプ:文字列

    <Object>.masterCI メイン CI として選択された CI の Sys_id。

    データタイプ:文字列

    <Object>.mergeRelations このテンプレートを適用するときに、重複排除タスク内の重複 CI の関係を結合する方法を指定します。
    選択可能なオプション:
    • すべて
    • 条件付きの
    • なし

    データタイプ:文字列

    <Object>.relatedTablesMerged このテンプレートを適用するときに、重複排除タスク内の重複 CI のどの関連テーブルをメイン CI に結合するかを指定します。Remediate a de-duplication task (manual)も参照してください。
    選択可能なオプション:
    • all_available - デフォルトの関連テーブルと、テンプレートを介して修正された重複排除タスクの重複 CI を参照するすべての関連テーブルが含まれます。
    • 条件付きの
    • デフォルト:重複 CI レメディエーターのデフォルト関連アイテムモジュールによって提供される関連エントリが含まれます。
    • なし

    データタイプ:アレイ

    <Object>.resolvedFieldCIMap 重複 CI からメイン CI に結合される要素のアレイ。
    "resolvedFieldCIMap": [
      {
        "element": "String",
        "sys_id": "String"
      }
    ]

    データタイプ:アレイ

    <Object>.resolvedFieldCIMap。要素 重複 CI からメイン CI に結合する要素の名前。

    データタイプ:文字列

    <Object>.resolvedFieldCIMap。sys_id 重複 CI からメイン CI に結合される要素のSys_id。

    データタイプ:文字列

    <Object>.taskId 重複修復タスク [reconcile_duplicate_task] テーブルにリストされている重複排除タスクのSys_id。

    データタイプ:文字列

    <Object>.tooManyDuplicates タスクの CI が最大数を超えているかどうかを示すフラグ。しきい値は、システムプロパティ glide.duplicate_ci_ remediator.max.cis の値を比較することによって決定されます (デフォルト値は 1000 CI)。
    有効な値:
    • true:CI のタスク数が CI の最大数を超えています。
    • false:CI のタスク数が CI の最大数を超えません。

    データタイプ:ブーリアン

    次の例は、指定したテンプレートの重複排除修正のプレビューを取得する方法を示しています。

    var preview = sn_cmdb.DuplicateTemplate.previewTemplate("<template_id>", "<task_id>");
    gs.info(JSON.stringify(preview));

    出力:

    {
      "taskId": "<task_id>",
      "masterCI": "<ci_sys_id_1>",
      "allClassCIMap": {
        "cmdb_ci_computer": [
          "<ci_sys_id_1>",
          "<ci_sys_id_2>"
        ]
      },
      "resolvedFieldCIMap": [
        {
          "element": "ram",
          "sys_id": "<ci_sys_id_2>"
        },
        {
          "element": "os_version",
          "sys_id": "<ci_sys_id_2>"
        }
      ],
      "mergeRelations": true,
      "relatedTablesMerged": [
        "incident.cmdb_ci",
        "change_request.cmdb_ci"
      ],
      "duplicateCIAction": "delete",
      "duplicateCIUpdates": [],
      "tooManyDuplicates": false
    }

    DuplicateTemplate - publishTemplate(文字列 templateId)

    テンプレートを公開します。成功すると、テンプレートのステータスがドラフトから公開に移行します。

    このメソッドは、テンプレートを公開する前に必要なすべての属性を検証します。必要な属性を指定せずにテンプレートを作成または更新できますが、テンプレートを公開する前に属性を指定する必要があります。

    次の属性が必要です。
    • duplicate_ci_action
    • master_ci_option
    • merge_related_items
    • merge_relations
    • 名前
    • table

    公開済みステータスでは、 runTemplate() メソッドを使用してテンプレートを実行できます。

    表 : 9. パラメーター
    名前 タイプ 説明
    template_id 文字列 重複調整テンプレート [reconcile_duplicate_template] テーブルにリストされているテンプレートのSys_id。
    表 : 10. 返される内容
    タイプ 説明
    ブール

    テンプレートが公開されたかどうかを示すフラグ。

    有効な値:
    • true:テンプレートが公開されました。
    • false:テンプレートは公開されませんでした。

    次の例は、テンプレートを公開して結果を表示する方法を示しています。

    var isPublished = sn_cmdb.DuplicateTemplate.publishTemplate('<template_id>');
    gs.info(isPublished);

    出力:

    true

    DuplicateTemplate - remediateTask(文字列 templateId, 文字列 taskId)

    テンプレートを使用して重複排除タスクを修正します。

    テンプレートが公開済みステータスでない場合、テンプレートは実行できず、メソッドは例外をスローします。

    previewTemplate() メソッドを使用して、重複排除タスクの修正方法をプレビューします。

    表 : 11. パラメーター
    名前 タイプ 説明
    template_id 文字列 重複調整テンプレート [reconcile_duplicate_template] テーブルにリストされているテンプレートのSys_id。
    taskId 文字列 重複修復タスク [reconcile_duplicate_task] テーブルにリストされている重複排除タスクのSys_id。
    表 : 12. 返される内容
    タイプ 説明
    文字列 成功した場合の重複排除タスク修正の結合解決 ID。この結合解決 ID は、重複 CI 修正 [cmdb_duplicate_ci_remediation] テーブルのレコードsys_idです。失敗した場合、テンプレートは [公開済み] ステータスになっていない可能性があります。

    次の例は、重複排除タスクを修正する方法を示しています。

    var mergeResolutionId = sn_cmdb.DuplicateTemplate.remediateTask("<template_id>", "<task_id>");
    gs.info(mergeResolutionId);

    出力:

    <merge_resolution_id>

    DuplicateTemplate - requestCancellation(文字列 templateRunId)

    既存のテンプレートの実行をキャンセルします。

    キャンセル要求は、テンプレート実行がドラフト、準備完了、または実行中ステータスの場合にのみ行うことができます。

    テンプレートがキャンセル要求を実行すると、テンプレートの実行ステータスが中間ステージの [キャンセル要求済み (Cancel Requested)] に変わります。

    この方法を実行しても、[準備完了] または [ドラフト] ステータスのテンプレートの実行は自動的にキャンセルされません。実行中のタスクが完了するまで、テンプレートの実行ステータスは [キャンセル] に変更されません。その時点で、修正のためにステージングされた残りのタスクはすべて、キャンセル要求からキャンセルに変更されます。

    表 : 13. パラメーター
    名前 タイプ 説明
    templateRunId 文字列 重複排除テンプレートの実行 [reconcile_duplicate_template_run] テーブルにリストされているテンプレートの実行Sys_id。
    表 : 14. 戻り値
    タイプ 説明
    文字列

    キャンセル要求が成功したかどうかを示すフラグ。

    有効な値:
    • true:キャンセル要求が成功しました。
    • false:キャンセル要求が成功しませんでした。

    次の例は、テンプレートの実行をキャンセルし、操作が成功したかどうかを表示する方法を示しています。

    var isCancelled = sn_cmdb.DuplicateTemplate.requestCancellation("487c67e2046b2510f877c1665753a4cc");
    gs.info(isCancelled);

    出力:

    true

    DuplicateTemplate - retireTemplate(文字列 templateId)

    テンプレートを廃止します。

    不要になったテンプレートを廃止ステータスに移行するには、この方法を使用します。

    テンプレートは廃止できず、メソッドは次の条件で例外をスローします。
    • テンプレートは公開済みステータスです。
    • テンプレートは実行中であるか、実行がスケジュールされています。
    表 : 15. パラメーター
    名前 タイプ 説明
    template_id 文字列 重複調整テンプレート [reconcile_duplicate_template] テーブルにリストされているテンプレートのSys_id。
    表 : 16. 返される内容
    タイプ 説明
    ブール テンプレートが廃止されたかどうかを示すフラグ。
    有効な値:
    • true:テンプレートは廃止されています。
    • false:テンプレートは実行中、実行がスケジュールされているか、公開済みステータスであるため、廃止できませんでした

    次の例は、テンプレートを廃止して結果を表示する方法を示しています。

    var isRetired = sn_cmdb.DuplicateTemplate.retireTemplate(<template_id>);
    gs.info(isRetired);

    出力:

    true

    DuplicateTemplate - runTemplate(文字列 templateId)

    公開済みステータスの重複排除テンプレートの修正実行をスケジュールします。テンプレートは複数回実行できますが、一度にスケジュールできる実行は 1 つだけです。

    テンプレートが公開済みステータスでない場合、テンプレートは実行できず、メソッドは例外をスローします。 publishTemplate() メソッドを使用して、テンプレートをドラフトステータスから公開ステータスに移行します。

    実行中のタスクをキャンセルするには、 requestCancellation() メソッドを使用します。

    表 : 17. パラメーター
    名前 タイプ 説明
    template_id 文字列 重複調整テンプレート [reconcile_duplicate_template] テーブルにリストされているテンプレートのSys_id。
    表 : 18. 返される内容
    タイプ 説明
    文字列 重複排除テンプレートの実行 [reconcile_duplicate_template_run] テーブルにリストされている、実行されたテンプレートのSys_id。失敗した場合、テンプレートは公開済みステータスではない可能性があります。

    次の例は、公開済みの重複排除テンプレートの実行をスケジュールする方法を示しています。

    var template = sn_cmdb.DuplicateTemplate.runTemplate('<template_id>');
    gs.info(JSON.stringify(template));

    出力:

    487c67e2046b2510f877c1665753a4cc

    DuplicateTemplate - unPublishTemplate(文字列 templateId)

    テンプレートを非公開にします。

    このメソッドは、テンプレートを公開済みステータスからドラフトステータスに移行し、テンプレートを更新できるようにします。テンプレートが実行中または実行がスケジュールされている場合、そのテンプレートを非公開にすることはできません。

    表 : 19. パラメーター
    名前 タイプ 説明
    template_id 文字列 重複調整テンプレート [reconcile_duplicate_template] テーブルにリストされているテンプレートのSys_id。
    表 : 20. 返される内容
    タイプ 説明
    ブール

    テンプレートが正常に非公開になったかどうかを示すフラグ。

    有効な値:
    • true:テンプレートが正常に非公開になりました。
    • false:テンプレートは正常に非公開されませんでした。テンプレートは実行中であるか、実行がスケジュールされている可能性があります。

    次の例は、テンプレートを非公開にして結果を表示する方法を示しています。

    var isUnPublished = sn_cmdb.DuplicateTemplate.unPublishTemplate(<template_id>);
    gs.info(isUnPublished);

    出力:

    true

    DuplicateTemplate - updateTemplate(String templateId, Object template)

    ドラフトステータスの重複排除テンプレートを更新します。

    表 : 21. パラメーター
    名前 タイプ 説明
    template_id 文字列 重複調整テンプレート [reconcile_duplicate_template] テーブルにリストされているテンプレートのSys_id。
    template オブジェクト テンプレートを作成するためのさまざまなオプションを含むテンプレートオブジェクト。
    {
      "allow_master_ci_null_update": Boolean,
      "allow_null_attribute_update": Boolean,
      "description": "String",
      "duplicate_ci_action": "String",
      "duplicate_ci_updates": [Array],
      "master_ci_condition": "String",
      "master_ci_option": "String",
      "merge_related_items": "String",
      "merge_related_items_condition": [Array],
      "merge_relations_condition": "String",
      "merge_relations": "String",
      "most_related_items_merge_attributes": "String",
      "most_relations_merge_attributes": "String",
      "name": "String",
      "newest_updated_merge_attributes": "String",
      "oldest_created_merge_attributes": "String",
      "table": "String",
      "task_conditions": "String"
    }
    template.allow_null_attribute_update ブール オプション。重複排除タスク内の CI の属性競合を解決するときに、メイン CI 属性が重複 CI の null 値で更新されるかどうかを示すフラグ。
    有効な値:
    • true:メイン CI 属性が重複 CI からの null 値で更新されます。
    • false:メイン CI 属性は、重複 CI からの null 値で更新されません。

    デフォルト値:False

    template.allow_master_ci_null_update ブール オプション。メイン CI 値が null の場合にのみ、重複 CI からの更新が含まれます。

    メイン CI 値が null の場合に重複 CI からの更新のみを含めるかどうかを示すフラグ。

    有効な値:
    • true:メイン CI 値が null の場合にのみ、重複 CI からの更新を含めます。
    • false:すべての重複 CI からの更新を含めます。

    デフォルト値:False

    template.description 文字列 オプション。テンプレートに関する詳細情報を保存する説明。
    template.duplicate_ci_action 文字列 オプション。重複 CI を削除するか、一意のカスタム値で更新するかを指定します。
    選択可能なオプション:
    • delete
    • 更新 ( duplicate_ci_updatesの指定が必要)
    template.duplicate_ci_updates アレイ オプション。ただし、 duplicate_ci_action の設定が update の場合を除く。重複 CI 値の更新方法を指定するオブジェクトのアレイ。
    [
      {
        "element": "String",
        "element_label": "String",
        "value": "String",
        "display": "String"
      }
    ]
    template.duplicate_ci_updates.element 文字列 参照フィールドのシステム辞書名。
    template.duplicate_ci_updates.element_label 文字列 参照フィールドに表示されるラベル。
    template.duplicate_ci_updates.value 文字列 参照フィールドの値、つまり参照フィールドの内容。
    template.duplicate_ci_updates.display 文字列 参照フィールドの表示値。
    template.master_ci_option 文字列 オプション。このテンプレートを適用するときの重複排除タスクのメイン CI の選択方法を指定します。
    選択可能なオプション:
    • 条件付き ( master_ci_condition の指定必須)
    • most_related_items:メイン CI に最も関連性の高いアイテムを持つ CI から結合される属性。
    • most_relations:メイン CI との関係が最も多い CI から結合される属性。
    • newest_created:最後に更新された CI からメイン CI に結合される分離された属性。
    • oldest_created:最も古い作成の CI からメイン CI に結合されるカンマ区切りの属性。
    template.master_ci_条件 文字列 オプション ( master_ci_option の値が 条件付きの場合は必須)。メイン CI の選択方法を指定するエンコードされたクエリ。複数の CI がある場合、または CI がクエリに一致する場合、メソッドは最後に更新された CI をメイン CI として選択します。テンプレートテーブルに対してエンコードされたクエリが評価されます。このテーブルは table プロパティで識別されます。

    詳しくは、 エンコードされたクエリ文字列 を参照してください。

    template.merge_relations 文字列 オプション。このテンプレートを適用するときに、重複排除タスク内の重複 CI の関係を結合する方法を指定します。
    選択可能なオプション:
    • すべて
    • 条件付きの
    • なし
    template.merge_relations 文字列 オプション。このテンプレートを適用するときに、重複排除タスク内の重複 CI の関係を結合する方法を指定します。
    選択可能なオプション:
    • すべて
    • 条件付きの
    • なし
    template.merge_relations_condition 文字列 オプション ( merge_relations の値が 条件付きの場合は必須)。重複 CI のすべてのリレーションシップを結合するか、まったく結合しないかを指定するエンコードクエリ。クエリは、重複排除タスク用に選択されたメイン CI で評価されます。クエリが true を返す場合、すべての関係が結合されます。false の場合、関係は結合されません。

    テンプレートテーブルに対してエンコードされたクエリが評価されます。このテーブルは table プロパティで識別されます。

    詳しくは、 エンコードされたクエリ文字列 を参照してください。

    template.merge_related_items 文字列 オプション。このテンプレートを適用するときに、重複排除タスク内の重複 CI のどの関連テーブルをメイン CI に結合するかを指定します。Remediate a de-duplication task (manual)も参照してください。
    選択可能なオプション:
    • all_available - デフォルトの関連テーブルと、テンプレートを介して修正された重複排除タスクの重複 CI を参照するすべての関連テーブルが含まれます。
    • 条件付きの
    • デフォルト:重複 CI レメディエーターのデフォルト関連アイテムモジュールによって提供される関連エントリが含まれます。
    • なし
    template.merge_related_items_condition アレイ オプション。各関連エントリのエンコードされたクエリを含む関連エントリのリスト。各クエリーは、タスクに対して選択されたメイン CI で評価されます。クエリが true を返す場合、重複排除タスクの修正中に関連エントリが結合されます。false の場合、関連するエントリは結合されません。
    "merge_related_items_condition": [
      {
        "related_entry": "String",
        "condition": "String"
      }
    ]

    詳しくは、 エンコードされたクエリ文字列 を参照してください。

    template.most_relations_merge_attributes 文字列 オプション。メイン CI との関係が最も多い CI から結合されるカンマ区切りの属性。
    template.most_related_items_merge_attributes 文字列 オプション。メイン CI に最も関連性の高いアイテムを持つ CI から結合されるカンマ区切りの属性。
    template.name 文字列 テンプレートの名前。
    template.newest_updated_merge_attributes 文字列 オプション。最後に更新された CI からメイン CI に結合されるカンマ区切りの属性。
    template.oldest_created_merge_attributes 文字列 オプション。最も古く作成された CI からメイン CI に結合されるカンマ区切りの属性。
    template.table 文字列 テンプレートが作成されるテーブル。
    template.task_conditions 文字列 オプション。テンプレートの実行時に評価されるエンコードされたクエリ。このクエリは、重複調整タスクデータ [reconcile_duplicate_task_data] テーブルで評価されます。このクエリから返されたすべてのタスクは、テンプレートの評価中に考慮されます。
    注:
    タスクがクエリの一部として返された場合でも、テンプレートの実行によってタスクが処理されるとは限りません。その他の要因により、テンプレートの処理中にタスクがスキップされる場合があります。

    詳しくは、 エンコードされたクエリ文字列 を参照してください。

    表 : 22. 返される内容
    タイプ 説明
    ブール

    テンプレートが更新されたかどうかを示すフラグ。

    有効な値:
    • true:テンプレートが更新されました。
    • false:テンプレートが更新されました。テンプレートがドラフト (未公開) ステータスでない可能性があります。

    次の例は、既存の重複排除テンプレートのいくつかのプロパティを更新する方法を示しています。

    var template = {
      "name": "Test Windows Template",
      "table": "cmdb_ci_win_server",
      "description": "This is a windows server template",
      "master_ci_option": "newest_updated",
      "master_ci_condition": "",
      "allow_null_attribute_update": false,
      "allow_master_ci_null_update": false,
      "oldest_created_merge_attributes": "",
      "newest_updated_merge_attributes": "ram,cpu_count",
      "most_relations_merge_attributes": "",
      "most_related_items_merge_attributes": "",
      "merge_relations": "all",
      "merge_relations_condition": "",
      "merge_related_items": "conditional",
      "merge_related_items_condition": [
        {
          "related_entry": "change_request.cmdb_ci",
          "condition": "ramCONTAINS1024"
        },
        {
          "related_entry": "incident.cmdb_ci",
          "condition": "os_versionCONTAINSWindows"
        }
      ],
      "duplicate_ci_action": "delete",
      "duplicate_ci_updates": "",
      "task_conditions": "category=attribute^key=serial_number^value=E2BX1^EQ"
    };
    
    sn_cmdb.DuplicateTemplate.updateTemplate(<template_id>, template);

    出力:

    true