CMDBTransformUtil - グローバル

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:53分
  • CMDBTransformUtil スクリプトインクルードは、識別および調整 (IRE) フレームワークを使用して、重複する構成アイテム (CI) の作成を最小限に抑えます。

    また、IRE フレームワークは、onBefore 変換マップスクリプトで CMDB を更新するときに、許可されたソースからの情報のみを受け入れることによって CI 属性を調整します。このクラスを他のスクリプトで使用することはできません。IRE フレームワークの動作方法の詳細については、「 CMDB 識別および調整」を参照してください。

    CMDBTransformUtil - CMDBTransformUtil()

    CMDBTransformUtil オブジェクトを作成します。

    表 : 1. パラメーター
    名前 タイプ 説明
    なし
    var cmdbUtil = new CMDBTransformUtil();

    CMDBTransformUtil getError()

    前の IdentifyAndReconcile() または IdentifyAndReconcileEnhanced() メソッド呼び出しによって生成されたエラーを返します。

    onBefore 変換マップスクリプトでこのメソッドを使用して、エラーを取得します。hasError() メソッドを使用して、identifyAndReconcile() または IdentifyAndReconcileEnhanced() メソッドからのエラーを最初に検出します。

    表 : 2. パラメーター
    名前 タイプ 説明
    なし
    表 : 3. 返される内容
    タイプ 説明
    文字列 IdentifyAndReconcile() または IdentifyAndReconcileEnhanced() からのエラーメッセージ。
    // Add this code to the onBefore transform map script
    // Call CMDB API to do Identification and Reconciliation of the current row
    var cmdbUtil = new CMDBTransformUtil();
    cmdbUtil.setDataSource('ImportSet');
    cmdbUtil.identifyAndReconcileEnhanced(source, map, log);
    ignore = true;
    
    if (cmdbUtil.hasError()) {
      var errorMessage = cmdbUtil.getError();
      log.error(errorMessage);
    } else {
      log.info('IE Output Payload: ' + cmdbUtil.getOutputPayload());
      log.info('Imported CI: ' + cmdbUtil.getOutputRecordSysId());
    }

    スコープ対応

    このメソッドの有効範囲はありません。

    CMDBTransformUtil - getOutputPayload()

    前の IdentifyAndReconcile() または IdentifyAndReconcileEnhanced() メソッド呼び出しから JSON ペイロードを返します。

    onBefore 変換マップスクリプトでこのメソッドを使用します。

    表 : 4. パラメーター
    名前 タイプ 説明
    なし
    表 : 5. 返される内容
    タイプ 説明
    <String> 入力文字列内の構成アイテムの結果のリストである JSON 形式の文字列。それぞれの結果文字列の形式は「items: [{}], related:[{}]」で、アイテムと関係リスト内の各アイテムに名前と値のペアが含まれています。

    データタイプ:文字列

    <String>.additionalCommittedItems 現在、値は返されていません。
    <String>.additionalCommittedRelations 現在、値は返されていません。
    <String>.items 作成または更新された CI の説明。

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

    "items": { 
      "additionalRelatedItems": [Array],
      "className": "String",
      "duplicateIndices": [Array],
      "errorCount": Number,
      "errors": [Array],
      "identificationAttempts": [Array],
      "identifierEntrySysId": "String",
      "info": [Array],
      "inputIndices": [Array],
      "maskedAttributes": [Array],
      "operation": "String",
      "relatedItems": [Array],
      "relatedSysIds": [Array],
      "sysId": "String"
    }
    <String>.items.additionalRelatedItems 処理されたものの、入力ペイロードの一部として提供されなかった追加のルックアップおよび関連アイテムに関する情報のリスト。これらのアイテムは部分的ペイロードからのものです。

    現在、この情報は返されていません。

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

    "additionalRelatedItems": [ 
      {
        "className": "String", 
        "inputIndices": [Array], 
        "operation": "String",
        "sysId": "String"
      }
    ]
    <String>.items.additionalRelatedItems.className 作成または更新された CI のクラス/テーブル名 (sys_class_name)。

    データタイプ:文字列

    <String>.items.additionalRelatedItems.inputIndices 対応する入力アイテムのインデックス。最上位レベルのアイテムの場合は、整数のリストです。関連アイテムまたはルックアップアイテムの場合は、JSON オブジェクトのリストです。

    データタイプ:数値のアレイまたはオブジェクトのアレイ

    "inputIndices": [
      { 
       "mainIndex": Number, 
       "subIndex": Number 
      }
    ]
    <String>.items.additionalRelatedItems.inputIndices.mainIndex 追加の関連アイテムの CI の親に対応する要求本文 items アレイからのインデックス値。

    データタイプ:数値

    <String>.items.additionalRelatedItems.inputIndices.subIndex 追加の関連アイテムに対応する要求本文 items.lookup アレイからのインデックス値。

    データタイプ:数値

    <String>.items.additionalRelatedItems.operation 操作のタイプ

    可能な値:

    • INSERT:新しい CI がデータベースに挿入されました。
    • NO_CHANGE:CI は変更されませんでした。
    • UPDATE:既存の CI が更新されました。

    データタイプ:文字列

    <String>.items.additionalRelatedItems.sysId 追加の関連アイテムの sys_id。

    データタイプ:文字列

    <String>.items.className 作成または更新された CI のクラス/テーブル名 (sys_class_name)。

    データタイプ:文字列

    <String>.items.duplicateIndices 現在のアイテムに重複する CI のインデックスのリスト。

    データタイプ:アレイ

    <String>.items.errorCount エラーの数。

    データタイプ:数値

    <String>.items.errors この CI の処理中に発生したエラーのリスト。

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

    "errors": [
      {
        "error": "String",
        "message": "String"
      }
    ]
    <String>.items.errors.error CI の処理中に発生したエラーのタイプ。

    データタイプ:文字列

    <String>.items.errors.message エラーに関連するエラーメッセージ。

    データタイプ:文字列

    <String>.items.identificationAttempts CI を識別するために実行された試行のリスト。

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

    "identificationAttempts": [
      { 
        "attemptResult": "String", 
        "attributes": [Array],
        "hybridEntryCiAttributes": [Array],
        "identifierName": "String",
        "searchOnTable": "String" 
      }
    ]
    <String>.items.identificationAttempts.attemptResult CI の識別の試行の結果。

    可能な値:

    • MATCHED:識別に成功しました。指定された属性と完全に一致する一意の CI が識別子ルールテーブルで見つかりました。
    • MULTI_MATCH:エラーのため識別に失敗しました。指定された属性に対して照合しているときに、識別子ルールテーブルに重複する CI が見つかりました。
    • NO_MATCH:識別に失敗しました。指定された属性と一致する CI が識別子ルールテーブルで見つかりませんでした。
    • SKIPPED:識別は試行されませんでした。この識別子ルールテーブルの検索に必要な属性が指定されなかったため、ルールは適用されませんでした。

    データタイプ:文字列

    <String>.items.identificationAttempts.attributes 識別プロセス中に使用された CI ID エントリ属性のリスト。

    データタイプ:アレイ

    属性の名前とタイプは、次のような使用される要求本文データと識別子によって異なります。

    "attributes": [
      "serial_number": "String",
      "serial_number_type": "String",
    ]
    <String>.items.identificationAttempts.hybridEntryCiAttributes 現在、値は返されていません。
    <String>.items.identificationAttempts.identifierName この CI の識別試行に使用される識別子ルール。

    データタイプ:文字列

    <String>.items.identificationAttempts.searchOnTable 識別プロセス中に検索されたテーブルの名前。

    データタイプ:文字列

    <String>.items.identifierEntrySysId CI を識別するために使用される識別子ルールの sys_id。

    データタイプ:文字列

    テーブル:識別子エントリ [cmdb_identifier_entry]

    <String>.items.info アイテムの処理に関する追加情報を含むリスト。

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

    "info": [
      {
        "code": "String",
        "message": "String",
        "ruleSysId": "String"
      }
    ]
    <String>.items.info.code スキップされた再分類タイプ。
    可能な値:
    • SKIPPED_CLASS_SWITCH
    • SKIPPED_CLASS_DOWNGRADE
    • SKIPPED_CLASS_UPGRADE

    データタイプ:文字列

    <String>.items.info.message 再分類をスキップする理由に関する追加のインサイトを提供するメッセージ。

    データタイプ:文字列

    <String>.items.info.ruleSysId 一致した再分類制限ルールの sys_id。再分類制限ルールのために IRE が再分類をスキップする場合にのみ適用されます。ペイロードまたはグローバルフラグのために再分類がスキップされた場合、この値は空になります。

    データタイプ:文字列

    <String>.items.inputIndices この CI に対応する要求本文 items アレイからの CI のインデックス値。

    データタイプ:アレイ

    <String>.items.maskedAttributes 調整ルールの定義に従って、権限のないデータソースによる更新がスキップされた属性のリスト。

    データタイプ:アレイ

    <String>.items.relatedItems 処理された関連アイテムに関する情報を提供するリスト。

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

    "relatedItems": [
      { 
        "className": "String",
        "errors": [Array],
        "errorCount": Number, 
        "inputIndices": [Array],
        "operation": "String",
        "sysId": "String"
      }
    ]
    <String>.items.relatedItems.className 関連アイテムのクラス/テーブル名 (sys_class_name)。

    データタイプ:文字列

    <String>.items.relatedItems.errors 処理中に発生したエラーのリスト。

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

    "errors": [
      {
        "error": "String",
        "message": "String"
      }
    ]
    <String>.items.relatedItems.errorCount 処理中に検出されたエラーの数。

    データタイプ:数値

    <String>.items.relatedItems.inputIndices 対応する関連アイテムのインデックス。

    データタイプ:アレイまたは数値

    "inputIndices": [
      { 
       "mainIndex": Number, 
       "subIndex": Number 
      }
    ]
    <String>.items.relatedItems.inputIndices.mainIndex 関連アイテムの CI の親に対応する要求本文 items アレイからの整数値。

    データタイプ:数値

    <String>.items.relatedItems.inputIndices.subIndex 関連アイテムに対応する要求本文 items.lookup アレイからの整数値。

    データタイプ:数値

    <String>.items.relatedItems.operation 操作のタイプ

    可能な値:

    • INSERT:新しい CI がデータベースに挿入されました。
    • NO_CHANGE:CI は変更されませんでした。
    • UPDATE:既存の CI が更新されました。

    データタイプ:文字列

    <String>.items.relatedSysIds 要求本文 items.lookup アレイからの関連アイテム (テーブルルックアップアイテム) の sys_id 値のリスト。

    注目値 - null:この関連アイテムのsys_idが特定されませんでした。

    データタイプ:アレイ

    <String>.items.sys_id 更新または作成された CI の sys_id。

    データタイプ:文字列

    <String>.relations 処理された関係に関する情報。

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

    "relations":[
      { 
        "className": "String",
        "errorCount": Number,
        "inputIndices": [Array],
        "operation": "String",
        "sysId": "String" 
      }
    ]
    <String>.relations.className この依存関係 CI の sys_class_name。

    サポートされている値:cmdb_rel_ci:CI 関係テーブル。

    データタイプ:文字列

    <String>.relations.errorCount エラーの数。

    データタイプ:数値

    <String>.relations.inputIndices 対応する入力関係のインデックス。

    データタイプ:アレイ

    <String>.relations.operation 実行された操作のタイプ。

    可能な値:

    • INSERT
    • UPDATE
    • NO_CHANGE

    データタイプ:文字列

    <String>.relations.sysId 依存関係 CI の sys_id。

    データタイプ:文字列

    // Add this code to the onBefore transform map script
    // Call CMDB API to do Identification and Reconciliation of the current row
    var cmdbUtil = new CMDBTransformUtil();
    cmdbUtil.setDataSource('ImportSet');
    cmdbUtil.identifyAndReconcileEnhanced(source, map, log);
    ignore = true;
    
    if (cmdbUtil.hasError()) {
      var errorMessage = cmdbUtil.getError();
      log.error(errorMessage);
    } else {
      log.info('IE Output Payload: ' + cmdbUtil.getOutputPayload());
      log.info('Imported CI: ' + cmdbUtil.getOutputRecordSysId());
    }

    スコープ対応

    このメソッドの有効範囲はありません。

    CMDBTransformUtil getOutputRecordSysId()

    挿入または更新された構成アイテム (CI) の sys_id を返します。

    onBefore 変換マップスクリプトでこのメソッドを使用します。

    表 : 6. パラメーター
    名前 タイプ 説明
    なし
    表 : 7. 返される内容
    タイプ 説明
    文字列 挿入または更新された CI の sys_id。
    // Add this code to the onBefore transform map script
    // Call CMDB API to do Identification and Reconciliation of current row
    var cmdbUtil = new CMDBTransformUtil();
    cmdbUtil.setDataSource('ImportSet');
    cmdbUtil.identifyAndReconcileEnhanced(source, map, log);
    ignore = true;
    
    if (cmdbUtil.hasError()) {
      var errorMessage = cmdbUtil.getError();
      log.error(errorMessage);
    } else {
      log.info('IE Output Payload: ' + cmdbUtil.getOutputPayload());
      log.info('Imported CI: ' + cmdbUtil.getOutputRecordSysId());
    }

    スコープ対応

    このメソッドの有効範囲はありません。

    CMDBTransformUtil - getPayload(オブジェクト source, オブジェクト map, オブジェクト log)

    指定された入力から生成された JSON ペイロードを返します。

    その後、ペイロードを変更し、setPayload() メソッドを使用して更新済みのペイロードを格納できます。ペイロードが変更されて格納されたら、identifyAndReconcile() または IdentifyAndReconcileEnhanced() を使用してペイロードを処理します。

    表 : 8. パラメーター
    名前 タイプ 説明
    ソース オブジェクト 変換マップスクリプトで使用可能な、受信レコードを保持するグローバルオブジェクト。
    map オブジェクト 変換マップスクリプトで使用可能な、現在の変換マップレコードを保持するマップオブジェクト。
    log オブジェクト 変換マップスクリプトで使用可能なログオブジェクト
    表 : 9. 返される内容
    パラメーター 説明
    <String> 入力文字列内の構成アイテムの結果のリストである JSON 形式の文字列。

    データタイプ:文字列

    { 
      "additionalCommittedItems": [Array],  
      "additionalCommittedRelations": [Array], 
      "hasError": Boolean, 
      "hasWarning": Boolean,
      "items": [Array],  
      "relations": [Array], 
      "summary": {Object} 
    }
    <String>.additionalCommittedItems 現在のペイロードの IRE 処理中にコミットされても、現在の入力ペイロードに存在しなかった CI のリスト。

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

    "additionalCommittedItems": [
      {
        "className": "String",
        "errorCount": Number,
        "operation": "String",
        "identificationAttempts": [Array],
        "inputIndices": [Array],
        "markers": [Array],
        "mergedPayloads": [Array],
        "sysId": "String"
      }
    ]
    <String>.additionalCommittedItems.className この追加の CI の sys_class_name。

    データタイプ:文字列

    <String>.additionalCommittedItems.errorCount この追加の CI の処理中に発生したエラーの数。

    データタイプ:数値

    <String>.additionalCommittedItems.errors この追加の CI の処理中に発生したエラーを説明するオブジェクトのアレイ。

    データタイプ:アレイ

    "errors": [
      {
        "error": "String",
        "message": "String"
      }
    ]
    <String>.additionalCommittedItems.errors.error この追加の CI の処理中に発生したエラーのタイプ。

    データタイプ:文字列

    <String>.additionalCommittedItems.errors.message この追加の CI の処理中に発生したエラーメッセージ。

    データタイプ:文字列

    <String>.additionalCommittedItems.identificationAttempts 各オブジェクトがこの追加の CI を識別するために行われた試行を説明するオブジェクトのアレイ。
    データタイプ:オブジェクトのアレイ
    "identificationAttempts": [
      {
        "attemptResult": "String",
        "attributes": [Array],
        "hybridEntryCiAttributes": [Array],
        "identiferName": "String",
        "searchOnTable": [Array]
      }
    ]
    <String>.additionalCommittedItems.identificationAttempts.attemptResult この追加の CI 識別の試行の結果。

    データタイプ:文字列

    可能な値:
    • MATCHED:識別に成功しました。指定された属性と完全に一致する一意の CI が識別子ルールテーブルで見つかりました。
    • MULTI_MATCH:エラーのため識別に失敗しました。指定された属性に対して照合しているときに、識別子ルールテーブルに重複する CI が見つかりました。
    • NO_MATCH:識別に失敗しました。指定された属性と一致する CI が識別子ルールテーブルで見つかりませんでした。
    • SKIPPED:識別は試行されませんでした。この識別子ルールテーブルの検索に必要な属性が指定されなかったため、ルールは適用されませんでした。
    <String>.additionalCommittedItems.identificationAttempts.attributes この追加の CI 識別試行中に使用される CI ID エントリ属性。

    データタイプ:アレイ

    属性の名前とタイプは、次のような使用される要求本文データと識別子によって異なります。

    "attributes": [
      "serial_number": "String",
      "serial_number_type": "String",
    ]
    <String>.additionalCommittedItems.identificationAttempts.hybridEntryCiAttributes この追加の CI の識別の試行中に使用される CI ID エントリ属性のアレイ。

    データタイプ:アレイ

    属性の名前とタイプは、次のような使用される要求本文データと識別子によって異なります。

    "hybridEntryCiAttributes": [
      "name": "String",
      "serial_number": "String"
    ]
    <String>.additionalCommittedItems.identificationAttempts.identifierName この追加の CI 識別の試行に使用される識別子ルール。

    データタイプ:文字列

    <String>.additionalCommittedItems.identificationAttempts.searchOnTable この追加の CI 識別の試行で検索されたテーブルの名前。

    データタイプ:文字列

    <String>.additionalCommittedItems.identifierEntrySysId この追加の CI を識別するために使用される識別子ルールの sys_id。

    注目値 - 不明:この追加の CI の識別に失敗しました。詳細については、「errors」を参照してください。

    <String>.additionalCommittedItems.inputIndices この追加の CI に対応する要求本文 items アレイの CI のインデックス値。

    データタイプ:数値のアレイ

    "inputIndices": [
      {
        Number
      }
    ]
    <String>.additionalCommittedItems.markers 内部使用のためのマーカー値。

    データタイプ:アレイ

    "markers": []
    <String>.additionalCommittedItems.mergedPayloads この追加 CI の処理中に結合された CMDB IRE 部分的ペイロード [cmdb_ire_partial_payloads] テーブルの部分的ペイロードのSys_id値。

    データタイプ:アレイ

    "mergedPayloadIds": [
      "String"
    ]
    <String>.additionalCommittedItems.operation この追加の CI に対して実行された操作。

    データタイプ:文字列

    可能な値:
    • DELETE:既存の CI がターゲットテーブルから削除されます。
    • INSERT:追加の CI が新しいレコードとしてターゲットテーブルに挿入されます。
    • NO_CHANGE:追加の CI に対して実行された操作はありません。
    • UPDATE:ターゲットテーブルの既存の CI が更新されます。
    • UPDATE_WITH_DOWNGRADE:ターゲットテーブル内の既存の CI が更新され、そのクラスがより汎用的なクラス (先祖クラス) に変更されます。
    • UPDATE_WITH_SWITCH:ターゲットテーブル内の既存の CI が更新され、そのクラスが先祖クラスまたは子孫クラスではない別のクラスに変更されます。
    • UPDATE_WITH_UPGRADE:ターゲットテーブル内の既存の CI が更新され、そのクラスがより特化されたクラス (子孫クラス) に変更されます。
    <String>.additionalCommittedItems.sysId 識別によって検出されたこの追加の CI の sys_id。

    データタイプ:文字列

    注目値 - 不明:この追加の CI の識別に失敗しました。詳細については、「errors」を参照してください。

    <String>.additionalCommittedItems.warnings この追加の CI の処理中に発生した警告の説明。

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

    "warnings": [
      {
        "error": "String",
        "message": "String"
      }
    ]
    <String>.additionalCommittedItems.warnings.error この追加の CI の処理中に発生した警告のタイプ。

    データタイプ:文字列

    <String>.additionalCommittedItems.warnings.message この追加の CI の処理中に発生した警告メッセージ。

    データタイプ:文字列

    <String>.additionalCommittedRelations 挿入または更新する要求本文 relations リストに含まれていなかった依存関係性 CI の説明。

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

    "additionalCommittedRelations": [
      {
        "className": "String",
        "inputIndices": [Array],
        "markers": [Array],
        "mergedPayloadIds": [Array],
        "operation": "String"
      }
    ]
    <String>.additionalCommittedRelations.className この追加の依存関係 CI の sys_class_name。

    データタイプ:文字列

    サポートされている値のみ:cmdb_rel_ci:CI 関係テーブル。

    <String>.additionalCommittedRelations.errorCount この追加の依存関係 CI の処理中に発生したエラーの数。

    データタイプ:数値

    <String>.additionalCommittedRelations.errors この追加の依存関係 CI の処理中に発生したエラーの説明。

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

    "errors": [
      {
        "error": "String",
        "message": "String"
      }
    ]
    <String>.additionalCommittedRelations.errors.error この追加の依存関係 CI の処理中に発生したエラーのタイプ。

    データタイプ:文字列

    <String>.additionalCommittedRelations.errors.message この追加の依存関係性 CI の処理中に発生したエラーメッセージ。

    データタイプ:文字列

    <String>.additionalCommittedRelations.inputIndices この追加の依存関係性 CI に対応する要求本文 relations アレイ内の依存関係 CI オブジェクトのインデックス値。

    データタイプ:アレイ

    "inputIndices": [
      Number
    ]
    <String>.additionalCommittedRelations.markers 内部使用のためのマーカー値。

    データタイプ:アレイ

    "markers": []
    <String>.additionalCommittedRelations.mergedPayloadIds この追加の依存関係 CI の処理中にこの CI 用に結合された CMDB IRE 部分的ペイロード [cmdb_ire_partial_payloads] テーブルからの部分的ペイロードの sys_id 値。

    データタイプ:アレイ

    "mergedPayloadIds": [
      "String"
    ]
    <String>.additionalCommittedRelations.operation 追加の依存関係性 CI に対して実行された操作。
    可能な値:
    • INSERT:依存関係 CI が新しいレコードとしてターゲットテーブルに挿入されます。
    • INSERT_AS_INCOMPLETE:依存関係 CI にエラーがあり、CMDB IRE 不完全ペイロード [cmdb_ire_incomplete_payloads] テーブルに挿入されます。
    • INSERT_AS_PARTIAL:依存関係 CI にエラーがあり、CMDB IRE 部分的ペイロード [cmdb_ire_partial_payloads] テーブルに挿入されます。
    • NO_CHANGE:依存関係 CI に対して実行された操作はありません。
    • UPDATE:ターゲットテーブルの既存の依存関係 CI が更新されます。

    データタイプ:文字列

    <String>.hasError アイテムまたは関係にエラーがあるかどうかを示すフラグ。

    データタイプ:ブール

    <String>.hasWarning アイテムまたは関係に警告があるかどうかを示すフラグ。

    データタイプ:ブール

    <String>.items 作成または更新された CI の説明。

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

    "items": [
      {  
        "additionalRelatedItems": [Array],
        "className": "String",
        "duplicateIndices": [Array],
        "errorCount": Number, 
        "errors": [Array], 
        "identificationAttempts": [Array], 
        "identifierEntrySysId": "String",  
        "incompleteSysIds": "String",
        "info": [Array],
        "inputIndices": [Array], 
        "maskedAttributes": [Array],
        "operation": "String", 
        "partialSysIds": "String", 
        "relatedItems": [Array], 
        "relatedSysIds": [Array], 
        "sysId": "String" 
      }
    ]
    <String>.items.additionalRelatedItems 処理されたが入力ペイロードの一部として提供されなかった追加のルックアップおよび関連アイテムに関する情報。これらのアイテムは部分的ペイロードからのものです。

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

    "additionalRelatedItems": [ 
      {
        "className": "String", 
        "inputIndices": [Array],
        "mergedPayloadIds": [Array], 
        "operation": "String",
        "sysId": "String"
      }
    ]
    <String>.items.additionalRelatedItems.className 作成または更新された CI のクラス/テーブル名 (sys_class_name)。

    データタイプ:文字列

    <String>.items.additionalRelatedItems.inputIndices この関連アイテムに対応する要求本文 items アレイからの CI のインデックス値。

    データタイプ:数値のアレイ

    <String>.items.additionalRelatedItems.mergedPayloadIds 関連アイテムに結合された部分的ペイロードの sys_id のリスト。

    データタイプ:アレイ

    テーブル:CMDB IRE 部分のペイロード [cmdb_ire_partial_payloads]

    <String>.items.additionalRelatedItems.operation 操作のタイプ

    可能な値:

    • INSERT:新しい CI がデータベースに挿入されました。
    • NO_CHANGE:CI は変更されませんでした。
    • UPDATE:既存の CI が更新されました。

    データタイプ:文字列

    <String>.items.additionalRelatedItems.sysId 更新または作成された CI の sys_id。

    データタイプ:文字列

    <String>.items.className 作成または更新された CI のクラス/テーブル名 (sys_class_name)。

    データタイプ:文字列

    <String>.items.duplicateIndices 現在のアイテムに重複する CI のインデックスのリスト。

    データタイプ:アレイ

    <String>.items.errorCount アイテムの処理中に発生したエラーの数。

    データタイプ:数値

    <String>.items.errors この CI の処理中に発生したエラーのリスト。

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

    "errors": [
      {
        "error": "String",
        "message": "String"
      }
    ]
    <String>.items.errors.error CI の処理中に発生したエラーのタイプ。

    データタイプ:文字列

    <String>.items.errors.message エラーに関連するエラーメッセージ。

    データタイプ:文字列

    <String>.items.identificationAttempts CI を識別するために実行された試行のリスト。

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

    "identificationAttempts": [
      { 
        "attemptResult": "String", 
        "attributes": [Array],
        "hybridEntryCiAttributes": [Array],
        "identifierName": "String",
        "searchOnTable": "String" 
      }
    ]
    <String>.items.identificationAttempts.attemptResult CI の識別の試行の結果。

    可能な値:

    • MATCHED:識別に成功しました。指定された属性と完全に一致する一意の CI が識別子ルールテーブルで見つかりました。
    • MULTI_MATCH:エラーのため識別に失敗しました。指定された属性に対して照合しているときに、識別子ルールテーブルに重複する CI が見つかりました。
    • NO_MATCH:識別に失敗しました。指定された属性と一致する CI が識別子ルールテーブルで見つかりませんでした。
    • SKIPPED:識別は試行されませんでした。この識別子ルールテーブルの検索に必要な属性が指定されなかったため、ルールは適用されませんでした。

    データタイプ:文字列

    <String>.items.identificationAttempts.attributes 識別プロセス中に使用された CI ID エントリ属性のリスト。

    データタイプ:アレイ

    属性の名前とタイプは、次のような使用される要求本文データと識別子によって異なります。

    "attributes": [
      "serial_number": "String",
      "serial_number_type": "String",
    ]
    <String>items.identificationAttempts.hybridEntryCiAttributes 識別プロセス中に使用された CI ID エントリ属性のリスト。

    データタイプ:アレイ

    属性の名前とタイプは、次のような使用される要求本文データと識別子によって異なります。

    "hybridEntryCiAttributes": [
      "name": "String",
      "serial_number": "String"
    ]
    <String>.items.identificationAttempts.identifierName この CI の識別試行に使用される識別子ルール。

    データタイプ:文字列

    <String>.items.identificationAttempts.searchOnTable 識別プロセス中に検索されたテーブルの名前。

    データタイプ:文字列

    <String>.items.identifierEntrySysId CI を識別するために使用される識別子ルールの sys_id。

    データタイプ:文字列

    テーブル:識別子エントリ [cmdb_identifier_entry]

    <String>.items.incompleteSysIds アイテムにエラーがあり、不完全ペイロードとして保存された場合、このパラメーターには、CMDB IRE 不完全ペイロード [cmdb_ire_incomplete_payloads] テーブル内のレコードの sys_id が含まれます。

    データタイプ:文字列

    <String>.items.info アイテムの処理に関する追加情報。

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

    "info": [
      {
        "code": "String",
        "message": "String",
        "ruleSysId": "String"
      }
    ]
    <String>.items.info.code スキップされた再分類タイプ。
    可能な値:
    • SKIPPED_CLASS_DOWNGRADE
    • SKIPPED_CLASS_SWITCH
    • SKIPPED_CLASS_UPGRADE

    データタイプ:文字列

    <String>.items.info.message 再分類をスキップする理由に関する追加のインサイトを提供するメッセージ。

    データタイプ:文字列

    <String>.items.info.ruleSysId 一致した再分類制限ルールの sys_id。再分類制限ルールのために IRE が再分類をスキップする場合にのみ適用されます。ペイロードまたはグローバルフラグのために再分類がスキップされた場合、この値は空になります。

    データタイプ:文字列

    <String>.items.inputIndices 対応する入力 CI のインデックス。最上位レベルのアイテムの場合は、整数のリストです。関連 CI またはルックアップ CI の場合は、JSON オブジェクトのリストです。

    データタイプ:数値のアレイ

    <String>.items.maskedAttributes 調整ルールの定義に従って、権限のないデータソースによる更新がスキップされた属性のリスト。

    データタイプ:アレイ

    <String>.items.operation 実行された操作。

    可能な値:

    • INSERT:新しい CI がデータベースに挿入されました。
    • INSERT_AS_INCOMPLETE:アイテムは cmdb_ire_incomplete_payloads テーブルに保存されました。
    • INSERT_AS_PARTIAL:アイテムは cmdb_ire_partial_payloads テーブルに保存されました。
    • UPDATE:既存の CI が更新されました。
    • UPDATE_WITH_DOWNGRADE:CI が更新され、クラスがより汎用的なクラス (先祖クラス) に変更されました。
    • UPDATE_WITH_SWITCH:CI が更新され、クラスが先祖または子孫ではないクラスに変更されました。
    • UPDATE_WITH_UPDRADE:CI が更新され、クラスがより特化されたクラス (子孫クラス) に変更されました。

    データタイプ:文字列

    <String>.items.partialSysIds アイテムにエラーがあり、部分的ペイロードとして保存された場合、このパラメーターには部分的ペイロード レコードの sys_id が含まれます。

    データタイプ:文字列

    <String>.items.relatedItems 要求本文 items.lookup アレイから関連する CI (テーブルルックアップ CI) を記述する JSON オブジェクトのリスト。

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

    "relatedItems": [
      { 
        "className": "String",
        "errors": [Array],
        "errorCount": Number, 
        "incompleteSysIds": [Array],
        "inputIndices": [Array],
        "mergePayloadIds": [Array],
        "operation": "String",
        "partialSysIds": [Array], 
        "sysId": "String",
        "warningCount": Number,
        "warnings": [Array]
      }
    ]
    <String>.items.relatedItems.className 関連アイテムのクラス/テーブル名 (sys_class_name)。

    データタイプ:文字列

    <String>.items.relatedItems.errors 関連アイテムの処理中に発生したエラーのリスト。

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

    "errors": [
      {
        "error": "String",
        "message": "String"
      }
    ]
    <String>.items.relatedItems.errors.error 関連アイテムの処理中に発生したエラーのタイプ。

    データタイプ:文字列

    <String>.items.relatedItems.errors.message エラーに関連するエラーメッセージ。

    データタイプ:文字列

    <String>.items.relatedItems.errorCount 関連アイテムの処理中に検出されたエラーの数。

    データタイプ:数値

    <String>.items.relatedItems.incompleteSysIds 関連にエラーがあり、不完全ペイロードとして保存された場合、この値は、CMDB IRE 不完全ペイロード [cmdb_ire_incomplete_payloads] テーブル内のレコードの sys_id になります。

    データタイプ:文字列

    <String>.items.relatedItems.inputIndices 対応する入力アイテムのインデックス。最上位レベルのアイテムの場合は、整数のリストです。関連アイテムまたはルックアップアイテムの場合は、JSON オブジェクトのリストです。

    データタイプ:数値のアレイまたはオブジェクトのアレイ

    "inputIndices": [
      { 
       "mainIndex": Number, 
       "subIndex": Number 
      }
    ]
    <String>.items.relatedItems.inputIndices.mainIndex 関連アイテムの CI の親に対応する要求本文 items アレイからのインデックス値。

    データタイプ:数値

    <String>.items.relatedItems.inputIndices.subIndex 関連アイテムに対応する要求本文 items.lookup アレイからのインデックス値。

    データタイプ:数値

    <String>.items.relatedItems.mergedPayloadIds 処理中に CI に結合された部分的ペイロードの sys_id のリスト。

    データタイプ:アレイ

    <String>.items.relatedItems.operation 実行された操作。

    可能な値:

    • INSERT:新しい関連 CI がデータベースに挿入されました。
    • INSERT_AS_INCOMPLETE:アイテムは cmdb_ire_incomplete_payloads テーブルに保存されました。
    • INSERT_AS_PARTIAL:アイテムは cmdb_ire_partial_payloads テーブルに保存されました。
    • NO_CHANGE:関連 CI は変更されませんでした。
    • UPDATE:既存の関連 CI が更新されました。
    • UPDATE_WITH_DOWNGRADE:関連 CI が更新され、クラスがより汎用的なクラス (先祖クラス) に変更されました。
    • UPDATE_WITH_SWITCH:関連 CI が更新され、クラスが先祖または子孫ではないクラスに変更されました。
    • UPDATE_WITH_UPDRADE:関連 CI が更新され、クラスがより特化されたクラス (子孫クラス) に変更されました。

    データタイプ:文字列

    <String>.items.relatedItems.partialSysIds 関連アイテムにエラーがあり、部分的ペイロードとして保存された場合、これには、CMDB IRE 部分的ペイロード [cmdb_ire_partial_payloads] テーブル内の関連レコードの sys_id のリストが含まれます。

    データタイプ:アレイ

    <String>.items.relatedItems.sysId 関連アイテムのSys_id。

    データタイプ:文字列

    <String>.items.relatedItems.warningCount 関連アイテムの処理中に発生した警告の数。

    データタイプ:数値

    <String>.items.relatedItems.warnings 関連アイテムの処理中に発生した警告の説明。

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

    "warnings": [
      {
        "error": "String",
        "message": "String"
      }
    ]
    <String>.items.relatedItems.warnings.error 関連アイテムの処理中に発生した警告のタイプ。

    データタイプ:文字列

    <String>.items.relatedItems.warnings.message 警告に関連付けられたメッセージ。

    データタイプ:文字列

    <String>.items.relatedSysIds 関連アイテムのルックアップベースの識別中に使用される CI の sys_id 値のリスト。

    データタイプ:文字列

    <String>.items.sys_id 更新または作成された CI の sys_id。

    データタイプ:文字列

    <String>.relations 要求本文 relations アレイの依存関係性 CI の説明。

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

    "relations": [ 
      { 
        "className": "String",
        "errorCount": Number,
        "errors": [Array],
        "incompleteSysIds": "String",
        "inputIndices": [Array],
        "operation": "String",
        "partialSysIds": "String",
        "sysId": "String" 
      }
    ]
    <String>.relations.className この依存関係 CI の sys_class_name。

    サポートされている値:cmdb_rel_ci:CI 関係テーブル。

    データタイプ:文字列

    <String>.relations.errorCount 依存関係 CI の処理中に発生したエラーの数。

    データタイプ:数値

    <String>.relations.errors この依存関係性 CI の処理中に発生したエラーを説明するリスト。

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

    "errors": [
      {
        "error": "String",
        "message": "String"
      }
    ]
    <String>.relations.errors.error 依存関係 CI の処理中に発生したエラーのタイプ。

    データタイプ:文字列

    <String>.relations.errors.message この依存関係 CI の処理中に発生したエラーメッセージ。

    データタイプ:文字列

    <String>.relations.incompleteSysIds 関連にエラーがあり、不完全ペイロードとして保存された場合、この値は、CMDB IRE 不完全ペイロード [cmdb_ire_incomplete_payloads] テーブル内のレコードの sys_id になります。

    データタイプ:文字列

    <String>.relations.inputIndices この依存関係 CI に対応する要求本文 relations アレイ内の依存関係 CI オブジェクトのインデックス。

    データタイプ:アレイ

    <String>.relations.operation 実行された操作のタイプ。

    可能な値:

    • INSERT:依存関係 CI が新しいレコードとしてターゲットテーブルに挿入されました。
    • INSERT_AS_INCOMPLETE:依存関係 CI にエラーがあり、CMDB IRE 不完全ペイロード [cmdb_ire_incomplete_payloads] テーブルに挿入されました。
    • INSERT_AS_PARTIAL:依存関係 CI にエラーがあり、CMDB IRE 部分的ペイロード [cmdb_ire_partial_payloads] テーブルに挿入されました。
    • NO_CHANGE:操作は実行されませんでした。
    • UPDATE:ターゲットテーブルの既存の依存関係 CI が更新されました。

    データタイプ:文字列

    <String>.relations.partialSysIds 関連にエラーがあり、部分的ペイロードとして保存された場合、この値は、CMDB IRE 部分的ペイロード [cmdb_ire_partial_payloads] テーブル内のレコードの sys_id になります。

    データタイプ:文字列

    <String>.relations.sysId 依存関係 CI の sys_id。

    データタイプ:文字列

    <String>.summary クラスごとに挿入または更新されたアイテムの数に関する統計情報を提供する JSON プロパティのリスト。

    データタイプ:アレイ

    <String>.summary.<class_name> 特定のクラスの統計情報。

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

    <class_name>: {
     "additionalInsertedItemCount": Number, 
     "errorCount": Number,
     "incompleteItemCount": Number,
     "insertedItemCount": Number,
     "partialItemCount": Number,
     "skippedItemCount": Number,
     "unchangedItemCount": Number,
     "updatedItemCount": Number,
     "warningCount": Number 
    }
    <String>.summary.<class_name>.additionalInsertedItemCount 部分的ペイロードの処理のために挿入されたアイテムの数。

    データタイプ:数値

    <String>.summary.<class_name>.errorCount アイテムの処理中に発生したエラーの数。

    データタイプ:数値

    <String>.summary.<class_name>.incompleteItemCount CMDB IRE 不完全ペイロード [cmdb_ire_incomplete_payloads] テーブルに挿入されたアイテムの数。

    データタイプ:数値

    <String>.summary.<class_name>.insertedItemCount 作成されたアイテムの数。

    データタイプ:数値

    <String>.summary.<class_name>.partialItemCount 部分的ペイロードテーブル [cmdb_ire_partial_payloads] に保存されているアイテムの数。

    データタイプ:数値

    <String>.summary.<class_name>.skippedItemCount スキップされたアイテムの数。

    データタイプ:数値

    <String>.summary.<class_name>.unchangedItemCount エントリがあっても変更されなかったアイテムの数。

    データタイプ:数値

    <String>.summary.<class_name>.updatedItemCount 更新されたアイテムの数。

    データタイプ:数値

    <String>.summary.<class_name>.warningCount 処理時に警告を生成したアイテムの数。

    データタイプ:数値

    このコード例は、ImportSet のペイロードを取得する方法を示しています。ここでは、ペイロードを更新し、新しいペイロードを設定してから、cmdbUtil.identifyAndReconcileEnhanced() メソッドを呼び出してペイロードを処理できます。

    // Add this code to the onBefore transform map script
    // Ability to modify the payload using get and set APIs
    // Call cmdbUtil API to do Identification and Reconciliation of current row
    var cmdbUtil = new CMDBTransformUtil();
    cmdbUtil.setDataSource('ImportSet');
    var payload = cmdbUtil.getPayload(source, map, log);
    // Modify the payload here
    cmdbUtil.setPayload(payload);
    cmdbUtil.identifyAndReconcileEnhanced(source, map, log);
    ignore = true;
     
    if (cmdbUtil.hasError()) {
      var errorMessage = cmdbUtil.getError();
      log.error(errorMessage);
    } else {
      log.info('IE Output Payload: ' + cmdbUtil.getOutputPayload());
      log.info('Imported CI: ' + cmdbUtil.getOutputRecordSysId());
    }

    CMDBTransformUtil - hasError()

    前の IdentifyAndReconcile() または IdentifyAndReconcileEnhanced() メソッド呼び出しでエラーが発生したかどうかを判断します。

    onBefore 変換マップスクリプトでこのメソッドを使用します。

    表 : 10. パラメーター
    名前 タイプ 説明
    なし
    表 : 11. 返される内容
    タイプ 説明
    ブーリアン 前に呼び出された IdentifyAndReconcile() または IdentifyAndReconcileEnhanced() メソッドでエラーが発生したかどうかを示すフラグ。
    可能な値:
    • true:エラーは発生しました。
    • false:エラーは発生しませんでした。
    // Add this code to the onBefore transform map script
    // Call CMDB API to do Identification and Reconciliation of current row
    var cmdbUtil = new CMDBTransformUtil();
    cmdbUtil.setDataSource('ImportSet');
    cmdbUtil.identifyAndReconcileEnhanced(source, map, log);
    ignore = true;
    
    if (cmdbUtil.hasError()) {
      var errorMessage = cmdbUtil.getError();
      log.error(errorMessage);
    } else {
      log.info('IE Output Payload: ' + cmdbUtil.getOutputPayload());
      log.info('Imported CI: ' + cmdbUtil.getOutputRecordSysId());
    }

    スコープ対応

    このメソッドの有効範囲はありません。

    CMDBTransformUtil - identifyAndReconcile(オブジェクト source, オブジェクト map, オブジェクト log)

    構成管理データベース (CMDB) で構成アイテム (CI) を挿入または更新します。

    onBefore 変換マップスクリプトでこのメソッドを使用します。変換に利用せずにこのメソッドを使用して構成アイテムレコードを挿入または更新すると、CMDB で重複エントリーを減らすことができます。詳細については、「 CI 識別および調整のインポートセットへの適用」を参照してください。

    変換によってレコードが再度追加または更新されないようにするには、ignore = true を設定します。

    表 : 12. パラメーター
    名前 タイプ 説明
    ソース オブジェクト 変換マップスクリプトで使用可能な、受信レコードを保持するグローバルオブジェクト。
    map オブジェクト 変換マップスクリプトで使用可能な、現在の変換マップレコードを保持するマップオブジェクト。
    log オブジェクト 変換マップスクリプトで使用可能なログオブジェクト。
    表 : 13. 返される内容
    タイプ 説明
    なし

    このコード例は、identifyAndReconcile() メソッドを呼び出して入力ペイロードの現在の行を処理する方法を示しています。

    // Add this code to the onBefore transform map script
    // Call CMDBTransformUtil API to do Identification and Reconciliation of the current row
    var cmdbUtil = new CMDBTransformUtil();
    cmdbUtil.identifyAndReconcile(source, map, log);
    ignore = true;

    CMDBTransformUtil - identifyAndReconcileEnhanced(オブジェクト source, オブジェクト map, オブジェクト log)

    構成管理データベース (CMDB) で構成アイテム (CI) を挿入または更新します。

    このメソッドは、CMDBTransformUtil.identifyAndReconcile() メソッドの機能を提供することに加えて、以下もサポートしています。

    • 部分的ペイロードの処理
    • 部分的コミットの処理
    • ペイロード内の重複アイテムの削除
    • 出力サマリーの生成

    識別および調整の詳細と、このメソッドで使用されるデータの詳細な説明については、「 識別および調整 (IRE)」を参照してください。

    表 : 14. パラメーター
    名前 タイプ 説明
    ソース オブジェクト 変換マップスクリプトで使用可能な、受信レコードを保持するグローバルオブジェクト。
    map オブジェクト 変換マップスクリプトで使用可能な、現在の変換マップレコードを保持するマップオブジェクト。
    log オブジェクト 変換マップスクリプトで使用可能なログオブジェクト。
    表 : 15. 返される内容
    タイプ 説明
    なし

    このコード例は、identifyAndReconcileEnhanced() メソッドを呼び出して、渡されたペイロードを処理する方法を示しています。

    // Add this code to the onBefore transform map script
    // Call CMDBTransformUtil API to do Identification and Reconciliation
    var cmdbUtil = new CMDBTransformUtil();
    cmdbUtil.identifyAndReconcileEnhanced(source, map, log);
    ignore = true;

    CMDBTransformUtil - logTransformStats(オブジェクト log)

    挿入、更新、スキップされた、またはエラーがあった構成アイテム (CI) の数をログに記録します。

    onComplete 変換マップスクリプトでこのメソッドを使用します。

    表 : 16. パラメーター
    名前 タイプ 説明
    log オブジェクト 変換マップスクリプトで使用可能なログオブジェクト。
    表 : 17. 返される内容
    タイプ 説明
    なし
    var cmdbUtil = new CMDBTransformUtil();
    cmdbUtil.logTransformStats(log);

    スコープ対応

    このメソッドの有効範囲はありません。

    CMDBTransformUtil - setDataSource(文字列 source)

    IdentifyAndReconcile() または IdentifyAndReconcileEnhanced() メソッドが呼び出されたときに使用するデータソースを設定します。

    onBefore 変換マップスクリプトでこのメソッドを使用します。このメソッドが呼び出されない場合は、デフォルト値の ImportSetが使用されます。

    表 : 18. パラメーター
    名前 タイプ 説明
    source 文字列 ソース構成アイテムレコードのデータソース。
    表 : 19. 返される内容
    タイプ 説明
    なし
    // Add this code to the onBefore transform map script
    // Call CMDB API to do Identification and Reconciliation of current row
    var cmdbUtil = new CMDBTransformUtil();
    cmdbUtil.setDataSource('ImportSet');
    cmdbUtil.identifyAndReconcileEnhanced(source, map, log);
    ignore = true;
    
    if (cmdbUtil.hasError()) {
      var errorMessage = cmdbUtil.getError();
      log.error(errorMessage);
    } else {
      log.info('IE Output Payload: ' + cmdbUtil.getOutputPayload());
      log.info('Imported CI: ' + cmdbUtil.getOutputRecordSysId());
    }

    スコープ対応

    このメソッドの有効範囲はありません。