action : définie, globale

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 4 minutes de lecture
  • L’API d’action fournit des méthodes pour gérer les données des URL dans un script d’action d’interface utilisateur.

    Utilisez cette API pour configurer les actions d’interface utilisateur avec lesquelles les utilisateurs peuvent interagir. Utilisez ces scripts dans la table Action d’interface utilisateur [sys_ui_action]. (pour en savoir plus, consultez Actions d’interface utilisateur).

    Les méthodes de cette API sont désignées par le nom de variable « action » dans n’importe quel JavaScript côté serveur. Pour en savoir plus, consultez Création d’interactions avec des actions d’interface utilisateur.

    action : getGlideURI()

    Obtient un objet GlideURI pour déterminer la vue de l’utilisateur.

    Tableau 1. Paramètres
    Nom Type Description
    Aucun
    Tableau 2. Renvoie
    Type Description
    Objet Objet GlideURI représentant le paramètre URI de la vue utilisateur.
    Remarque :
    Toute autre valeur renvoyée est considérée comme une erreur, y compris nulle.

    L’exemple suivant montre comment obtenir la vue utilisateur et définir l’URL de redirection vers la page d’accueil du catalogue de services.

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

    action : getReturnURL()

    Obtient l’URL de la page de retour affichée lorsqu’une action d’interface utilisateur est terminée.

    Tableau 3. Paramètres
    Nom Type Description
    Aucun
    Tableau 4. Renvoie
    Type Description
    Chaîne URL de la page de retour affichée après qu’une action d’interface utilisateur est terminée.
    action.getReturnURL();

    action : getURLParameter(String parameterName)

    Obtient la valeur d’un paramètre d’URL.

    Tableau 5. Paramètres
    Nom Type Description
    parameterName Chaîne Nom du paramètre d’URL à interroger pour la valeur du paramètre URL.
    Tableau 6. Renvoie
    Type Description
    Chaîne Valeur du paramètre d’URL.
    action.getURLParameter('sysparm_query');

    action : openGlideRecord(Object gr)

    Ouvre une page avec un GlideRecord dans la vue utilisateur.

    Tableau 7. Paramètres
    Nom Type Description
    gr GlideRecord GlideRecord de la page à ouvrir dans la vue utilisateur.
    Tableau 8. Renvoie
    Type Description
    nul  

    L’exemple suivant montre comment inclure le nom de l’appelant et la description de l’incident créés à partir d’un enregistrement d’interaction. Pour en savoir plus, voir Configurer des actions d’interface utilisateur personnalisées dans Workspace.

    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(booléen noPop)

    Indique s’il faut activer ou désactiver les fenêtres contextuelles sur la page dans la vue actuelle.

    Tableau 9. Paramètres
    Nom Type Description
    noPop Booléen Marqueur indiquant s’il faut activer ou désactiver les fenêtres contextuelles sur la page :
    • true : désactive les fenêtres contextuelles.
    • false : valeur par défaut. Active les fenêtres contextuelles.
    Tableau 10. Renvoie
    Type Description
    Néant

    L’exemple suivant montre comment désactiver les fenêtres contextuelles pour une action d’interface utilisateur.

    
    action.setNoPop(true);

    action : setRedirectURL(URL de l’objet)

    Définit l’URI de redirection pour cette transaction, qui détermine la page suivante que l’utilisateur verra.

    Tableau 11. Paramètres
    Nom Type Description
    URL Objet URL à définir comme redirection. Vous pouvez fournir l’URL sous forme de chaîne ou de GlideRecord. Si vous transmettez l’URL en tant que GlideRecord, cette valeur met l’accent sur le formulaire de cet enregistrement.
    Tableau 12. Renvoie
    Type Description
    nul

    L’exemple suivant montre comment rediriger un utilisateur vers une URL à partir d’une action d’interface utilisateur à l’aide de la variable actuelle .

    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();}
    L’exemple suivant montre comment créer un nouvel enregistrement d’incident et rediriger vers le nouvel incident une fois qu’une action d’interface utilisateur est terminée.
    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 de l’objet)

    Définit l’URI de retour pour cette transaction lorsqu’une action d’interface utilisateur est terminée. Vous pouvez utiliser cette méthode pour déterminer la page que l’utilisateur a en vue lorsqu’il revient d’envoi.

    Tableau 13. Paramètres
    Nom Type Description
    URL Objet URI à définir comme emplacement de retour après l’achèvement d’une action d’interface utilisateur. Vous pouvez fournir l’URL sous forme de chaîne ou de GlideRecord.
    Tableau 14. Renvoie
    Type Description
    nul

    L’exemple suivant permet à l’utilisateur de sélectionner l’action d’interface utilisateur pour créer un enregistrement de changement à l’aide des informations contenues dans l’enregistrement de problème et le modèle de changement. Après le changement, l’utilisateur revient à la vue actuelle . Pour plus d’informations, voir Modèles scriptés. Pour plus de cas d’utilisation, reportez-vous à la section 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)

    Définit un nom et une valeur de paramètre d’URL.

    Tableau 15. Paramètres
    Nom Type Description
    parameterName Chaîne Nom du paramètre d’URL.
    parameterValue Chaîne Valeur du paramètre.
    Tableau 16. Renvoie
    Type Description
    nul
    action.setURLParameter('sysparm_query', 'priority=2^active=true');