Migration best practices for Rich Filters for Jira Dashboards DC to Cloud

Migration best practices for Rich Filters for Jira Dashboards DC to Cloud

Learn to troubleshoot migration errors and resolve issues with status indicators and progress percentages on the migration details page.

Before you start

  • Review the migration guide: →Migration to Cloud.

How to read migration logs?

System admins can access logs from the migration details page → Rich Filters for Jira dashboards → View logs.

Navigate to <Jira Base URL>/secure/migration-app-action.jspa#/monitor, and look for the recent migration. Click View details to view the app migration process.

2025-09-23_19-15-45.png

Scroll to the bottom of the screen to find the app, and click the Menu icon (Menu.png) and select View logs.

Let’s see an example below:

Line #2 provides detailed migration information:

Processed (64%); rich filters: 3230/3230 migrated; dashboards: 228/2137 migrated (1895 not mapped, 14 failed

The message says that:

  • 3230/3230 rich filters migrated - All rich filters were successfully migrated

  • 228/2137 dashboards migrated - Only 228 out of 2137 dashboards were migrated

  • 1895 not mapped - These dashboards weren't selected in JCMA, so they weren't migrated (this is expected behavior with Smart Migration)

  • 14 failed - These dashboards encountered errors during migration

For a better understanding of not-mapped dashboards, it appears that not all the projects/dashboards were selected as part of the migration – that's why it shows 1895 dashboards as unmapped, and the reason why they are not migrated. To confirm the selection part, you can check the top of the screen of this migration page, which has details about the projects/filters/dashboards selected for this specific migration. When you select specific projects/dashboards, Jira only sends the dashboards associated with those selected projects. Dashboards outside this scope won't have mapping, so the system counts them as "not migrated," which affects your success percentage.

You can identify the 14 failed dashboards from the logs themselves to better understand them. Line #4 lists dashboard IDs from DC to Cloud (example: 23524->10290). In most cases, the dashboards failed due to a permissions issue.

"INFO","2025-05-11T14:05:13.739Z","Notified cloud app " "INFO","2025-05-11T14:05:08.107Z","App migration settled by Cloud app with status INCOMPLETE, percent 64 and message : Processed (64%); rich filters: 3230/3230 migrated; dashboards: 228/2137 migrated (1895 not mapped, 14 failed)" "INFO","2025-05-11T14:05:07.231Z","App migration updated by Cloud app with status IN_PROGRESS, percent 64 and message : Report: For more info see https://appfire.atlassian.net/wiki/x/VwTjLw" "INFO","2025-05-11T14:05:06.451Z","App migration updated by Cloud app with status IN_PROGRESS, percent 64 and message : Report: 14 dashboards not migrated due to errors: 23524->10290, 48616->10063, 49403->10126, 49600->10188, 49732->10456, 49815->10119, 53100->10377, 54017->10478, 55605->10386, 65422->10402, 68409->10436, 68410->10437, 103602->10307, 119500->10055" "INFO","2025-05-11T14:05:05.874Z","App migration updated by Cloud app with status IN_PROGRESS, percent 64 and message : Report: 1895 dashboards not found on Cloud [1335 – 1895]: "INFO","2025-05-11T14:05:05.315Z","App migration updated by Cloud app with status IN_PROGRESS, percent 64 and message : Report: 1895 dashboards not found on Cloud [0 – 1334]: "INFO","2025-05-11T14:01:37.120Z","App migration updated by Cloud app with status IN_PROGRESS, percent 63 and message : Processing (63%); rich filters: 3230/3230 migrated; dashboards: 196/2137 migrated (1895 not mapped, 14 failed)" "INFO","2025-05-11T14:01:14.869Z","App migration updated by Cloud app with status IN_PROGRESS, percent 63 and message : Processed (63%); rich filters: 3230/3230 migrated; dashboards: 196/2137 migrated (1895 not mapped, 14 failed)" "INFO","2025-05-11T13:53:29.868Z","App migration updated by Cloud app with status IN_PROGRESS, percent 62 and message : Processing (62%); rich filters: 3230/3230 migrated; dashboards: 157/2137 migrated (1895 not mapped, 10 failed)" "INFO","2025-05-11T13:53:12.901Z","App migration updated by Cloud app with status IN_PROGRESS, percent 62 and message : Processed (62%); rich filters: 3230/3230 migrated; dashboards: 157/2137 migrated (1895 not mapped, 10 failed)" "INFO","2025-05-11T13:45:22.844Z","App migration updated by Cloud app with status IN_PROGRESS, percent 61 and message : Processing (61%); rich filters: 3230/3230 migrated; dashboards: 100/2137 migrated (1895 not mapped, 5 failed)" "INFO","2025-05-11T13:45:06.749Z","App migration updated by Cloud app with status IN_PROGRESS, percent 61 and message : Processed (61%); rich filters: 3230/3230 migrated; dashboards: 100/2137 migrated (1895 not mapped, 5 failed)" "INFO","2025-05-11T13:37:20.170Z","App migration updated by Cloud app with status IN_PROGRESS, percent 60 and message : Processing (60%); rich filters: 3230/3230 migrated; dashboards: 41/2137 migrated (1895 not mapped, 2 failed)" "INFO","2025-05-11T13:37:02.208Z","App migration updated by Cloud app with status IN_PROGRESS, percent 60 and message : Processed (60%); rich filters: 3230/3230 migrated; dashboards: 41/2137 migrated (1895 not mapped, 2 failed)" "INFO","2025-05-11T13:29:19.113Z","App migration updated by Cloud app with status IN_PROGRESS, percent 53 and message : Processing (53%); rich filters: 2894/3230 migrated; dashboards: 0/2137 migrated (1895 not mapped)" "INFO","2025-05-11T13:28:59.458Z","App migration updated by Cloud app with status IN_PROGRESS, percent 53 and message : Processed (53%); rich filters: 2894/3230 migrated; dashboards: 0/2137 migrated (2137 not mapped)" "INFO","2025-05-11T13:21:19.403Z","App migration updated by Cloud app with status IN_PROGRESS, percent 30 and message : Processing (30%); rich filters: 1600/3230 migrated; dashboards: 0/2137 migrated (1895 not mapped)" "INFO","2025-05-11T13:20:48.543Z","App migration updated by Cloud app with status IN_PROGRESS, percent 30 and message : Processed (30%); rich filters: 1600/3230 migrated; dashboards: 0/2137 migrated (2137 not mapped)" "INFO","2025-05-11T13:13:25.426Z","App migration updated by Cloud app with status IN_PROGRESS, percent 0 and message : Migrating 3230 rich filter(s) and 2137 dashboard(s)" "INFO","2025-05-11T13:13:25.402Z","App migration updated by Cloud app with status IN_PROGRESS, percent 0 and message : Migrating 3230 rich filter(s) and 2137 dashboard(s)" "INFO","2025-05-11T13:13:23.198Z","App migration updated by Cloud app with status IN_PROGRESS, percent 0 and message : Migrating 3230 rich filter(s) and 2137 dashboard(s)" "INFO","2025-05-11T13:13:22.397Z","App migration updated by Cloud app with status IN_PROGRESS, percent 0 and message : Migrating 3230 rich filter(s) and 2137 dashboard(s)" "INFO","2025-05-11T13:13:19.797Z","App migration updated by Cloud app with status IN_PROGRESS, percent 0 and message : Processing (0%); rich filters: 0/3230 migrated; dashboards: 0/2137 migrated (1895 not mapped)" "INFO","2025-05-11T11:59:21.700Z","Notified cloud app about app data upload. Details : 606e79e5-18d2-4ea9-a012-8c23b95ce8b9."


How to migrate the failed dashboards?

To migrate those 14 failed dashboards from the above example, you can follow one the following ways:

  • Option 1: Change the dashboard share configurations in Cloud to let the app edit them, then re-run the migration ( by running a new migration that only enables the app should give the same results).

  • Option 2: Delete the failed dashboards on Cloud, modify the dashboard share configurations in DC, then run a new migration with “All dashboards” and the app enabled.


The correctly migrated rich filters and dashboards remain unchanged, and no duplicates are created.


Permissions

  • The permissions of these failed dashboards can be changed to:

    • remove all the project role shares (from both Viewers and Editors)

    • share with logged-in users (Viewers)

    This allows the app to edit the dashboards on Cloud. Once the dashboard migration is complete, you can restore the desired share permissions on these 14 dashboards on Cloud.

How to migrate the unmapped dashboards?

To migrate all 1895 unmapped dashboards from our example, run a new migration for the app with a simple placeholder project, choosing All Dashboards in the configuration screen.

Ongoing issues:

  1. Failed dashboards usually result from permissions issues. The logs show that dashboards fail when the app tries to add permissions and bulk edit them. Here's the typical error:

    Error migrating dashboard java.lang.RuntimeException: bulkEditDashboard errors: {12979=BulkEditActionError[errors={}, errorMessages=[Invalid type given. Should be one of [USER, PROJECT, GROUP, PROJECT_ROLE, GLOBAL, AUTHENTICATED]]]} at com.qoti.rfc.jira.JiraDashboardService.bulkEditDashboard(JiraDashboardService.java:280) com.qoti.rfc.service.MigrationDashboardsService.loadCloudDashboard(MigrationDashboardsService.java:303)

We opened a ticket with Atlassian developer support → ECOHELP-69403, and their team will continue investigating this issue as part of JRACLOUD-95037. Meanwhile, follow the steps in How to migrate the failed dashboards as a workaround for successful migration.

  1. Cloud allows a maximum of 20 gadgets per dashboard. If your data center has more gadgets configured, either:

    • check with Atlassian support to increase the limit on Cloud

    • remove the unused/unimportant gadgets in DC
      The error looks like:

      Cannot add another gadget. The maximum number of gadgets the dashboard can hold has been reached."],"errors":{}}" for Dashboard: id=16685, name=Scrumchamps and Northstar- Anurag

       

  2. Cloud supports a maximum of 7,500 Rich Filters, while Server/DC has unlimited capacity. To learn more, see Feature parity – Cloud vs Data Center comparison | Rich Filters Global Functionality. Contact us if you need to increase the Cloud limit before starting migration. Note that even with the default 7,500 limit, all your Rich Filters can still migrate successfully.

Need support? Create a request with our support team.

Copyright © 2005 - 2026 Appfire | All rights reserved.