Updating Issues Target Dates or Teams through Advanced Roadmaps Plan doesn't work in Jira
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 updating Issues through Advanced Roadmaps Plans, some fields may not persist the new information in Jira, like Teams or the Target Dates (Target Start and Target End).
When performing the same updates through Jira's browse Issue interface, the changes are persistent and reflected on the Plan.
Environment
Any version of Jira Software Data Center (or Server).
Diagnosis
1. Confirm if updating the fields through a Roadmaps Plan doesn't persist the changes, but doing so through Jira's own browse Issue interface works.
2. Run this SQL query on Jira's database to list all Roadmaps-specific fields:
select
id, cfname, customfieldtypekey, customfieldsearcherkey
from
customfield
where
lower(customfieldtypekey) like lower('com.atlassian.jpo%')
or
lower(customfieldtypekey) like lower('com.atlassian.teams%');
There should be only one field of each type, ideally:
com.atlassian.jpo:jpo-custom-field-baseline-end
com.atlassian.jpo:jpo-custom-field-baseline-start
com.atlassian.jpo:jpo-custom-field-original-story-points
com.atlassian.jpo:jpo-custom-field-parent
com.atlassian.teams:rm-teams-custom-field-team
3. Confirm if any of the fields don't have Global Context — i.e. any of them isn't available to all Issue Types and all Projects in Jira.
If any of the fields that come up in the DB query have a restricted context (either for some Issue Types or some Projects), Advanced Roadmaps mail fail to update them in Jira.
Cause
Advanced Roadmaps doesn't expect more than one field of each type listed below, and it expects them all to have Global Context and be present in all Field Configurations in Jira:
com.atlassian.jpo:jpo-custom-field-baseline-end
com.atlassian.jpo:jpo-custom-field-baseline-start
com.atlassian.jpo:jpo-custom-field-original-story-points
com.atlassian.jpo:jpo-custom-field-parent
com.atlassian.teams:rm-teams-custom-field-team
These fields are locked in Jira UI but this can be bypassed by Admins, potentially leading to this issue of Roadmaps not being able to update them in Jira.
In older versions of Jira and Advanced Roadmaps (also formerly Portfolio for Jira), Admins were able to create new Custom Fields with these Advanced Roadmaps field types. This has been blocked in recent versions but if fields have been created already and they have a restriction in their context, Roadmaps may not work properly.
Solution
1. Immediate fix
You should edit all Custom Fields brought up by the Diagnosis query so they all have Global Context and are locked.
If you have unlocked them (Unlock a locked Jira Software Server or Data Center custom field), you should lock them back and make sure they're in all Field Configurations and have Global Context.
2. Long term mitigation
The Advanced Roadmaps field types shouldn't be used by any other Custom Field that's not the locked and provided by the app by default (Team, Target Start, Target End, Parent Link, etc).
These fields are stored in non-standard ways and you'll find they don't behave like other Custom Fields in features like Data Pipeline or Automations and such. You should avoid using them and favor the other Custom Field types instead — and if you have created them already, you should plan on sunsetting them and making use of the default Roadmaps' fields or other Custom Fields with standard types (Select, Date Picker, etc).
Related Issues
JPOSERVER-2979 - Getting issue details... STATUS