CMDBDuplicateTemplateUtil - グローバル

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:8分
  • CMDBDuplicateTemplateUtil スクリプトインクルードは、重複排除テンプレートに対して重複排除タスクを追加および削除するメソッドを提供します。

    CI の重複排除、重複排除タスク、および重複排除テンプレートの詳細については、「 Duplicate CIs remediation」を参照してください。

    CMDBDuplicateTemplateUtils - CMDBDuplicateTemplateUtils()

    CMDBDuplicateTemplateUtils クラスのインスタンスを作成します。

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

    次のコード例は、このメソッドを呼び出して CMDBDuplicateTemplateUtils オブジェクトを作成する方法を示しています。

    
    var dupTemp = new CMDBDuplicateTemplateUtils();

    CMDBDuplicateTemplateUtils - addTasksToTemplate(String templateId, Array taskIds)

    指定された重複排除テンプレートに 1 つ以上の重複排除タスクを追加します。

    このメソッドは既存のテンプレート値を上書きしますが、各テンプレートの以前の値はシステムログに記録されます。

    次のリストは、タスクがテンプレートに追加されず、スキップまたは失敗としてマークされるシナリオを示しています。
    • 指定したテンプレートは公開済みステータスではありません。すべてのタスクがスキップ済みとしてマークされます。
    • 指定されたテンプレートが実行されています。すべてのタスクがスキップ済みとしてマークされます。
    • タスクのステータスが [オープン] ではない。タスクはスキップ済みとしてマークされます。
    • タスクは指定されたテンプレートと互換性がありません。たとえば、指定したテンプレートはアプリケーションサーバー Tomcat 用に作成されても、指定した重複排除タスクは Linux サーバー用に作成されます。タスクはスキップ済みとしてマークされます。
    • 指定されたテンプレートは存在しません。すべてのタスクが失敗としてマークされます。
    • タスクのテンプレート列の GlideRecord 更新が失敗します。タスクは失敗としてマークされます。
    表 : 2. パラメーター
    名前 タイプ 説明
    templateId 文字列 重複排除タスクに関連付ける重複排除テンプレートのSys_id。
    taskIds アレイ 指定されたテンプレートに関連付ける重複排除タスクのsys_idsのリスト。
    表 : 3. 戻り値
    タイプ 説明
    オブジェクト 指定されたテンプレートに関連付けられることが試行されたすべてのタスクのステータスを含む結果オブジェクト。

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

    {
      "failed": [Array],
      "skipped": [Array],
      "success": [Array],
      "summary": "String"
    }
    失敗 テンプレートに関連付けられなかったタスクのリスト。

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

    "failed": [
      {
        "message": "String",
        "messageType: "String",
        "taskId": "String"
      }
    ]
    failed.message タスクがテンプレートに関連付けられなかった理由を説明するメッセージ。

    データタイプ:文字列

    failed.messageType 失敗の理由。

    データタイプ:文字列

    failed.taskId テンプレートに関連付けられなかったタスクのSys_id。

    データタイプ:文字列

    スキップ 失敗しなかったが、テンプレートに関連付けられていない (スキップされた) タスクのリスト。

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

    "skipped": [
      {
        "message": "String",
        "messageType: "String",
        "taskId": "String"
      }
    ]
    skipped.message タスクがスキップされた理由を説明するメッセージ。

    データタイプ:文字列

    skipped.messageType タスクがスキップされる理由。

    データタイプ:文字列

    skipped.taskId メソッドがテンプレートに関連付けられてスキップしたタスクのSys_id。

    データタイプ:文字列

    正常終了 テンプレートに正常に関連付けられたタスクのリスト。

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

    "success": [
      {
        "message": "String",
        "messageType: "String",
        "taskId": "String"
      }
    ]
    success.message 現在使用されていません。

    データタイプ:文字列

    success.messageType 現在使用されていません。

    データタイプ:文字列

    success.taskId テンプレートに関連付けられたタスクのSys_id。

    データタイプ:文字列

    まとめ 指定したテンプレートが存在しない場合など、発生した全体的な処理エラーの簡単な説明。

    データタイプ:文字列

    次のコード例は、このメソッドを呼び出して重複排除タスクを重複排除テンプレートに追加する方法を示しています。

    // Add tasks to template
    var taskIds = [];
    taskIds.push("96d2d25113152200eef2dd828144b0a4");
    taskIds.push("f785a2c3d7012201de92a5f75e610398");
    taskIds.push("635dd3dbc128ce0100655f1ec66ed41d");
    
    var result = new CMDBDuplicateTemplateUtils().addTasksToTemplate("6b43105c37301000deeabfc8bcbe5db2", taskIds);
    ); 
    gs.info('Success: ' + result.success);
    gs.info('Failed: ' + result.failed);
    gs.info('Skipped: ' + result.skipped);
    gs.info(Summary: ' + result.summary);
    

    出力:

    Success: [
        {
          "taskId": "f785a2c3d7012201de92a5f75e610398",
          "message": "",
          "messageType": ""
        }
      ]
    Failed: [
        {
          "taskId": "96d2d25113152200eef2dd828144b0a4",
          "message": "Failed to add task 96d2d25113152200eef2dd828144b0a4 to template 6b43105c37301000deeabfc8bcbe5db2 because there were update errors.",
          "messageType": "update_failed"
        }
      ]
    Skipped: [
        {
          "taskId": "635dd3dbc128ce0100655f1ec66ed41d",
          "message": "Cannot add de-duplication task(s) to template 6b43105c37301000deeabfc8bcbe5db2 because the template is not published. Publish the template before adding tasks.",
          "messageType": "unpublished_template"
        }
      ]
    Summary:
    

    CMDBDuplicateTemplateUtils - removeTemplateFromTask (アレイ taskIds)

    指定された重複排除タスクレコード内の重複排除テンプレート値をクリアします。この値をクリアすると、テンプレートとタスクの間の関連付けが削除されます。

    次のリストは、テンプレート値がタスクレコードから削除されず、スキップまたは失敗としてマークされるシナリオを示しています。
    • タスクに関連付けられた重複排除テンプレートが実行中です。タスクはスキップ済みとしてマークされます。
    • タスクステータスが「対応中」であるか、タスクが見つかりません。タスクはスキップ済みとしてマークされます。
    • タスクのテンプレート列の GlideRecord 更新が失敗します。タスクは失敗としてマークされます。
    表 : 4. パラメーター
    名前 タイプ 説明
    taskIds アレイ 重複排除テンプレートの値をクリアする重複排除タスクレコードの sys_ids のリスト。
    表 : 5. 戻り値
    タイプ 説明
    オブジェクト
    テンプレート値の削除が成功、スキップ、または失敗したタスクの数を含む結果オブジェクト。
    {
      "failed": Number,
      "success": Number,
      "skipped": Number
    }
    失敗 重複排除テンプレート値の削除に失敗したタスクの数。

    データタイプ:数値

    正常終了 重複排除テンプレート値を正常に削除したタスクの数。

    データタイプ:数値

    スキップ メソッドが重複排除テンプレート値の削除をスキップしたタスクの数。

    データタイプ:数値

    次のコード例は、このメソッドを呼び出して重複排除タスクレコードから重複排除テンプレート値を削除する方法を示しています。

    // Remove tasks from template
    var taskIds = [];
    taskIds.push("96d2d25113152200eef2dd828144b0a4");
    taskIds.push("f785a2c3d7012201de92a5f75e610398");
    taskIds.push("635dd3dbc128ce0100655f1ec66ed41d");
    
    var result = new CMDBDuplicateTemplateUtils().removeTemplateFromTasks(taskIds);
    ); 
    gs.info('Success: ' + result.success);
    gs.info('Failed: ' + result.failed);
    gs.info('Skipped: ' + result.skipped);

    出力:

    Success: 2
    Failed: 0
    Skipped: 1