How-to Manage Dashboards Automatically
Dashboard creation can be repetitive and time consuming. This guide describes how to manage dashboards automatically.
Automatic pipelines can clone or update dashboards to define consistent dashboards with standard colors and layout. This automatic solution also clones queries as needed and sets query parameters automatically. Currently two pipelines are available to perform two types of activities.
Intended for
Configuration managers, quality control managers, release owners, and anyone who needs to create dashboards repeatedly.
Activities
Color a dashboard
A pipeline is available to update the color configuration of an existing dashboard. Run pipeline ColorMyDashboard directly from the OpEx project.
The pipeline can update the color configuration of an existing dashboard, even in a different Azure DevOps (ADO) organization, provided that the selected agent can connect to it. It sets colors according to the Color Guide.
The pipeline can set colors even if queries do not return data yet. For example, it can set the color of closed features before any features are closed, which is not possible when editing widget colors from the Web UI.
Tips and tricks: If your project is on premises, create a new branch or a copy of the pipeline to run on one of your agents connected to the ABB network.
Limitations: If the dashboard contains widgets created from the query page and later added to the dashboard, the pipeline cannot set the color of those widgets. In that case the pipeline logs a specific warning.
When starting the pipeline, specify parameters and variables as follows:
Parameter | Description |
---|---|
Branch | "main" or your own branch. |
Organization URL | URL of your organization. This can be different from the organization where the pipeline is running, e.g "https://dev.azure.com/ABB-BCI-PCP" |
Project Name | Name of the ADO project that contains the dashboard, e.g. "PCP". |
Dashboard Name | Name of the dashboard to update. |
Owner Name | (Optional) Name of the team or user that owns the dashboard. This is useful especially in case multiple dashboards with the same name exist. Specifying the name of the project where the owner team is defined can reduce the execution time, e.g. "[IOM]\Taiji". |
Variables > token | Token with permissions edit the dashboard. |
The expected time to complete this activity is about 1-5 minutes.
Clone dashboard and queries
A pipeline is available to clone a dashboard for a new increment, with all its widgets, layout, configuration, standard colors, and supporting queries.
Run pipeline CopyDashboard directly from the OpEx project. This pipeline can clone a dashboard in any given project, even in a different ADO organization from the pipeline location, provided that the selected agent can connect to it. The first version of the pipeline can clone a dashboard within the same project only, it does not support cloning from one project to another, but stay tuned...
Tips and tricks: If your project is on premises, create a new branch or a copy of the pipeline to run on one of your agents connected to the ABB network.
When starting the pipeline, specify parameters and variables as follows:
Parameter | Description |
---|---|
Branch | "main" or your own branch. |
Source Organization Name | Name of the ADO organization that contains the source dashboard to clone. |
Source Organization URL | URL of the ADO organization that contains the source dashboard to clone. |
Source Project Name | Name of the ADO organization that contains the source dashboard to clone. |
Target Organization Name | Name of the ADO organization where the new dashboard will be created. |
Target Organization URL | URL of the ADO organization where the new dashboard will be created. |
Target Project Name | Name of the ADO organization where the new dashboard will be created. |
Source Increment | Increment iteration in the source dashboard to be replaced in the new dashboard, e.g. "25.1". |
Target Increment | New value of the increment iteration in the new dashboard, e.g. "25.2". |
Start Date | Start date of the increment to visualize in burndown widgets, e.g. "2025-06-10". |
End Date | End date of the increment to visualize in burndown widgets, e.g. "2025-06-10". |
Source Dashboard Name | Name of the existing dashboard to clone. |
Source Owner Name | (Optional) Name of the team or user that owns the existing dashboard to clone. This is useful especially if multiple dashboards with the same name exist. Specifying the name of the project where the owner team is defined can reduce the execution time, e.g. "[IOM]\Taiji". |
Target Dashboard Name | Name of the new dashboard to be created in the target project and target organization. |
Target Query Root | Root under the "Shared Queries" folder where queries will be created. Any missing folders are created automatically. |
Variables > SourceToken | Token with permissions to read queries and dashboards. |
Variables >TargetToken | Token with permissions to create queries and dashboards in the target organization. If permissions are defined at query folder level in the target project, the user must have access to write queries in "Target Query Root". |
This pipeline clones the dashboard automatically and manages replacements to use data of the new increment:
- Create a clone of the source dashboard.
- Define the same widgets with the same size and position.
- Identify which widgets use queries and clone queries as needed.
- Replace the increment in path, name, widget title, query conditions, e.g. iteration path, tags.
- Set standard colors in all widgets where applicable for "Severity" and "State".
- Set start and end date in burndown widgets.
The expected time to complete this activity is about 1-5 minutes.
Details
In some cases, more advanced replacements are required, for example:
- Replace more items than the ones available as parameters.
- "Multiply" widget by a list of teams.
A possible approach is to edit the pipeline in a new branch and introduce more parameters or a custom script to achieve the desired result.