작업 - 범위 지정, 전역

  • 릴리스 버전: Washingtondc
  • 업데이트 날짜 2024년 02월 01일
  • 읽기8분
  • 작업 API를 사용하면 UI 작업 스크립트에서 URL에 대한 데이터를 처리할 수 있습니다.

    작업 API를 사용하여 사용자가 상호작용할 수 있는 UI 작업을 구성합니다. UI 작업 [sys_ui_action] 테이블에서 다음 스크립트를 사용합니다. 자세한 내용은 UI 작업을 참조하세요.

    이 API의 메서드는 서버 측 JavaScript에서 변수 이름 'action'으로 참조됩니다. 자세한 내용은 UI 작업과의 상호 작용 생성을 참조하세요.

    작업 - getGlideURI()

    사용자 뷰를 결정하는 GlideURI 객체를 가져옵니다.

    표 1. 매개변수
    이름 유형 설명
    없음
    표 2. 반환
    유형 설명
    객체 사용자 뷰의 URI 매개변수를 나타내는 GlideURI 객체입니다.

    다음 예제에서는 사용자 뷰를 가져오고 리디렉션 URL을 Service Catalog 홈페이지로 설정하는 방법을 보여 줍니다.

    var uri = action.getGlideURI();
    var path = 'catalog_home.do';
    
    uri.set('sysparm_view', 'catalog_default');
    action.setRedirectURL(uri.toString(path));

    작업 - getReturnURL()

    UI 작업이 완료된 후 뷰에서 반환 페이지의 URL을 가져옵니다.

    표 3. 매개변수
    이름 유형 설명
    없음
    표 4. 반환
    유형 설명
    문자열 UI 작업이 완료된 후 뷰에 표시되는 반환 페이지의 URL입니다.
    action.getReturnURL();

    작업 - getURLParameter(String parameterName)

    URL 매개 변수의 값을 가져옵니다.

    표 5. 매개변수
    이름 유형 설명
    매개변수 이름 문자열 URL 매개변수 값에 대해 쿼리할 URL 매개변수 이름입니다.
    표 6. 반환
    유형 설명
    문자열 URL 매개변수 값입니다.
    action.getURLParameter('sysparm_query');

    작업 - openGlideRecord(Object gr)

    사용자 뷰에서 GlideRecord가 있는 페이지를 엽니다.

    표 7. 매개변수
    이름 유형 설명
    gr GlideRecord 사용자 뷰에서 열 페이지의 GlideRecord입니다.
    표 8. 반환
    유형 설명
    void  

    다음 예제는 상호작용 기록으로부터 만들어진 호출자 이름과 인시던트 설명을 포함하는 방법을 보여줍니다. 자세한 내용은 Workspace에서 사용자 지정 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)

    현재 뷰의 페이지에서 팝업 창을 사용할지 여부를 나타냅니다.

    표 9. 매개변수
    이름 유형 설명
    노팝 부울 페이지에서 팝업 창을 활성화할지 비활성화할지를 나타내는 플래그:
    • true: 팝업 창을 사용하지 않도록 설정합니다.
    • false: 기본값입니다. 팝업 창을 활성화합니다.
    표 10. 반환
    유형 설명
    없음

    다음 예제에서는 UI 작업에 대해 팝업 창을 사용하지 않도록 설정하는 방법을 보여 줍니다.

    
    action.setNoPop(true);

    작업 - setRedirectURL(객체 URL)

    이 트랜잭션에 대한 리디렉션 URI를 설정하여 사용자가 보게 될 다음 페이지를 결정합니다.

    표 11. 매개변수
    이름 유형 설명
    URL 객체 리디렉션으로 설정할 URL입니다. URL을 문자열 또는 GlideRecord로 제공할 수 있습니다. URL을 GlideRecord로 전달하는 경우 이 값은 해당 기록의 형식에 포커스를 둡니다.
    표 12. 반환
    유형 설명
    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();}
    다음 예제는 UI 작업이 완료된 후 새 인시던트 기록을 생성하고 새 인시던트로 리디렉션하는 방법을 보여줍니다.
    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);
    }

    작업 - setReturnURL(객체 URL)

    UI 작업이 완료된 후 이 트랜잭션에 대한 반환 URI를 설정합니다. 이 메서드를 사용하여 사용자가 제출에서 반환할 때 표시되는 페이지를 확인할 수 있습니다.

    표 13. 매개변수
    이름 유형 설명
    URL 객체 UI 작업이 완료된 후 반환 위치로 설정할 URI입니다. URL을 문자열 또는 GlideRecord로 제공할 수 있습니다.
    표 14. 반환
    유형 설명
    void

    다음 예시에서는 사용자가 UI 작업을 선택하여 문제 기록과 변경 템플릿의 정보를 사용하여 변경 기록을 생성할 수 있도록 합니다. 변경 후 사용자는 현재 뷰로 돌아갑니다. 자세한 내용은 스크립팅된 템플릿을 참조하세요. 더 많은 사용 사례는 UI 작업으로 작업 관계 정의를 참조하세요.

    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);

    작업 - setURLParameter(String parameterName, String parameterValue)

    URL 매개변수 이름과 값을 설정합니다.

    표 15. 매개변수
    이름 유형 설명
    매개변수 이름 문자열 URL 매개변수의 이름입니다.
    매개변수 값 문자열 매개변수의 값입니다.
    표 16. 반환
    유형 설명
    void
    action.setURLParameter('sysparm_query', 'priority=2^active=true');