The "View Settings" page of a Roadmap plan is blank due to an invalid "Colour by" configuration

Still need help?

The Atlassian Community is here for you.

Ask the community

Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.

Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

    

Summary

When clicking on the View Settings link from an Advanced Roadmap plan, the user is presented with a blank page along with the error "Something went wrong":


After clicking on the View Log button, the following stack trace is shown:


Stack trace details:

Stack Trace
Uncaught TypeError: Cannot read properties of undefined (reading 'name')

TypeError: Cannot read properties of undefined (reading 'name')
    at https://linux-31012.prod.atl-cd.net/jira/s/d41d8cd98f00b204e9800998ecf8427e-CDN/zdizrv/820015/1dlckms/8.20.15/_/download/batch/com.atlassian.jpo:jpo-wr-page-simple-plans-scripts/com.atlassian.jpo:jpo-wr-page-simple-plans-scripts.js:5:1328412
    at Array.map (<anonymous>)
    at n.issueTypeIdsToOptions (https://linux-31012.prod.atl-cd.net/jira/s/d41d8cd98f00b204e9800998ecf8427e-CDN/zdizrv/820015/1dlckms/8.20.15/_/download/batch/com.atlassian.jpo:jpo-wr-page-simple-plans-scripts/com.atlassian.jpo:jpo-wr-page-simple-plans-scripts.js:5:1328347)
    at https://linux-31012.prod.atl-cd.net/jira/s/d41d8cd98f00b204e9800998ecf8427e-CDN/zdizrv/820015/1dlckms/8.20.15/_/download/batch/com.atlassian.jpo:jpo-wr-page-simple-plans-scripts/com.atlassian.jpo:jpo-wr-page-simple-plans-scripts.js:5:1329683
    at Array.map (<anonymous>)
    at n.value (https://linux-31012.prod.atl-cd.net/jira/s/d41d8cd98f00b204e9800998ecf8427e-CDN/zdizrv/820015/1dlckms/8.20.15/_/download/batch/com.atlassian.jpo:jpo-wr-page-simple-plans-scripts/com.atlassian.jpo:jpo-wr-page-simple-plans-scripts.js:5:1331086)
    at Oi (https://linux-31012.prod.atl-cd.net/jira/s/d41d8cd98f00b204e9800998ecf8427e-CDN/zdizrv/820015/1dlckms/8.20.15/_/download/batch/com.atlassian.jpo:jpo-wr-page-portfolio-frontend-vendor-scripts/com.atlassian.jpo:jpo-wr-page-portfolio-frontend-vendor-scripts.js:63:62954)
    at ki (https://linux-31012.prod.atl-cd.net/jira/s/d41d8cd98f00b204e9800998ecf8427e-CDN/zdizrv/820015/1dlckms/8.20.15/_/download/batch/com.atlassian.jpo:jpo-wr-page-portfolio-frontend-vendor-scripts/com.atlassian.jpo:jpo-wr-page-portfolio-frontend-vendor-scripts.js:63:62749)
    at zi (https://linux-31012.prod.atl-cd.net/jira/s/d41d8cd98f00b204e9800998ecf8427e-CDN/zdizrv/820015/1dlckms/8.20.15/_/download/batch/com.atlassian.jpo:jpo-wr-page-portfolio-frontend-vendor-scripts/com.atlassian.jpo:jpo-wr-page-portfolio-frontend-vendor-scripts.js:63:66587)
    at La (https://linux-31012.prod.atl-cd.net/jira/s/d41d8cd98f00b204e9800998ecf8427e-CDN/zdizrv/820015/1dlckms/8.20.15/_/download/batch/com.atlassian.jpo:jpo-wr-page-portfolio-frontend-vendor-scripts/com.atlassian.jpo:jpo-wr-page-portfolio-frontend-vendor-scripts.js:63:90412)


Environment

  • Jira Software Server / Data Center on any version 8.0.0
  • Advanced Roadmap (formerly called Portfolio) on any version compatible with Jira 8.x

Diagnosis

  • Open the Browser Dev Tool, click on the Network tab, and reload the whole plan URL in the browser
    • In the Network tab, look for the plan URL

      • The Plan URL should look like this:

        <JIRA_BASE_URL>/secure/PortfolioPlanView.jspa?id=5&sid=5&vid=17#plan/backlog
      • Open the response tab on the right side, and look for the string com.atlassian.jpo:jpo-wr-page-simpleplans-simpleplansinfo.com.atlassian.jpo.simpleplansinfo in that response, as shown in the screenshot below:
      • Copy the JSON content located after the string com.atlassian.jpo:jpo-wr-page-simpleplans-simpleplansinfo.com.atlassian.jpo.simpleplansinfo and reformat it using a JSON formatter tool

      • Look for the list of Issue Types in the response, as shown in the example below. This list corresponds to the list of issue types available by the project(s) configured in the Plan Source configuration (which can be configured in ⚙ > Configure > Issue sources)

      • In the example below, we can see that the plan is loading 5 issue types, with IDs 10000, 10002, 10001, 10003, 10004:

           "issueTypes":[
              {
                 "id":"10000",
                 "name":"Epic",
                 "iconUrl":"/jira/images/icons/issuetypes/epic.svg",
                 "subTask":false
              },
              {
                 "id":"10001",
                 "name":"Story",
                 "iconUrl":"/jira/images/icons/issuetypes/story.svg",
                 "subTask":false
              },
              {
                 "id":"10003",
                 "name":"Sub-task",
                 "iconUrl":"/jira/secure/viewavatar?sizeu003dxsmallu0026avatarIdu003d10316u0026avatarTypeu003dissuetype",
                 "subTask":true
              },
              {
                 "id":"10004",
                 "name":"Bug",
                 "iconUrl":"/jira/secure/viewavatar?sizeu003dxsmallu0026avatarIdu003d10303u0026avatarTypeu003dissuetype",
                 "subTask":false
              },
              {
                 "id":"10002",
                 "name":"Task",
                 "iconUrl":"/jira/secure/viewavatar?sizeu003dxsmallu0026avatarIdu003d10318u0026avatarTypeu003dissuetype",
                 "subTask":false
              }
           ]
    • Still in the Network tab, look for the URL which loads the configuration of the Plan View which is currently selected.

      • The URL should look like this (XX being the ID of the View that is currently selected)

         <JIRA_BAS_URL/rest/jpo/1.0/plans/5/userProperties/viewSwitching-modifiedView-XX
      • To know the ID of the view which is currently selected, you can check the URL in the browser, and look for the parameter &vid=XX
      • In our example, the ID of the view that is currently selected is 17. Therefore, we need to look for the URL that ends with /viewSwitching-modifiedView-17
      • After you click on that URL, click on the response tab on the right:
      • Reformat the response using a JSON formatter tool. You should see that the View is configured with Colours which will change based on the issue type.

      • In the example below, we can see that the Issue Type with ID 10100 is mapped to the colour #4C9AFF:

        {
           "value":{
              "version":0,
              "preferences":{
                 "filtersV0":{
                    "state.domain.view-settings.filters.CUSTOM_FIELD_FILTER_ID":{
                       "id":"state.domain.view-settings.filters.CUSTOM_FIELD_FILTER_ID",
                       "value":{
                          
                       }
                    },
                    "state.domain.view-settings.filters.HIERARCHY_FILTER_ID":{
                       "id":"state.domain.view-settings.filters.HIERARCHY_FILTER_ID",
                       "value":{
                          "start":4,
                          "end":0
                       }
                    }
                 },
                 "colourByV1":{
                    "colourByValue":"issueType",
                    "colourMaps":{
                       "status":{
                          "2":"#344563",
                          "3":"#00875A",
                          "4":"#0052CC"
                       },
                       "team":{
                          "1":"#0052CC",
                          "6":"#5243AA"
                       },
                       "none":{
                          
                       },
                       "project":{
                          "10000":"#5243AA"
                       }
                    },
                    "colourLabels":[
                       
                    ],
                    "colourIssueTypes":[
                       {
                          "issueTypes":[
                             "10100"
                          ],
                          "colour":"#4C9AFF"
                       }
                    ],
                    "colourComponents":[
                       
                    ],
                    "colourSelects":{
                       
                    },
                    "lastUsed":4
                 },
    • Compare the list of Issue Type IDs loaded by the Plan, along with the list of Issue Type IDs which are used by the Colour by setting of the Plan View
      • Taking the example below, we can see that the Issue Type ID used by the Colour by setting (10100) is not part of the Issue Type IDs loaded in the plan (10000, 10002, 10001, 10003, 10004).
    • If you observe the same type of mismatch with the Issue Type IDs, then this KB article is relevant
    • Another way to fetch the View Colour by setting is from the Jira Database
      • Run the following SQL query, after replacing <PLAN_NAME> with the name of the Plan, and XX in viewSwitching-modifiedView-XX with the ID of the View:

        select * from "AO_D9132D_PLAN_USER_PROPERTY"
        where "PLAN_ID" in (select "ID" from "AO_D9132D_PLAN" where "TITLE" = '<PLAN_NAME>')
        AND "KEY" = 'viewSwitching-modifiedView-XX';
      • Taking the example above, the SQL query will look like this:

        select * from "AO_D9132D_PLAN_USER_PROPERTY"
        where "PLAN_ID" in (select "ID" from "AO_D9132D_PLAN" where "TITLE" = 'Plan for testing')
        AND "KEY" = 'viewSwitching-modifiedView-17';
      • You should get an output similar to the example below:

        |C_KEY                                |ID |KEY                          |PLAN_ID|USER_KEY|VALUE                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
        |-------------------------------------|---|-----------------------------|-------|--------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
        |5_admin_viewSwitching-modifiedView-17|15 |viewSwitching-modifiedView-17|5      |admin   |{"version":0,"preferences":{"filtersV0":{"state.domain.view-settings.filters.CUSTOM_FIELD_FILTER_ID":{"id":"state.domain.view-settings.filters.CUSTOM_FIELD_FILTER_ID","value":{}},"state.domain.view-settings.filters.HIERARCHY_FILTER_ID":{"id":"state.domain.view-settings.filters.HIERARCHY_FILTER_ID","value":{"start":4,"end":0}}},"colourByV1":{"colourByValue":"issueType","colourMaps":{"status":{"2":"#344563","3":"#00875A","4":"#0052CC"},"team":{"1":"#0052CC","6":"#5243AA"},"none":{},"project":{"10000":"#5243AA"}},"colourLabels":[],"colourIssueTypes":[{"issueTypes":["10100"],"colour":"#4C9AFF"}],"colourComponents":[],"colourSelects":{},"lastUsed":4},"timeScaleV0":{"selection":"3mth","customDateRange":{"fromDate":1674432000000,"toDate":1677196799999}},"issueExpansionsV0":{"isExpanded":{"IssuesWithoutParentHeader":{"default":true}},"isFilterExpansionDirty":false},"fieldColumnsV0":{"columns":[{"id":"targetStart","isVisible":true},{"id":"targetEnd","isVisible":true},{"id":"issueStatus","isVisible":true}]},"filterOptionsV0":{"showFullHierarchy":true,"autoExpandToShowIssuesMatchingFilter":false},"rollupSettingsV0":{"showingRolledUpDate":false,"showRolledUpOthers":false},"highlightedVersionsV0":{"versions":[]},"componentGroupsV0":[{"id":"all_other_issues","name":"","isExpanded":false,"components":[]}],"labelGroupsV0":[{"id":"all_other_issues","name":"","isExpanded":false,"labels":[]}],"warningSettingsV1":{"showWarning":true,"disabledWarnings":[]},"dateConstraintsV0":{"showDateConstraints":false},"visualisationsV0":{"sorting":{"field":"lexoRank","type":"string","direction":"ASCENDING"},"grouping":"NONE","expandedItems":{"NONE":{},"ASSIGNEE":{},"COMPONENT":{},"PROJECT":{},"TEAM":{},"SPRINT":{},"RELEASE":{},"LABEL":{}},"showSprints":true,"isFilterExpansionDirty":false}}}|
        
        
      • If you look for the parameter colourIssueTypes  in the VALUE column, you should see that there is some mapping between Issue Types and Colours, for example:

        "colourIssueTypes":[{"issueTypes":["10100"],"colour":"#4C9AFF"}]


        (info)  If the view loaded is not the active view, this data may not load. 

Cause

The View Settings page is configured with a Colour By configuration pointing to an issue type which is not loaded in the plan.

The fact that a blank page is presented to the user is to the following bug: JPOSERVER-4442 - Getting issue details... STATUS

This bug might happen in either of the 2 scenarios listed below.

Root Cause 1

The issue type that is used in the View Settings > Colour By configuration is missing from the Issue Type Scheme associated to the Project used as the Plan's issue source.

This scenario may happen if the following steps are followed:

Click here to expand...
  • Create 2 issue type schemes, and make sure that there is 1 issue type which is missing from one of these schemes
  • Create 2 projects, and associate each of them with each of the issue type schemes created earlier
    • In the example below, note that the SCRUM project has an extra issue type (Initiative) that the KANBAN does not have:

  • Create a new plan
  • Go to ⚙ > Configure > Issue sources, and include the SCRUM project as the source (the project which is associated to the issue type scheme containing the extra issue type):

  • Go to the View Settings page and associate a colour with the issue type Initiative (the issue type that the other project does not have):

  • Go back to ⚙ > Configure > Issue sources, and replace the SCRUM project with the KANBAN project (the project that is missing the issue type Initiative):

  • In such situation, next time we click on View Settings, we will run into a blank page, because its colour configuration is referring to the issue type Initiative, which is no longer loaded in the plan and therefore "Does not exist" in the context of the plan

Root Cause 2

The Colour By setting in the View Settings page is configured with an Issue Type that has been deleted from the Jira application.

When an issue type is completed deleted from the Jira application (via the page ⚙ > Issues > Issue Types), any reference to that issue type in the plan configuration is not automatically deleted. Because of that, the plan view configuration still has reference to issue type IDs which no longer exist and therefore a blank page will be displayed when trying to edit such configuration.

Solution

There are a few ways to work around this issue:

  • 2 solutions that will work for booth Root Causes
  • 1 solution that will only work for Root Cause 1

General solution for both Root Causes

General solution 1

One easy solution consists in just creating a fresh new Plan.

When a new Plan is created, it's configuration will be set to the default one, which means that there will be no Colour By configuration and therefore no reference to invalid issue types

General solution 2

Another solution consists in adding a dark feature in the Jira application, which will completely disable the Colour By configuration in the whole application. To do this:

  • Go to the following URL:

    <JIRA_BASE_URL>/secure/SiteDarkFeatures!default.jspa
  • In the Enable Dark feature field, paste the text below and click on Add:

    com.atlassian.portfolio.simpleplans.colorByIssueType.disabled
  • Make sure that the new feature was added to the page, as shown in the screenshot below:

The downside of this solution is that you will no longer be able to Issue Types in the Colour By configuration in the whole application (this will apply to all plans), unless you disable the dark feature. The Issue Type option will disappear from the dropdown menu:

It is only a good solution if you are not planning to use such configuration, or need to urgently modify the View Settings page.

Solution specific to Root Cause 1

If you identified that the issue is happening due to Root Cause 1, then one way to address this issue is to add the missing issue type to the Issue Type Scheme associated to the source project.

The steps are:

  • Identify the project that is used as the Issue Source of the plan
  • Identify the ID of the issue type that is missing from this project (based on the diagnosis steps) and that is used by the View Settings page
  • Go to the following URL after replacing XXXXX by this issue type, and take note of the name of that issue type

    <JIRA_BASE_URL>/secure/admin/EditIssueType!default.jspa?id=XXXXX
  • Go to the Issue Type Scheme configuration page in ⚙ > Issues > Issue Type Schemes
  • Edit the Issue Type Scheme associated to the project, and add the missing issue type


Last modified on Mar 21, 2023

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.