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

Offical Documentation

Official Docs: