Name
global.Agile_Multi_Task_AjaxProcessor
Description
Processor for Agile Multi Task
Script
var Agile_Multi_Task_AjaxProcessor = Class.create();
Agile_Multi_Task_AjaxProcessor.prototype = Object.extendsObject(AbstractAjaxProcessor, {
addRecordsToBacklog: function() {
var result = this.newItem('result');
var gr = GlideRecord('rm_story');
if(!gr.canCreate()) {
result.setAttribute('status', 'error');
result.setAttribute('message', 'You do not have access to create story.');
return 'false';
}
var records = this.getParameter('sysparm_records');
var tableName = this.getParameter('sysparm_table_name');
var backlogDefinition = this.getParameter('sysparm_backlog_definition');
var backlogReocord = new GlideRecord('backlog_definition');
backlogReocord.get(backlogDefinition);
var backlogQuery = backlogReocord.filter;
var taskRecord = new GlideRecord(tableName);
taskRecord.addQuery('sys_id', 'IN', records);
taskRecord.addNullQuery('agile_story');
taskRecord.query();
var totalCount = taskRecord.getRowCount();
var satisfiedQueryCnt = 0;
var storyIds = [];
while(taskRecord.next()){
var storyRecord = new GlideRecord('rm_story');
storyRecord.initialize();
storyRecord.applyEncodedQuery(backlogQuery);
storyRecord.short_description = taskRecord.short_description;
storyRecord.backlog_definition = backlogDefinition;
storyRecord.original_task = taskRecord.sys_id;
var sysId = storyRecord.insert();
if(sysId) {
var story = new GlideRecord('rm_story');
if(story.get(sysId) && GlideFilter.checkRecord(story, backlogQuery)){
satisfiedQueryCnt++;
}
storyIds.push(sysId);
taskRecord.setValue('agile_story', sysId);
taskRecord.setWorkflow(false);
taskRecord.update();
}
}
result.setAttribute('status', 'success');
result.setAttribute('backlogId', backlogDefinition);
result.setAttribute('totalCount', totalCount);
result.setAttribute('satisfiedQueryCnt', satisfiedQueryCnt);
result.setAttribute('storyIds', storyIds.join());
return 'true';
},
type: 'Agile_Multi_Task_AjaxProcessor'
});
Sys ID
d1f7eb4a5b81030036c32c1cf0f91a03