CMDBDuplicateTemplateUtil - グローバル

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む8読むのに数分
  • CMDBDuplicateTemplateUtil スクリプトインクルードは、重複排除テンプレートに対して重複排除タスクを追加および削除するメソッドを提供します。

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

    CMDBDuplicateTemplateUtils - CMDBDuplicateTemplateUtils()

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

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

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

    
    var dupTemp = new CMDBDuplicateTemplateUtils();

    CMDBDuplicateTemplateUtils - addTasksToTemplate(文字列 templateId, アレイ taskIds)

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

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

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

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

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

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

    
      "failed": [
        {
          "taskId": "String",
          "message": "String",
          "messageType: "String"
        }
      ]
    failed.taskId テンプレートとの関連付けに失敗したタスクのSys_id。

    データタイプ:文字列

    failed.message タスクをテンプレートに関連付けられなかった理由を説明するメッセージ。

    データタイプ:文字列

    failed.messageType 失敗の理由。

    データタイプ:文字列

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

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

    "skipped": [
      {
        "taskId": "String",
        "message": "String",
        "messageType: "String"
      }
    ]
    skipped.taskId テンプレートに関連付けられている、メソッドがスキップしたタスクのSys_id。

    データタイプ:文字列

    skipped.message タスクがスキップされた理由を説明するメッセージ。

    データタイプ:文字列

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

    データタイプ:文字列

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

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

    "success": [
      {
        "taskId": "String",
        "message": "String",
        "messageType: "String"
      }
    ]
    success.taskId テンプレートに関連付けられたタスクのSys_id。

    データタイプ:文字列

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

    データタイプ:文字列

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

    データタイプ:文字列

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

    データタイプ:文字列

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

    // 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