Skip to main content

Overview

Data scripts run server-side during the board rendering lifecycle. They let you intercept the data pipeline — adjusting queries, modifying assignment logic, or reshaping the items that appear in swimlanes and columns — without touching widget parameters.

Before You Begin

  • You need access to the Planningboard widget configuration on a Polarion LiveDoc or Wiki page.
  • Data scripts are Groovy/Velocity expressions evaluated on the Polarion server. Syntax errors surface as board-level error messages; see Script Errors for how to diagnose them.
  • Review the widget parameters your board already uses — data scripts augment, not replace, them. See Widget Parameters Overview.
1

Locate the Script Field in the Widget

  1. Open the Polarion page containing the Planningboard widget.
  2. Enter edit mode and open the widget’s parameter panel.
  3. Scroll to the Advanced section. The script fields are listed there.
The exact field label for data scripts in the widget parameter panel — confirm it against the live product before relying on the label shown here.
2

Understand the Data Pipeline Properties

The following properties from the board configuration control how data is loaded. Data scripts operate within the bounds these properties establish.
Capacity-related configuration properties are whitespace-sensitive. Trailing spaces in property values cause silent miscalculations. Always copy property names exactly as shown — do not add spaces before or after = separators.
3

Write a Data Script

Data scripts can reference the above properties to apply runtime logic. A typical pattern adjusts the work item query based on context — for example, restricting items to a specific type or excluding resolved items.Example: restrict the board to unresolved stories
Place this expression in the work item Query field. This is a Lucene query — not a script — but the same field accepts scripted expressions when page parameters are involved. For dynamic filtering using page parameters, see Dynamic Filtering with Page Parameters.Example: filter Plans by a date-range expression
Set this in the Plans query field. The Plans Type must be set to Project Plans (PROJECT_PLANS) for a plain Lucene plansQuery to take effect; SAFe modes auto-set their own plan filters.
4

Control Assignment at Data Load Time

When the Assignment Type is set to Enumeration Field (ENUM), the board groups cards by an enumeration field. To restrict which enum values appear as swimlanes, use the swimlane filtering options rather than a data script — see Enumeration Field Swimlanes.When the Assignment Type is set to Parent Item (PARENT), the board groups cards under parent work items matched by a Lucene query. Supply that query in the parent-query field.
assignmentMode = PARENT is incompatible with planCellsMode. Enabling both produces undefined layout behavior. Use the Users (Assignee) (ASSIGNEE) or Enumeration Field (ENUM) mode if you need capacity normalization across swimlanes.
5

Configure Capacity Data Loading

Capacity-aware data loading is controlled by three boolean properties. Set them in the widget parameters panel:To use a custom effort field instead of Polarion time-tracking fields, set capacityField to the custom field ID (for example, storyPoints). The hoursPerDay property (default 8) converts time-based estimates to day units for the capacity bar.
Setting useTeamsService = true activates the Teams Service integration, which provides team member lists, per-user capacity, and vacation data. This overrides plan.capacity values with team-sourced figures. See Set Up Teams Service for the prerequisite configuration.
6

Limit the Dataset for Performance

If the board renders slowly, lower maxItems (default 1000). A tighter query or wiType filter reduces the working set more precisely than maxItems alone.
Reducing nextPlans from 5 to 3 — or narrowing lastPlans to 0 — noticeably cuts the plan-loading step.

Verification

After saving the widget with your data script changes:
  1. Exit edit mode and let the board reload.
  2. Check that the swimlanes and columns show only the expected items.
  3. If the board shows an error banner instead of cards, open browser developer tools and look for the script-error message, then consult Script Errors.
You should now see the board rendering only the work items and Plans that match your query and assignment configuration, with capacity bars (if enabled) reflecting the correct effort totals per swimlane.
When the Plans Type is set to a SAFe value — SAFe Sprints in Program (SAFE_SPRINTS), SAFe Sprints in Portfolio (SAFE_PFL_SPRINTS), SAFe Program Increments in Program (SAFE_PIS), or SAFe Program Increments in Solution (SAFE_SOLUTION) — the plan filter is determined automatically from the SAFe Solution structure. A manually entered plansQuery value is ignored in these modes.

See Also

KB Articles
  • Planningboard: Customizable Statistics and Capacity Indicators
  • Planningboard Widget Parameters
Support TicketsSource Code
  • Config.java
  • viewSetup.vm
  • PlanningBoardWidgetRenderer.java
  • PlanningBoardWidget.java
  • PlanningBoardDataService.java
Last modified on July 10, 2026