action – Scoped, Global

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 3 Minuten Lesedauer
  • Die Aktions- API ermöglicht die Verarbeitung von Daten für URLs in einem UI-Aktionsskript.

    Verwenden Sie die Aktions- API, um UI-Aktionen zu konfigurieren, mit denen Benutzer interagieren können. Verwenden Sie diese Skripts in der Tabelle „UI-Aktion“ [sys_ui_action]. Weitere Informationen finden Sie unter UI-Aktionen.

    Methoden für diese API werden in jedem serverseitigen JavaScript-Code durch den Variablennamen „action“ referenziert. Weitere Informationen finden Sie unter Interaktionen mit UI-Aktionen erstellen.

    action – getGlideURI()

    Ruft ein GlideURI-Objekt ab, um die Benutzeransicht zu bestimmen.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 2. Ergebnisse
    Typ Beschreibung
    Objekt GlideURI-Objekt, das den URI-Parameter der Benutzeransicht darstellt.
    Hinweis:
    Jeder andere zurückgegebene Wert wird als Fehler betrachtet, einschließlich NULL.

    Das folgende Beispiel zeigt, wie Sie die Benutzeransicht abrufen und die Umleitungs-URL für die Servicekatalog-Homepage festlegen.

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

    action – getReturnURL()

    Ruft die URL der Rückkehrseite ab, die nach Abschluss einer UI-Aktion angezeigt wird.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 4. Ergebnisse
    Typ Beschreibung
    Zeichenfolge URL der Rückkehrseite, die nach Abschluss einer UI-Aktion angezeigt wird.
    action.getReturnURL();

    action – getURLParameter(String parameterName)

    Ruft den Wert eines URL-Parameters ab.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    parameterName Zeichenfolge Name des URL-Parameternamens, der nach dem URL-Parameterwert abgefragt werden soll.
    Tabelle : 6. Ergebnisse
    Typ Beschreibung
    Zeichenfolge URL-Parameterwert.
    action.getURLParameter('sysparm_query');

    action – openGlideRecord(Object gr)

    Öffnet eine Seite mit einem GlideRecord in der Benutzeransicht.

    Tabelle : 7. Parameter
    Name Typ Beschreibung
    gr GlideRecord GlideRecord der Seite, die in der Benutzeransicht geöffnet werden soll.
    Tabelle : 8. Ergebnisse
    Typ Beschreibung
    void  

    Das folgende Beispiel zeigt, wie der Name des Anrufers und die Incident-Beschreibung, die aus einem Interaktionsdatensatz erstellt wurde, einbezogen werden. Weitere Informationen finden Sie unter Benutzerdefinierte UI-Aktionen in Workspace einrichten.

    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)

    Gibt an, ob Popup-Fenster auf der Seite in der aktuellen Ansicht aktiviert oder deaktiviert werden sollen.

    Tabelle : 9. Parameter
    Name Typ Beschreibung
    noPop Boolean Kennzeichnung, die angibt, ob Popup-Fenster auf der Seite aktiviert oder deaktiviert werden sollen:
    • true: Deaktiviert Popup-Fenster.
    • false: Standard. Aktiviert Popup-Fenster.
    Tabelle : 10. Ergebnisse
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie Popup-Fenster für eine UI-Aktion deaktiviert werden.

    
    action.setNoPop(true);

    action – setRedirectURL(Object URL)

    Legt den Umleitungs-URI für diese Transaktion fest, der die nächste Seite bestimmt, die dem Benutzer angezeigt wird.

    Tabelle : 11. Parameter
    Name Typ Beschreibung
    URL Objekt URL, die als Umleitung festgelegt werden soll. Sie können die URL als Zeichenfolge oder GlideRecord angeben. Wenn Sie die URL als GlideRecord übergeben, legt dieser Wert den Fokus auf das Formular dieses Datensatzes.
    Tabelle : 12. Ergebnisse
    Typ Beschreibung
    void

    Das folgende Beispiel zeigt, wie ein Benutzer mithilfe der Variablen current von einer UI-Aktion zu einer URL umgeleitet wird.

    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();}
    Das folgende Beispiel zeigt, wie Sie einen neuen Incident-Datensatz erstellen und nach Abschluss einer UI-Aktion zum neuen Incident umleiten.
    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)

    Legt den Rückgabe-URI für diese Transaktion fest, nachdem eine UI-Aktion abgeschlossen wurde. Sie können diese Methode verwenden, um zu bestimmen, welche Seite der Benutzer anzeigt, wenn er von der Übermittlung zurückkehrt.

    Tabelle : 13. Parameter
    Name Typ Beschreibung
    URL Objekt URI, der nach Abschluss einer UI-Aktion als Rückgabeort festgelegt werden soll. Sie können die URL als Zeichenfolge oder GlideRecord angeben.
    Tabelle : 14. Ergebnisse
    Typ Beschreibung
    void

    Im folgenden Beispiel kann der Benutzer die UI-Aktion auswählen, um einen Change-Datensatz mit Informationen aus dem Problemdatensatz und der Change-Vorlage zu erstellen. Nach der Änderung kehrt der Benutzer zur aktuellen Ansicht zurück. Weitere Informationen finden Sie unter Geskriptete Vorlagen. Weitere Anwendungsfälle finden Sie unter Aufgabenbeziehungen mit UI-Aktionen definieren.

    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)

    Legt einen URL-Parameternamen und -wert fest.

    Tabelle : 15. Parameter
    Name Typ Beschreibung
    parameterName Zeichenfolge Name des URL-Parameters.
    parameterWert Zeichenfolge Wert des Parameters.
    Tabelle : 16. Ergebnisse
    Typ Beschreibung
    void
    action.setURLParameter('sysparm_query', 'priority=2^active=true');