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