44 views

Symptoms


In Agile Development, when creating a scrum task from a story, if the "Assignment group" on the task is different from it's parent story "Assignment group", not all group members are available to be selected as "Assigned to".

Release


Kingston Patch 8

Cause


This is the Out-Of-Box expected behavior.

The "Assigned To" field on the "rm_scrum_task" table has a dictionary override that is set to use the following reference qualifier:

javascript:'sys_idIN'+ScrumSecurityManager.getScrumTaskDotAssignedTo(current);

This reference qualifier is calling "getScrumTaskDotAssignedTo" function on the script include "ScrumSecurityManager". This process will eventually call "getStoryDotAssignedTo" that returns the group members of the parent story:

getStoryDotAssignedTo: function (recRmStory) {
	var arrMemberSysIds = [];
	
	// Case 0: if assignment group is populated, return all members of it
	if (!recRmStory.assignment_group.isNil()) {
		var members = new GlideRecord('sys_user_grmember');
		members.addQuery('group', recRmStory.getValue('assignment_group'));
		members.query();
		while (members.next()) {
			arrMemberSysIds.push(members.getValue('user'));
		}
		if (arrMemberSysIds.length > 0)
			return arrMemberSysIds;
	}
 
 

Resolution


Changing this behavior requires customization, either by extending the ScrumSecurityManager or by not using the reference qualifier. As an example, unchecking "Override reference qualifier" on the "assigned_to" dictionary override for the "rm_scrum_task" table will revert the behavior to the "task" table dictionary definition, meaning that all group members that have the "itil" role will be listed.

Article Information

Last Updated:2018-09-06 06:46:49
Published:2018-09-05