CIRelatedList - グローバル
CIRelatedList スクリプトインクルードは、構成アイテム (CI) 関連リストを操作するためのメソッドを提供するユーティリティクラスです。
このスクリプトインクルードの各インスタンスには、特定の CI に関連する単一のリストの詳細が含まれています。このリストの詳細とリストの内容が含まれています。
任意のサーバーサイドディスカバリースクリプトで使用します。
CIRelatedList - addRec(オブジェクトレコード)
指定されたレコードを関連リストに追加します。
| 名前 | タイプ | 説明 |
|---|---|---|
| レコード | オブジェクト | オブジェクト内の各メンバーは、関連付けられたテーブルの列名です。たとえば、cmdb_serial_numberテーブルを参照する場合、この値には次のようなものが含まれる可能性があります。
|
| タイプ | 説明 |
|---|---|
| なし |
この例では、CI 関連リストにレコードを追加する方法を示します。
var ciDataObj = new CIData(); // Instantiate a new CIData class object
// sys_id of the CI to which the related list is attached.
var rl = new CIRelatedList('cmdb_serial_number', 'cmdb_ci','0c43b0f5c6112275019abd2bb3dcd78f','true');
// Create an object and add the serial numbers
var sr = {"serial_number_type":"bios","serial_number":"1BC5E4z89246","valid":"true"};
rl.addRec(sr); // Add the related list. Sets the given records to the related list.
ciDataObj.addRelatedList(rl); // Adding the related list to the cidata
gs.info(JSON.stringify(rl, null, 4)); // Display the added related list
出力:
{
"GlideRecordUtil": {},
"ignoreFields": {
"sys_created_by": true,
"sys_updated_by": true,
"sys_mod_count": true
},
"records": [
{
"serial_number_type": "bios",
"serial_number": "1BC5E4z89246",
"valid": "true"
}
],
"m2m_records": [],
"table_name": "cmdb_serial_number",
"field_name": "cmdb_ci",
"cmdb_ci": "0c43b0f5c6112275019abd2bb3dcd78f",
"debug_flag": "true",
"isM2M": false,
"target_table_name": null,
"target_ref_field_name": null
}
CIRelatedList - addRecs(アレイレコード)
指定されたレコードを関連リストに設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| レコード | オブジェクトのアレイ | 各オブジェクトは、関連するテーブルのレコードを表します。オブジェクト内の各メンバーは、そのテーブルの列名です。たとえば、cmdb_serial_numberテーブルを参照する場合、この値には次のようなものが含まれる可能性があります。
|
| タイプ | 説明 |
|---|---|
| なし |
この例では、CI 関連リストに複数のレコードを追加する方法を示します。
var ciDataObj = new CIData(); // Instantiate a new CIData class object
// sys_id of the CI to which the related list is attached.
var rl = new CIRelatedList('cmdb_serial_number', 'cmdb_ci','0c43b0f5c6112275019abd2bb3dcd78f','true');
// Create an object and add the serial numbers
var sr = [{"serial_number_type":"bios","serial_number":"1BC5E4z89246","valid":"true"},{"serial_number_type":"baseboard","serial_number":"w4z89246","valid":"true"}];
rl.addRecs(sr); // Add the related list. Sets the given records to the related list.
ciDataObj.addRelatedList(rl); // Adding the related list to the cidata
gs.info(JSON.stringify(rl, null, 4)); // Display the added related list
出力:
{
"GlideRecordUtil": {},
"ignoreFields": {
"sys_created_by": true,
"sys_updated_by": true,
"sys_mod_count": true
},
"records": [
{
"serial_number_type": "bios",
"serial_number": "1BC5E4z89246",
"valid": "true"
},
{
"serial_number_type": "baseboard",
"serial_number": "w4z89246",
"valid": "true"
}
],
"m2m_records": [],
"table_name": "cmdb_serial_number",
"field_name": "cmdb_ci",
"cmdb_ci": "0c43b0f5c6112275019abd2bb3dcd78f",
"debug_flag": "true",
"isM2M": false,
"target_table_name": null,
"target_ref_field_name": null
}
CIRelatedList - appendXMLChildFld(String parent, String name, String datum)
XML の子をフィールドに追加します。
| 名前 | タイプ | 説明 |
|---|---|---|
| parent | 文字列 | 親要素 |
| name | 文字列 | 要素名 |
| データム | 文字列 | 追加するデータ |
| タイプ | 説明 |
|---|---|
| なし |
CIRelatedList - appendXMLChildRecord(文字列の親, 文字列名, 文字列レコード)
XML の子をレコードに追加します。
| 名前 | タイプ | 説明 |
|---|---|---|
| parent | 文字列 | 親要素 |
| name | 文字列 | 要素名 |
| レコード | 文字列 | レコード |
| タイプ | 説明 |
|---|---|
| なし |
CIRelatedList - checkSysCollection()
これが SysCollection テーブルであるかどうかを確認します。該当する場合は、ターゲットテーブル名と参照フィールド名を設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| CIRelatedList | 指定されたリストの CIRelatedList のインスタンス。 |
CIRelatedList - checkSysM2M()
これがシステム多対多テーブルかどうかを確認します。該当する場合は、ターゲットテーブル名と参照フィールド名を設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ブーリアン | システム多対多テーブルの場合は true。それ以外の場合は false です。 |
CIRelatedList - CIRelatedList(文字列テーブル、文字列 refField、文字列 cmdb_ci、文字列 debugFlag)
CIRelatedList クラスのインスタンスを作成します。引数なしで、空のインスタンスをビルドするだけです。
| 名前 | タイプ | 説明 |
|---|---|---|
| table | 文字列 | 関連リストを含むテーブル。多対多の場合は、多対多テーブルです。 |
| refField | 文字列 | この関連リストのテーブルの参照フィールド。 |
| cmdb_ci | 文字列 | このリストが関連する CI のsys_id。 |
| debugFlag | 文字列 | true の場合、デバッグログが有効になります。 |
CIRelatedList - fromXML(文字列要素)
指定された XML 要素からこのインスタンスを初期化します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 要素 | 文字列 | XML 要素 |
| タイプ | 説明 |
|---|---|
| なし |
CIRelatedList - populate()
このインスタンスの this.records フィールドに入力します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
CIRelatedList - toString(アレイの結果)
このインスタンスの文字列表現を作成し、各行を指定された結果配列の最後にプッシュします。
このメソッドは CIData.toString() から呼び出され、関連リスト行を 2 スペースインデントすることを前提としています。
| 名前 | タイプ | 説明 |
|---|---|---|
| result | アレイ | 変換する結果 |
| タイプ | 説明 |
|---|---|
| なし |
CIRelatedList - toXML(文字列ドキュメント, 文字列要素)
指定されたドキュメントと <rl> 要素で、このインスタンスを XML にシリアル化します。
| 名前 | タイプ | 説明 |
|---|---|---|
| ドキュメント | 文字列 | ドキュメント |
| 要素 | 文字列 | rl 要素 |
| タイプ | 説明 |
|---|---|
| なし |
CIRelatedList - remove()
すべての関連リストアイテムを削除します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
このコード例では、名前が = *JEMPLOYEE-IBM の CI アイテムにマッピングされた関連レコードを削除します。この例は、非 M2M テーブル用です。
//Get a configuration item record which has a related list. Example: CI items with the name = *JEMPLOYEE-IBM.
var ciRecord = new GlideRecord("cmdb_ci_computer");
ciRecord.addQuery("name", "*JEMPLOYEE-IBM");
ciRecord.query();
if (ciRecord.next()) {
var relRecordTable = 'cmdb_ci_network_adapter'; // The table containing the related list (if many-to-many, the many-to-many table)
var relRecordField = 'cmdb_ci'; // The reference field in the table for this related list
var cmdb_ciHasRelRecord = ciRecord.sys_id; // The sys_id of the CI this list is related to.
var debugFlag = 'true'; // True if debug logging is enabled.
// Get the related record List
var CIRelatedList = new CIRelatedList(relRecordTable, relRecordField, cmdb_ciHasRelRecord, debugFlag);
CIRelatedList.remove(); // Delete all related records
}
CIRelatedList - xmlToRecord(String records, String element)
関連リストを XML からレコード形式に変換します。
| 名前 | タイプ | 説明 |
|---|---|---|
| レコード | 文字列 | 作成するレコード |
| 要素 | 文字列 | XML 要素 |
| タイプ | 説明 |
|---|---|
| なし |