작업 - 범위, 전역
작업 API는 UI 작업 스크립트에서 URL에 대한 데이터를 처리하는 메서드를 제공합니다.
이 API를 사용하여 사용자가 상호작용할 수 있는 UI 작업을 구성합니다. UI 작업 [sys_ui_action] 테이블에서 이러한 스크립트를 사용합니다. 자세한 내용은 UI 작업을 참조하십시오.
이 API의 메서드는 서버 측 JavaScript에서 변수 이름 'action'으로 참조됩니다. 자세한 내용은 UI 작업을 사용하여 상호 작용 만들기를 참조하세요.
작업 - 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));
작업 - getReturnURL()
UI 작업이 완료된 후 뷰에서 반환 페이지의 URL을 가져옵니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 문자열 | UI 작업이 완료된 후 뷰에 표시되는 반환 페이지의 URL입니다. |
action.getReturnURL();
작업 - getURLParameter(String parameterName)
URL 매개변수의 값을 가져옵니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 매개변수 이름 | 문자열 | URL 매개변수 값에 대해 쿼리할 URL 매개변수 이름의 이름입니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | URL 매개변수 값입니다. |
action.getURLParameter('sysparm_query');
작업 - openGlideRecord(객체 gr)
사용자 뷰에서 GlideRecord가 있는 페이지를 엽니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| gr | GlideRecord | 사용자 뷰에서 열 페이지의 GlideRecord입니다. |
| 유형 | 설명 |
|---|---|
| void |
다음 예는 상호작용 기록에서 만든 호출자 이름과 인시던트 설명을 포함하는 방법을 보여줍니다. 자세한 내용은 작업 공간에서 사용자 지정 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);
}
액션 - setNoPop(Boolean noPop)
현재 뷰의 페이지에서 팝업 창을 활성화할지 또는 비활성화할지 여부를 나타냅니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 노팝 | 부울 | 페이지에서 팝업 창을 활성화하거나 비활성화할지 여부를 나타내는 플래그:
|
| 유형 | 설명 |
|---|---|
| 없음 |
다음 예제에서는 UI 작업에 대해 팝업 창을 사용하지 않도록 설정하는 방법을 보여 줍니다.
action.setNoPop(true);
action - setRedirectURL(객체 URL)
이 트랜잭션에 대한 리디렉션 URI를 설정하여 사용자에게 표시되는 다음 페이지를 결정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| URL | 객체 | 리디렉션으로 설정할 URL입니다. URL을 문자열 또는 GlideRecord로 제공할 수 있습니다. URL을 GlideRecord로 전달하면 이 값의 포커스가 해당 기록의 양식으로 이동합니다. |
| 유형 | 설명 |
|---|---|
| void |
다음 예는 현재 변수를 사용하여 사용자를 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로 제공할 수 있습니다. |
| 유형 | 설명 |
|---|---|
| void |
다음 예에서는 사용자가 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(String parameterName, String parameterValue)
URL 매개변수 이름 및 값을 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 매개변수 이름 | 문자열 | URL 매개변수의 이름입니다. |
| 매개변수값 | 문자열 | 매개변수의 값입니다. |
| 유형 | 설명 |
|---|---|
| void |
action.setURLParameter('sysparm_query', 'priority=2^active=true');