Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

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