0

请帮助我如何配置突出显示的点。它将达到 SLA

示例 --- 在“temp”表中如果我们创建出站票证,入站条目响应将在“fact”表中收到。

事实表中的入站响应应该在字符串中获得“Accepted by”的消息(示例字符串是 - “'[xMatters] - xM event ID 1576000 received response Accepted by reddyjej (Work Email)”)。

如果入站响应接受是在出站票创建时间的 3 小时内,那么我们需要将其分配给受尊重的用户(在入站响应接受后)和他的默认分配组。

如果没有在 180 分钟内出现,则被工作笔记接受然后分配给指定的组 BI-ITINF-1TOC //我将它存储在属性中并在代码中使用它。(我需要为此使用业务规则吗?如果是我能怎么做?)

这里`我使用了onAfter Transform脚本。源表是具有入站条目的事实,目标表是具有出站票证的临时表

(function runTransformScript(source, map, log, target /*undefined onStart*/ ) {

    // Add your code here
    var outbound = target.sys_created_on;
    var inbound = source.sys_created_on;   
    var inboundTime = new GlideDateTime(inbound);
    var outboundTime = new GlideDateTime(outbound);
    var durCheck = GlideDateTime.subtract(outboundTime, inboundTime).getNumericValue();
       
    gs.info("HJ:outboundTime" + outboundTime);
  
    gs.info("HJ:inboundTime" + inboundTime);
    
    var worknotes = source.task_work_notes;
    var n = worknotes.indexOf('Accepted by');
    var user = worknotes.substring(n + 12, worknotes.indexOf('(Work'));
    gs.info("HJ:user"+user);
    gs.info("HJ:durCheck" + durCheck);
    if (n >-1 ){                               //checking if the worknotes has Accepted by
    if (durCheck <= 10800000) { //3hrs in milliseconds 

        var gr = new GlideRecord("sys_user");
        gr.addQuery('user_name', user);
        gr.query();
        if (gr.next()) {
            target.assigned_to = gr.sys_id;
            var assignee = gr.sys_id;
        }
      //  target.update();
        var grmem = new GlideRecord("sys_user_grmember");
        grmem.addQuery('user', assignee);
        grmem.addEncodedQuery('group.typeLIKEf7b1ac3adb70ff802d3bff371d9619ad^group.active=true');
        grmem.orderByDesc('sys_created_on');
        grmem.query();
        if (grmem.next()) {
            target.assignment_group = grmem.group;
        }
       // target.update();
    } else {
        target.assignment_group = gs.getProperty('x_xma_xmatters.xmatters.set.assignment.group');
    }
    //target.update();
    }else if(durCheck >10800000 ){
        target.assignment_group = gs.getProperty('x_xma_xmatters.xmatters.set.assignment.group');
    }
    target.update();
    
})(source, map, log, target);

4

0 回答 0