嵌入调查的ServiceNow电子邮件通知

时间:2018-07-19 21:19:30

标签: dom survey servicenow jelly

我已经看到其他开发人员创建了电子邮件通知,并嵌入了调查的第一个问题。 https://community.servicenow.com/community?id=community_question&sys_id=32f20ba1dbd8dbc01dcaf3231f961948

就我而言,我将5张笑脸从“非常不满意”(1)发送到“非常满意”(5)。客户单击时,每个笑脸都有一个评分/分数。单击后,我希望将调查等级填充到调查表格上的相应等级,然后允许用户填写其余的问题。
我有通知正常工作,每个笑脸都有带有适当等级参数的调查链接。 我没有使用gelly或DOM的经验。 谁能分享我可以用来完成此任务的适当代码?还是引导我朝正确的方向前进? 非常感谢。 Notification Email

1 个答案:

答案 0 :(得分:0)

所以听起来很像ask。我回答了这个问题,并将其发布在我的blog here上。

您几乎需要使用url参数在电子邮件中动态建立链接,并处理重定向(如果有)或消息;如果您的链接采用以下格式,则可能会起作用;

https://instance.service-now.com/custom_survey_response.do?response=1&incident=INC12345

<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
  <g2:evaluate var="jvar_unwrapped_url" jelly="true">
    var currentUser = gs.getUserID();
    var incidentFromURL = RP.getParameterValue('incident');
    var responseFromURL = RP.getParameterValue('response');
    var link = '';
    var incident = new GlideRecord('incident');
    if(incident.get('number', incidentFromURL)) { //found incident
      // query survey tables, and do an insert on appropriate tables
      // currentUser is string of user sys_id,
      // incident is gliderecord of incident
      // responseFromURL is the numeric value set by the url param in your notification
    }
  </g2:evaluate>
  ${gs.getMessage("Thanks for your response")}
</j:jelly>