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(String baseTable, String sys_id)
指定されたsys_idに配置された、適切なクラス (テーブル) の指定されたテーブルの GlideRecord インスタンスを返します。
このメソッドは、sys_idから GlideRecord をロードする必要があるが、実際のテーブルが何であるかわからない場合に便利です (ベーステーブルから拡張されている可能性があるため)。このメソッドは、指定されたsys_idが含まれているベーステーブルの名前base_table正しいタイプの GlideRecord を常に返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| baseTable | 文字列 | sys_idを含むベーステーブルの名前。 |
| sys_id | 文字列 | 目的のレコードのsys_id。 |
| タイプ | 説明 |
|---|---|
| GlideRecord | 指定されたsys_idの GlideRecord。 |
var now_GR = new GlideRecordUtil().getGR("cmdb_ci_computer", "2dfd7c8437201000deeabfc8bcbe5d56");
GlideRecordUtil - getTables(文字列 tableName)
指定されたテーブル名の先祖の Java ArrayList を返します。
たとえば、cmdb_ci_linux_serverが指定されると、cmdb_ci_linux_server、cmdb_ci_server、cmdb_ci_computer、cmdb_ci_hardware、cmdb_ci、および cmdbr が返されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| tableName | 文字列 | テーブルの名前。 |
| タイプ | 説明 |
|---|---|
| ArrayList | 指定されたテーブルの先祖のリスト。 |
次の例は、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(Object hashMap, GlideRecord now_GR, Object ignore)
指定された GlideRecord のフィールドを、そのフィールド名が無視ハッシュマップに含まれていない場合、指定されたハッシュマップに含まれるフィールド値に設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| ハッシュマップ | オブジェクト | フィールドの名前が付けられ、フィールドの値を含むプロパティを持つオブジェクトインスタンス (ハッシュマップとして使用される)。 |
| GlideRecord | GR | フィールド値を受信する GlideRecord インスタンス。 |
| 無視 | オブジェクト | 無視するフィールド名のオプションのハッシュマップ。 |
| タイプ | 説明 |
|---|---|
| なし |
この例では、コンピューターレコードの名前と 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(Object hashMap, GlideRecord now_GR, Object ignore)
指定された GlideRecord インスタンスから指定されたハッシュマップを入力します。GlideRecord の各フィールドは、ハッシュマップのプロパティになります。
| 名前 | タイプ | 説明 |
|---|---|---|
| ハッシュマップ | オブジェクト | ハッシュマップとして使用されているオブジェクト。 |
| now_GR | GlideRecord | 有効なレコードに配置された GlideRecord インスタンス。 |
| 無視 | オブジェクト | 入力しないファイル名のオプションのハッシュマップ。 |
| タイプ | 説明 |
|---|---|
| なし |
var objectToPopulate = {};
var now_GR = new GlideRecordUtil().getGR("cmdb_ci_computer", "2dfd7c8437201000deeabfc8bcbe5d56");
var ignore = {"sys_created_on": true, "sys_updated_by": true};
new GlideRecordUtil().populateFromGR(objectToPopulate, now_GR, ignore);
// Now the objectToPopulate contains field/value pairs from the computer GlideRecord