action - スコープ対象、グローバル
アクション API は、UI アクションスクリプト内の URL のデータを処理するメソッドを提供します。
この API を使用して、ユーザーが操作できる UI アクションを構成します。UI アクション [sys_ ui_action] テーブル内のこれらのスクリプトを使用します。詳細については、「 UI アクション」を参照してください。
この API のメソッドは、サーバー側の JavaScript で「action」という変数名で参照されます。詳細については、「UI アクションによるインタラクションの作成」を参照してください。
action - getGlideURI()
ユーザービューを決定する GlideURI オブジェクトを取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| オブジェクト | ユーザービューの URI パラメーターを表す GlideURI オブジェクト。 注: null を含むその他の戻り値はエラーと見なされます。 |
次の例は、ユーザービューを取得し、サービスカタログのホームページへのリダイレクト URL を設定する方法を示しています。
var uri = action.getGlideURI();
var path = 'catalog_home.do';
uri.set('sysparm_view', 'catalog_default');
action.setRedirectURL(uri.toString(path));
action - getReturnURL()
UI アクションが完了した後に表示されるページの URL を取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | UI アクションが完了した後に表示されるページの URL。 |
action.getReturnURL();
action - getURLParameter(文字列 parameterName)
URL パラメーターの値を取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| parameterName | 文字列 | URL パラメーター値を照会する URL パラメーターの名前。 |
| タイプ | 説明 |
|---|---|
| 文字列 | URL パラメーター値。 |
action.getURLParameter('sysparm_query');
action - openGlideRecord(オブジェクト gr)
ユーザービューで GlideRecord を含むページを開きます。
| 名前 | タイプ | 説明 |
|---|---|---|
| gr | GlideRecord | ユーザービューで開くページの GlideRecord。 |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、インタラクションレコードから作成された発信者名とインシデントの説明を含める方法を示しています。詳細については、「 ワークスペースでのカスタム UI アクションの設定」を参照してください。
if(current.update()){
var inc = new GlideRecord("incident");
inc.newRecord();
inc.caller_id = current.opened_for;
inc.short_description = current.short_description;
action.openGlideRecord(inc);
}
action - setNoPop(ブール noPop)
現在のビューのページでポップアップウィンドウを有効にするか無効にするかを示します。
| 名前 | タイプ | 説明 |
|---|---|---|
| noPop | ブーリアン | ページでポップアップウィンドウを有効にするか無効にするかを示すフラグ。
|
| タイプ | 説明 |
|---|---|
| なし |
次の例は、UI アクションのポップアップウィンドウを無効にする方法を示しています。
action.setNoPop(true);
action - setRedirectURL(オブジェクト URL)
このトランザクションのリダイレクト URI を設定します。リダイレクト URI は、ユーザーに表示される次のページを決定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| URL | オブジェクト | リダイレクトとして設定する URL。URL は文字列または GlideRecordとして指定できます。URL を GlideRecord として渡すと、この値によってそのレコードのフォームにフォーカスが移動します。 |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、 current 変数を使用して UI アクションから URL にユーザーをリダイレクトする方法を示しています。
var fixchg = new GlideRecord("change_request");
fixchg.short_description= current.short_description;
fixchg.comments= current.comments.getHTMLValue();
// fixchg.parent = current.sys_id;
fixchg.insert();
FixChange();
gs.addInfoMessage("Change "+ fixchg.number+" created");
action.setRedirectURL(current);
action.setReturnURL(fixchg);
function FixChange(){
var m2m = new GlideRecord('task_rel_task');
m2m.initialize();
m2m.child= current.sys_id;
m2m.parent= fixchg.sys_id;
m2m.type.setDisplayValue("Fixes::Fixed by");
m2m.insert();}
var reqItem = current.u_item;
var requestedFor = current.u_requested_for;
var location = current.location;
if(current.u_incident_request == 'Incident'){
//Create a new incident record and redirect to the new incident
var rec = new GlideRecord('incident');
rec.initialize();
rec.caller_id = requestedFor;
rec.location = location;
rec.insert();
action.setRedirectURL(rec);
}
if(current.u_incident_request == 'Request'){
//Build the url and route the user to the request item
var url = '';
if(current.u_item.sys_class_name == 'sc_cat_item_guide'){
url = 'com.glideapp.servicecatalog_cat_item_guide_view.do?sysparm_initial=true&sysparm_guide=' +
reqItem + '&sysparm_user=' + requestedFor + '&sysparm_location=' + location;
}
else{
url = 'com.glideapp.servicecatalog_cat_item_view.do?sysparm_id=' + reqItem + '&sysparm_user=' +
requestedFor + '&sysparm_location=' + location;
}
action.setRedirectURL(url);
}action - setReturnURL(オブジェクト URL)
UI アクションが完了した後に、このトランザクションのリターン URI を設定します。このメソッドを使用して、ユーザーが送信から戻ったときに表示されるページを決定できます。
| 名前 | タイプ | 説明 |
|---|---|---|
| URL | オブジェクト | UI アクションが完了した後に戻る場所として設定する URI。URL は文字列または GlideRecordとして指定できます。 |
| タイプ | 説明 |
|---|---|
| なし |
次の例では、ユーザーが UI アクションを選択し、問題レコードと変更テンプレートの情報を使用して変更レコードを作成できるようにしています。変更後、ユーザーは 現在の ビューに戻ります。詳細については、「 スクリプト化されたテンプレート」を参照してください。その他のユースケースについては、「 Task relationships with UI actions」を参照してください。
var change = new GlideRecord("change_request");
change.initialize();
change.short_description = current.short_description;
change.description = current.u_details;
change.cmdb_ci = current.u_service;
change.priority = current.priority;
change.requested_by = current.caller_id;
change.assignment_group.setDisplayValue('Change & Release');
change.u_status = 'New';
change.parent = current.number;
change.applyTemplate("standard_rfc");
current.rfc = change.insert();
current.comments = 'Change ' + change.number + ' created.';
var mySysID = current.update();
gs.addInfoMessage("Change " + change.number + " created");
action.setRedirectURL(change);
action.setReturnURL(current);
action - setURLParameter(文字列 parameterName, 文字列 parameterValue)
URL パラメーターの名前と値を設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| parameterName | 文字列 | URL パラメーターの名前。 |
| parameterValue | 文字列 | パラメーターの値。 |
| タイプ | 説明 |
|---|---|
| なし |
action.setURLParameter('sysparm_query', 'priority=2^active=true');