We've updated the ServiceNow Community Code of Conduct, adding guidelines around AI usage, professionalism, and content violations. Read more

How to apply standard change task template to change task using script

AbdulH743269785
Tera Contributor

var changeGr = new GlideRecord("change_request");
changeGr.get("b39aba6b83462e104ae855a6feaad33b");

var versionGr = new GlideRecord("std_change_producer_version");
versionGr.get(changeGr.getValue('std_change_producer_version'))


var proposalGr = new GlideRecord("std_change_proposal");
proposalGr.get(versionGr.getValue('std_change_proposal'));

var relatedTaskTemplateGr = new GlideRecord("std_change_proposal_task");
relatedTaskTemplateGr.addQuery('std_change_proposal', proposalGr.getUniqueValue());
relatedTaskTemplateGr.orderBy('order');
relatedTaskTemplateGr.query();

var changeTaskGr = new GlideRecord("change_task");
while (relatedTaskTemplateGr.next()) {
    // changeTaskGr.initialize();
    //   changeTaskGr.setValue("change_request", changeGr.getUniqueValue());
    // changeTaskGr.applyEncodedQuery(relatedTaskTemplateGr.getValue('template'));
    // changeTaskGr.insert();
    changeTaskGr.getValue("d1cabe6b83462e104ae855a6feaad3ee");
     changeTaskGr.applyTemplate("taskdemo");
    GlideTemplate.get("9e3504cc47410200e90d87e8dee490e1").apply(changeGr);
    gs.print(changeTaskGr.getValue("assignment_group"))
    gs.print(relatedTaskTemplateGr.getValue('template'));
    changeGr.update()
   
}
i am using the above script the template is apply for standard change but not applied for change task template using apply template
1 REPLY 1

YaswanthKurre
Tera Guru

HI @AbdulH743269785 ,

 

  • applyTemplate() must be called before insert() and Ensure the template is published and active.

try this script: 

var changeGr = new GlideRecord("change_request");
if (changeGr.get("b39aba6b83462e104ae855a6feaad33b")) {

    var versionGr = new GlideRecord("std_change_producer_version");
    if (versionGr.get(changeGr.getValue('std_change_producer_version'))) {

        var proposalGr = new GlideRecord("std_change_proposal");
        if (proposalGr.get(versionGr.getValue('std_change_proposal'))) {

            var relatedTaskTemplateGr = new GlideRecord("std_change_proposal_task");
            relatedTaskTemplateGr.addQuery('std_change_proposal', proposalGr.getUniqueValue());
            relatedTaskTemplateGr.orderBy('order');
            relatedTaskTemplateGr.query();

            while (relatedTaskTemplateGr.next()) {
                var changeTaskGr = new GlideRecord("change_task");
                changeTaskGr.initialize();
                changeTaskGr.setValue("change_request", changeGr.getUniqueValue());

                // Apply the task template
                var templateSysId = relatedTaskTemplateGr.getValue('template');
                if (templateSysId) {
                    changeTaskGr.applyTemplate(templateSysId);
                }

                // Insert the task after applying the template
                changeTaskGr.insert();
            }
        }
    }
}

 

Mark this as helpful and correct, if this solves your issue.

 

 

Thanks,

Yaswanth