CIRelatedList - グローバル
CIRelatedList スクリプトインクルードは、構成アイテム (CI) 関連リストを操作するためのメソッドを提供するユーティリティクラスです。
このスクリプトインクルードの各インスタンスには、特定の CI に関連する単一のリストの詳細が含まれています。このリストの内容とリストの内容が含まれています。
サーバー側の検出スクリプトで使用します。
CIRelatedList - addRec(オブジェクト record)
指定されたレコードを関連リストに追加します。
| 名前 | タイプ | 説明 |
|---|---|---|
| record | オブジェクト | オブジェクトの各メンバーは、関連テーブル内の列名です。例えば、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(アレイ records)
指定されたレコードを関連リストに設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| レコード | オブジェクトのアレイ | 各オブジェクトは、関連テーブル内のレコードを表します。オブジェクトの各メンバーはそのテーブル内の列名です。例えば、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(文字列 parent, 文字列 name, 文字列 datum)
フィールドに XML の子を追加します。
| 名前 | タイプ | 説明 |
|---|---|---|
| parent | 文字列 | 親要素 |
| name | 文字列 | 要素名 |
| データ | 文字列 | 追加するデータ |
| タイプ | 説明 |
|---|---|
| なし |
CIRelatedList - appendXMLChildRecord(文字列 parent, 文字列 name, 文字列 record)
XML 子をレコードに追加します。
| 名前 | タイプ | 説明 |
|---|---|---|
| parent | 文字列 | 親要素 |
| name | 文字列 | 要素名 |
| record | 文字列 | レコード |
| タイプ | 説明 |
|---|---|
| なし |
CIRelatedList - checkSysCollection()
これが SysCollection テーブルであるかどうかを確認します。ターゲット テーブル名のセット、参照フィールド名の場合。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| CIRelatedList | 指定されたリストの CIRelatedList のインスタンス |
CIRelatedList - checkSysM2M()
これが Sys の多対多テーブルかどうかを確認します。ターゲット テーブル名のセット、参照フィールド名の場合。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ブーリアン | sysの多対多テーブルの場合は true。それ以外の場合は false です。 |
CIRelatedList - CIRelatedList(文字列 table, 文字列 refField, 文字列 cmdb_ci, 文字列 debugFlag)
CIRelatedList クラスのインスタンスを作成します。引数がなければ、空のインスタンスを作成するだけです。
| 名前 | タイプ | 説明 |
|---|---|---|
| table | 文字列 | 関連リストを含むテーブル。多対多の場合は、多対多テーブル。 |
| refField | 文字列 | この関連リストの表の参照フィールド |
| cmdb_ci | 文字列 | このリストのsys_idは、このリストに関連しています。 |
| debugFlag | 文字列 | true の場合、デバッグログが有効になります。 |
CIRelatedList - fromXML(文字列 element)
このインスタンスを指定されたXML要素から初期化します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 要素 | 文字列 | XML 要素 |
| タイプ | 説明 |
|---|---|
| なし |
CIRelatedList - populate()
このインスタンスの this.records フィールドに値を設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
CIRelatedList - toString(アレイ result)
このインスタンスの文字列表現を作成し、各行を指定された結果アレイの最後にプッシュします。
このメソッドは CIData.toString() から呼び出され、関連するリスト行が 2 つのスペースで字下げされると仮定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| result | アレイ | 変換する結果 |
| タイプ | 説明 |
|---|---|
| なし |
CIRelatedList - toXML(String document、String element)
このインスタンスを指定されたドキュメントおよび <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(文字列 records, 文字列 element)
関連リストを XML からレコード形式に変換します。
| 名前 | タイプ | 説明 |
|---|---|---|
| レコード | 文字列 | 作成するレコード |
| 要素 | 文字列 | XML 要素 |
| タイプ | 説明 |
|---|---|
| なし |