Name
global.AgileBoardMetaDataCommonUtil
Description
No description available
Script
var AgileBoardMetaDataCommonUtil = Class.create();
AgileBoardMetaDataCommonUtil.basePreferencePrefix = 'com.snc.agile_board.';
AgileBoardMetaDataCommonUtil.maxSprintLimit = 10;
AgileBoardMetaDataCommonUtil.getMaxSprintLimit = function() {
return this.maxSprintLimit;
};
AgileBoardMetaDataCommonUtil.getTabTitles = function() {
return new JSON().encode({
BACKLOG_PLANNING: gs.getMessage('Backlog Planning'),
SPRINT_PLANNING: gs.getMessage('Sprint Planning'),
SPRINT_TRACKING: gs.getMessage('Sprint Tracking'),
PROGRAM_BACKLOG: gs.getMessage('Scrum Program Backlog'),
PROGRAM_BOARD: gs.getMessage('Scrum Program Board')
});
};
AgileBoardMetaDataCommonUtil.isMultiTaskActive = function() {
return pm.isActive('com.snc.sdlc.agile.multi_task');
};
AgileBoardMetaDataCommonUtil.isScrumProgramActive = function() {
return pm.isActive('com.snc.sdlc.scrum_program');
};
AgileBoardMetaDataCommonUtil.isTestMgmtActive = function() {
return pm.isActive('com.snc.test_management.2.0');
};
AgileBoardMetaDataCommonUtil.getPreference = function(pKey) {
return gs.getPreference(this.basePreferencePrefix + '' + pKey);
};
AgileBoardMetaDataCommonUtil.setDefaultPreference = function(pKey) {
var result = this.getPreference(pKey);
if(result == null) {
gs.getUser().savePreference(this.basePreferencePrefix + pKey, true);
return true;
} else {
return this.getBooleanPreference(pKey);
}
};
AgileBoardMetaDataCommonUtil.getBooleanPreference = function(pKey, pVal) {
return gs.getBooleanPreference(this.basePreferencePrefix + '' + pKey, pVal);
};
AgileBoardMetaDataCommonUtil.getBacklogListConfig = function() {
return {
'epic.short_description': this.getBooleanPreference('backlog.config.epic.short_description', true),
'product.name': this.getBooleanPreference('backlog.config.product.name', false),
'assignment_group.name': this.getBooleanPreference('backlog.config.assignment_group.name', false),
'release.short_description': this.getBooleanPreference('backlog.config.release.short_description', false)
};
};
AgileBoardMetaDataCommonUtil.getSprintPlaningListConfig = function() {
return {
'epic.short_description': this.getBooleanPreference('sprint_planning.config.epic.short_description', true),
'product.name': this.getBooleanPreference('sprint_planning.config.product.name', false),
'assignment_group.name': false,
'release.short_description': this.getBooleanPreference('sprint_planning.config.release.short_description', false)
};
};
AgileBoardMetaDataCommonUtil.getBacklogQueryForGroup = function(groupId) {
var query = '^sys_class_name=rm_story^active=true^sprintISEMPTY';
if(this.isMultiTaskActive())
query += '^original_task.active=true';
if(JSUtil.notNil(groupId))
query += '^assignment_group=' + groupId;
return query;
};
AgileBoardMetaDataCommonUtil.getSprintChoices = function() {
return {
DRAFT: '-6',
PLANNING: '1',
CURRENT: '2',
COMPLETE: '3',
CANCELLED: '4'
};
};
AgileBoardMetaDataCommonUtil.canStartSprint = function(sprint){
var sprintChoices = this.getSprintChoices();
var sprintState = sprint.getValue('state');
if (sprintState === sprintChoices.DRAFT || sprintState === sprintChoices.PLANNING) {
var count = new GlideAggregate('rm_sprint');
count.addQuery('sys_class_name', 'rm_sprint');
count.addQuery('state', sprintChoices.CURRENT);
count.addQuery('assignment_group', sprint.assignment_group);
count.addAggregate('COUNT');
count.query();
var currentSprints = 0;
if (count.next())
currentSprints = parseInt(count.getAggregate('COUNT'));
return (currentSprints === 0);
}
return false;
};
Sys ID
8625bd775bd2030036c32c1cf0f91af4