action - Scoped, Global

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 4 minutes de lecture
  • The action API provides methods to handle data for URLs in a UI action script.

    Use this API to configure UI actions with which users can interact. Use these scripts in the UI Action [sys_ui_action] table. For information, see UI actions.

    Methods for this API are referred to by the variable name 'action' in any server-side JavaScript. To learn more, see Creating interactions with UI actions.

    action - getGlideURI()

    Gets a GlideURI object to determine the user view.

    Tableau 1. Parameters
    Name Type Description
    None
    Tableau 2. Returns
    Type Description
    Object GlideURI object representing the URI parameter of the user view.
    Remarque :
    Any other returned value is considered an error, including null.

    The following example shows how to get the user view and set the redirect URL to the service catalog home page.

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

    action - getReturnURL()

    Gets the URL of the return page in view after a UI action is complete.

    Tableau 3. Parameters
    Name Type Description
    None
    Tableau 4. Returns
    Type Description
    String URL of the return page in view after a UI action is complete.
    action.getReturnURL();

    action - getURLParameter(String parameterName)

    Gets the value of a URL parameter.

    Tableau 5. Parameters
    Name Type Description
    parameterName String Name of the URL parameter name to be queried for the URL parameter value.
    Tableau 6. Returns
    Type Description
    String URL parameter value.
    action.getURLParameter('sysparm_query');

    action - openGlideRecord(Object gr)

    Opens a page with a GlideRecord in the user view.

    Tableau 7. Parameters
    Name Type Description
    gr GlideRecord GlideRecord of the page to be opened in the user view.
    Tableau 8. Returns
    Type Description
    void  

    The following example shows how to include the caller name and incident description created from an interaction record. For more details, see Customizing Configurable Workspace with declarative actions.

    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(Boolean noPop)

    Indicates whether to enable or disable pop-up windows on the page in the current view.

    Tableau 9. Parameters
    Name Type Description
    noPop Boolean Flag indicating whether to enable or disable pop-up windows on the page:
    • true: Disables pop-up windows.
    • false: Default. Enables pop-up windows.
    Tableau 10. Returns
    Type Description
    None

    The following example shows how to disable pop-up windows for a UI action.

    
    action.setNoPop(true);

    action - setRedirectURL(Object URL)

    Sets the redirect URI for this transaction, which determines the next page the user sees.

    Tableau 11. Parameters
    Name Type Description
    URL Object URL to set as the redirect. You can provide the URL as a string or a GlideRecord. If you pass the URL as a GlideRecord, this value takes the focus to that record's form.
    Tableau 12. Returns
    Type Description
    void

    The following example shows how to redirect a user to a URL from a UI action using the current variable.

    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();}
    The following example shows how to create a new incident record and redirect to the new incident after a UI action completes.
    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(Object URL)

    Sets the return URI for this transaction after a UI action is complete. You can use this method to determine what page the user has in view when they return from submit.

    Tableau 13. Parameters
    Name Type Description
    URL Object URI to set as the return location after a UI action is complete. You can provide the URL as a string or a GlideRecord.
    Tableau 14. Returns
    Type Description
    void

    The following example enables the user to select the UI action to create a change record using information from the problem record and the change template. After the change, the user returns to current view. For more information, see Scripted templates. For more use cases, see 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)

    Sets a URL parameter name and value.

    Tableau 15. Parameters
    Name Type Description
    parameterName String Name of the URL parameter.
    parameterValue String Value of the parameter.
    Tableau 16. Returns
    Type Description
    void
    action.setURLParameter('sysparm_query', 'priority=2^active=true');