Beispielskript für E-Mail-Benachrichtigungen

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 1 Minute Lesedauer
  • Beispiele der Skripterstellung für E-Mail-Benachrichtigungen.

    Skriptbeispiele für E-Mail-Benachrichtigungen

    Eine einfache Zeichenfolge ist das grundlegendste Beispiel für die Funktionsweise eines Mail-Skripts. Dieses Skript gibt die „Incident-Nummer - INC00001“ aus.
    template.print("Incident number - "+ current.number);
    Weitere erweiterte Skripte wie dieses können durch Browsen in den E-Mail-Vorlagen des Basissystems gefunden werden.
    template.print("Summary of Requested items:<br />");  
    var now_GR = new GlideRecord("sc_req_item");
    now_GR.addQuery("request", current.sysapproval);
    now_GR.query();
    while(now_GR.next()) {
      template.print(now_GR.number + ":  " + now_GR.quantity + " X " + now_GR.cat_item.getDisplayValue() 
                       + " at " + now_GR.cat_item.price.getDisplayValue() + " each <br />");
    }
    Um Feldwerte in einer E-Mail dynamisch zu ändern, verwenden Sie die folgenden Funktionen innerhalb der <mail_script>-Syntax:
    ...
    email.setFrom(current.caller_id.email);
    email.setReplyTo("joe.employee@yourcompany.com");
    email.setSubject("This is the new subject line");
    email.setBody("This is the new body");
    ...
    Die Verwendung der Eigenschaft instance_name stellt sicher, dass die Benachrichtigung auch bei der Migration zwischen Instanzen weiterhin funktioniert.
    dothis();
     
    function dothis(){
        var now_GR =new GlideRecord('sys_attachment');
        now_GR.addQuery('table_sys_id',current.sys_id);
        now_GR.query();while(now_GR.next()){
            template.print('Attachment: <a href="https://'+ gs.getProperty('instance_name')+'             .service-now.com/sys_attachment.do?sys_id='+ now_GR.sys_id+'">'+ now_GR.file_name+'</a>');}}
    Sie können kopierte und blind kopierte Empfänger angeben, indem Sie das E-Mail-Objekt in einem Mail-Skript verwenden.
    //email.addAddress(type, address, displayname);
        email.addAddress("cc","john.copy@example.com","John Roberts");
        email.addAddress("bcc","john.secret@example.com","John Roberts");
    Im Folgenden finden Sie ein Beispielskript zum Hinzufügen von Benutzern aus watch_list als kopierte Empfänger.
    if(!current.watch_list.nil()){
       //get watch list addresses and add to cc
       var watcherIds = current.watch_list.split(",");
     
       //get user records
       var user = new GlideRecord("sys_user");
       user.addQuery("sys_id", watcherIds);
       user.addQuery("notification",2); 
       //email
       user.addQuery("email","!=","");
       user.query();
     
       while(user.next()){
          //add to cc list    
          email.addAddress("cc", user.email, user.getDisplayValue());}}