action - Champ d’application, Global

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 4 minutes de lecture
  • L’API d’action permet de traiter les données pour les URL dans un script d’action d’interface utilisateur.

    Utilisez l’API d’action 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 plus d’informations, 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éer des interactions avec les actions d’interface utilisateur.

    action : getGlideURI()

    Obtient un objet GlideURI pour déterminer la vue 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 null.

    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 dans la vue après qu’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 l’achèvement d’une action d’interface utilisateur.
    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 nom du paramètre d’URL dont la valeur du paramètre d’URL doit être recherchée.
    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 plus de détails, consultez 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 de la vue actuelle.

    Tableau 9. Paramètres
    Nom Type Description
    noPop (no-pop) 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(Object URL)

    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 le 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(Object URL)

    Définit l’URI de retour pour cette transaction après qu’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 de l’envoi.

    Tableau 13. Paramètres
    Nom Type Description
    URL Objet URI à définir comme emplacement de retour lorsqu’une action d’interface utilisateur est terminée. 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 de l’enregistrement de problème et du modèle de changement. Après la modification, l’utilisateur revient à la vue actuelle . Pour plus d’informations, consultez Modèles scriptés. Pour plus de cas d’utilisation, consultez Définir des relations de tâches avec des actions d’interface utilisateur.

    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 URL.

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