useTeamsService = true in the widget configuration. When active, Teams Service data overrides plan capacity values for swimlanes.
Overview
Configuration Properties
The Teams Service behavior is governed by the following widget and system configuration properties. See Teams Service Properties for full system-level configuration.Widget Parameters
System Configuration Properties
These properties are set at the Polarion administration level, not per widget instance.Teams Data Model
Team Work Item
Teams are represented as Polarion work items. The Teams Service retrieves and queries these items by project and team ID.
Teams may exist in a supporting project and be assigned to the current project. The Teams Service automatically remaps team IDs when the team work item originates from a supporting project.
Team Assignment Work Item
Team membership is defined via team assignment work items. These items carry date range fields used when filtering active members:
Users whose assignment work items cannot be resolved are excluded from results.
Method Reference
getTeamItem
Retrieves the Polarion work item representing a specific team.
Returns: The team work item. Team IDs are automatically remapped if the team exists in a supporting project rather than the project specified.
Notes:
- Use this method when you need access to team work item fields, including capacity modifier fields.
- Returns
nullif no matching team is found.
getTeams
Retrieves all teams configured for a specific project, including teams from supporting projects that are assigned to this project.
Returns: A collection of team work items.
Notes:
- The query includes both teams defined directly in the project and teams in supporting projects that have been assigned to this project.
- Results ordering follows the underlying Polarion query order.
Whether archived or inactive teams are included in results has not been confirmed from available source context. Verify against the live application.
getTeamUserIds (basic)
Retrieves the collection of user IDs belonging to a team.
Returns: A collection of user ID strings for all members of the team.
getTeamUserIds (filtered)
Retrieves team user IDs with optional active-only filtering and date range constraints.
Returns: A filtered collection of user ID strings.
Notes:
- Date-range filtering uses the
fromandtofields on team assignment work items. A member is included if their assignment overlaps the requested date range. - When
activeOnlyistrue, members whose assignment has ended before the request date are excluded.
The exact definition of “active” (e.g. whether it checks
to against today’s date vs. the from/to range) should be verified against the live application.getTeamUsers (basic)
Retrieves full user objects for all team members.
Returns: A collection of Polarion
IUser objects.
Notes:
- Users that cannot be resolved from Polarion (e.g. deleted accounts) are excluded from results.
- For large teams, this method resolves full user profile data for each member.
getTeamUsers (filtered)
Retrieves full user objects for team members with active-only filtering and date range constraints.
Returns: A filtered collection of Polarion
IUser objects. Unresolvable users are excluded.
getTeamCapacity (Date variant)
Calculates the total team capacity in work hours for a date range, using Date objects (includes time component).
Returns: Total team capacity as a numeric value in hours.
Calculation:
Capacity is computed as the sum of individual user capacities across all team members for the date range:
- Working hours per day (from the user’s or fallback calendar)
- Off days and holidays
- The user’s assignment percentage within the team
nextedy.gantt.useTeamCapacityModifiers = true, the total is further reduced by the capacity modifier percentages (capModA, capModB) defined on the team work item.
getTeamCapacity (DateOnly variant)
Calculates total team capacity for a date range using DateOnly objects (no time component).
Returns: Total team capacity in hours.
Notes:
- Use this variant when the caller works with date-only values (e.g. Plan start/end dates with no time precision).
- Results are equivalent to the
Datevariant for full-day ranges; preferDateOnlywhen time zone ambiguity could affect boundary calculations.
getUserCapacity (Date variant)
Calculates an individual user’s capacity within a team for a date range, using Date objects.
Returns: The user’s available capacity in hours for the given range.
Calculation:
workingHourscounts working days in the range, excluding off days from the user’s calendar (or the fallbackcalendarHoldercalendar, or the system default).assignmentPercentageis the user’s allocation percentage within the team assignment work item.- Users split across multiple teams have their capacity calculated independently per team.
getUserCapacity (DateOnly variant)
Calculates an individual user’s capacity within a team for a date range, using DateOnly objects.
Returns: The user’s available capacity in hours.
Notes:
- Functionally equivalent to the
Datevariant for whole-day ranges. - Preferred when working with Plan date fields that carry no time component.
getTeamUserCapacities
Returns a map of all team members’ individual capacities for a date range.
Returns:
Map<String, Float> — a map where keys are user ID strings and values are individual capacity hours (as floating-point numbers).
Example structure:
- Use this method to display per-member capacity breakdowns alongside the capacity bar.
- Unresolvable users are excluded from the map.
Capacity Calculation Flow
Integration with Widget Configuration
Enabling Teams Service
useTeamsService = true, the Teams Service provides capacity values for the capacity bar in each swimlane, overriding the plan’s own capacity field. See Capacity Parameters for related widget parameters.
Assignment Mode Interaction
The Teams Service integrates with the Users (Assignee) assignment mode (ASSIGNEE). When useTeamsService = true and assignmentMode = ASSIGNEE, swimlanes are populated from team membership rather than all Polarion users. Filtering by selectedTeam restricts the displayed swimlanes to members of that team.
See Assignee Mode for full details on how user swimlanes are populated.
SAFe Mode Interaction
In the SAFe assignment modes — Program / Solution Teams (SAFe) (SAFE_TEAM) and Agile Release Train Teams (SAFe) (SAFE_TRAIN_TEAM) — the Teams Service may be used to retrieve capacity data for SAFe teams. See SAFe Team Mode for configuration details.
Configuration Example
The following example configures a Planningboard widget to use the Teams Service for a sprint Planningboard, showing team member swimlanes with per-user capacity.- Swimlanes display only members of team
TEAM-42. - Each swimlane’s capacity bar reflects the user’s working hours for the Plan date range, adjusted by their assignment percentage.
- The team’s overall capacity is further reduced by the
capModAmodifier field on theTEAM-42work item. - When no user calendar exists,
john.smith’s calendar is used as the fallback.
Limitations
Related Pages
- Teams Service Properties — system-level configuration properties
- Capacity Parameters — widget parameters controlling capacity display
- Assignee Mode — swimlane assignment by user, with Teams Service integration
- SAFe Team Mode — SAFe team swimlanes
- Scripting API — scripting API overview
- API Reference — full API index
Sources
Sources
KB Articles
- Planningboard: Customizable Statistics and Capacity Indicators
PlanningBoardApiServlet.javaPlanningBoardWidgetRenderer.javaPlanningBoardDataService.javaIPlanningBoardTeamsService.javaConfig.java