GlideRecordUtil - グローバル
GlideRecordUtil スクリプトインクルードは、GlideRecord を操作するためのユーティリティクラスです。
このスクリプトインクルードは、サーバー側スクリプトで使用できます。ユースケースについては、「 ディスカバリースクリプトインクルードの使用」を参照してください。
GlideRecordUtil - getCIGR(文字列 sys_id)
CI の sys_id のみを使用して、指定された構成アイテム (CI) の GlideRecord オブジェクトを返します。
このメソッドを使用すると、関連するクラス/テーブルを知らなくても特定の CI をすばやく取得できます。
| 名前 | タイプ | 説明 |
|---|---|---|
| sys_id | 文字列 | 目的の CI の sys_id。 |
| タイプ | 説明 |
|---|---|
| GlideRecord | 指定された CI の GlideRecord オブジェクト。 |
次の例は、CI の sys_id のみを使用して、指定された CI の GlideRecord オブジェクトを返します。
var now_GR = new GlideRecordUtil().getCIGR("2dfd7c8437201000deeabfc8bcbe5d56");
GlideRecordUtil - getFields(GlideRecord gr)
指定された GlideRecord 内のすべてのフィールドのアレイを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| gr | GlideRecord | 有効なレコードに配置された GlideRecord インスタンス。 |
| タイプ | 説明 |
|---|---|
| アレイ | 指定された GlideRecord のフィールド名。 |
var queryString = "priority=1^ORpriority=2";
var now_GR = new GlideRecord('incident');
now_GR.addEncodedQuery(queryString);
now_GR.query();
now_GR.next();
var gRU = new GlideRecordUtil();
var fieldList = gRU.getFields(now_GR);
gs.info(fieldList);
sys_id,skills,closed_by,assigned_to,contract,category,escalation,state,reassignment_count,location,
time_worked,order,due_date,number,upon_approval,sys_tags,sla_due,follow_up,reopen_count,notify,business_stc,
caused_by,rejection_goto,assignment_group,comments_and_work_notes,incident_state,opened_at,parent_incident,
business_service,wf_activity,calendar_duration,group_list,caller_id,comments,priority,sys_updated_by,
variables,delivery_task,resolved_at,sys_updated_on,parent,active,opened_by,expected_start,watch_list,
company,upon_reject,work_notes,sys_created_by,additional_assignee_list,approval_set,cmdb_ci,user_input,
sys_created_on,close_code,contact_type,resolved_by,rfc,approval_history,activity_due,severity,child_incidents,
,subcategory,work_end,closed_at,close_notes,variables,business_duration,knowledge,approval,sys_domain_path,
sys_mod_count,problem_id,calendar_stc,work_start,sys_domain,correlation_id,sys_class_name,short_description,
impact,description,correlation_display,urgency,made_sla,delivery_plan,work_notes_listGlideRecordUtil - getGR(文字列 baseTable, 文字列 sys_id)
指定された sys_id に位置付けられた、適切なクラス (テーブル) の特定のテーブルの GlideRecord インスタンスを返します。
このメソッドは、sys_id から GlideRecord をロードする必要があるものの、実際のテーブルが不明な場合 (ベーステーブルから拡張されている可能性があるため) に便利です。このメソッドは常に、正しいタイプ base_table (指定された sys_id が含まれているベーステーブルの名前) の GlideRecord を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| ベーステーブル | 文字列 | sys_id を含むベーステーブルの名前。 |
| sys_id | 文字列 | 目的のレコードの sys_id。 |
| タイプ | 説明 |
|---|---|
| GlideRecord | 指定された sys_id の GlideRecord。 |
var now_GR = new GlideRecordUtil().getGR("cmdb_ci_computer", "2dfd7c8437201000deeabfc8bcbe5d56");
GlideRecordUtil - getTables(文字列 tableName)
指定されたテーブルの先祖のリストを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| tableName | 文字列 | テーブルの名前。 |
| タイプ | 説明 |
|---|---|
| アレイ | 指定されたテーブルの先祖のリスト。 |
次の例は、Linux サーバー [cmdb_ci_linux_server] テーブルの先祖を示しています。
var tables = new GlideRecordUtil().getTables("cmdb_ci_linux_server");
gs.info("Tables returned: " + tables);
出力:
Tables returned: [cmdb_ci_linux_server, cmdb_ci_server, cmdb_ci_computer, cmdb_ci_hardware, cmdb_ci, cmdb]
GlideRecordUtil - mergeToGR(オブジェクト hashMap, GlideRecord now_GR, オブジェクト ignore)
指定された GlideRecord のフィールドを、指定されたハッシュマップに含まれるフィールド値で設定します (そのフィールド名がハッシュマップを無視する場合を除く)。
| 名前 | タイプ | 説明 |
|---|---|---|
| hashMap | オブジェクト | フィールドに付けられたプロパティ名とフィールド値を含むオブジェクトインスタンス (ハッシュマップとして使用)。 |
| now_GR | GlideRecord | フィールド値を受け取る GlideRecord インスタンス。 |
| ignore | オブジェクト | 無視するフィールド名のオプションのハッシュマップ。 |
| タイプ | 説明 |
|---|---|
| なし |
この例は、コンピューターレコードの名前と OS フィールドを更新しますが、[sys_created_by] フィールドは更新しません。
var now_GR = new GlideRecordUtil().getGR("cmdb_ci_computer", "2dfd7c8437201000deeabfc8bcbe5d56");
var obj = {"name": "xyz", "os": "windows 2000", "sys_created_by", "aleck.lin"};
var ignore = {"sys_created_by": true};
new GlideRecordUtil().mergeToGR(obj, now_GR, ignore);
now_GR.update();
GlideRecordUtil - populateFromGR(オブジェクト hashMap, GlideRecord now_GR, オブジェクト ignore)
GlideRecord から指定されたハッシュマップを入力します。GlideRecord の各フィールドはハッシュマップのプロパティになります。
| 名前 | タイプ | 説明 |
|---|---|---|
| hashMap | オブジェクト | GlideRecord のフィールドと値を入力するオブジェクト。 |
| now_GR | GlideRecord | 有効なレコードに配置された GlideRecord インスタンス。 |
| ignore | オブジェクト | オプション。オブジェクトを設定するときに除外するフィールド名のハッシュマップ。 マップ内のキーと値のペアごとに、キーは除外するフィールドの名前で、値は |
| タイプ | 説明 |
|---|---|
| なし |
この例では、コンピューター [cmdb_ci_computer] レコードのフィールドと値がオブジェクトに入力されます。
var util = new GlideRecordUtil();
var objectToPopulate = {};
var computer = util.getCIGR("2dfd7c8437201000deeabfc8bcbe5d56"); // get CI record from cmdb_ci_computer
var ignore = {"sys_created_on": true, "sys_updated_by": true};
util.populateFromGR(objectToPopulate, computer, ignore);
// Now objectToPopulate contains field/value pairs from the computer GlideRecord
gs.info(JSON.stringify(objectToPopulate));
出力:
{
"sys_id": "2dfd7c8437201000deeabfc8bcbe5d56",
"operational_status": "1",
"os_service_pack": "Service Pack 2",
"cpu_manufacturer": "7aad6d00c611228400f00e0f80b67d2d",
"sys_updated_on": "2024-07-27 22:28:37",
"first_discovered": "2007-03-13 20:55:20",
"invoice_number": "INV0166221",
"sys_created_by": "admin",
"warranty_expiration": "2019-10-07",
"ram": "1534",
"cpu_name": "Intel(R) Pentium(R) M processor 1.86GHz",
"cpu_speed": "798",
"sys_domain_path": "/",
"disk_space": "51",
"cost_center": "d9d0a971c0a80a641c20b13d99a48576",
"assigned": "2024-03-16 07:00:00",
"purchase_date": "2018-10-07",
"last_discovered": "2007-04-12 23:17:45",
"can_print": "0",
"sys_class_name": "cmdb_ci_computer",
"manufacturer": "aa0a6df8c611227601cd2ed45989e0ac",
"cpu_count": "1",
"vendor": "aa0a6df8c611227601cd2ed45989e0ac",
"assigned_to": "47de9c73c61122930033f6521d1bb785",
"os_version": "5.1.2600",
"serial_number": "L3BB911",
"cd_rom": "0",
"unverified": "0",
"asset": "8bc1ba8837f3100044e0bfc8bcbe5db9",
"cpu_core_count": "1",
"skip_sync": "0",
"sys_domain": "global",
"install_date": "2023-10-06 08:00:00",
"asset_tag": "P1000227",
"hardware_status": "installed",
"install_status": "1",
"name": "*ASSET-IBM",
"virtual": "0",
"po_number": "PO27711",
"sys_class_path": "/!!/!2/!(",
"company": "a66b1fb03710200044e0bfc8bcbe5d08",
"department": "221f79b7c6112284005d646b76ab978c",
"cost": "3665",
"os": "Windows XP Professional",
"sys_mod_count": "17",
"monitor": "0",
"model_id": "a9a2d0c3c6112276010db16c5ddd3461",
"cost_cc": "USD",
"location": "8225b668ac1d55eb679878e192fca315",
"category": "Do not migrate to asset",
"fault_count": "0"
}