-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Low
-
None
-
Affects Version/s: 10.3.15
-
Component/s: Assets - Jira Field & JQL, Assets - Object, Type and Schema
-
Severity 3 - Minor
3. Issue Summary
- In Jira Service Management Data Center 10.3.15 LTS, when Refined for JSM DC 3.9.0 calls the public JavaScript function `RLABS.CustomField.controlSDPortalDetails` to ensure Assets custom fields are loaded on the customer portal request details view, the request field containers are reordered incorrectly and field headings/values appear “scrambled”.
- This appears to be a regression introduced by the
JSDSERVER-16370fix: for non‑`AtlassianJSD` field types (e.g. `RefiniedWikiJSD`), only the `<h3>` heading node is moved and a non-existent `<dd>` node is assumed, instead of moving the full field container as in earlier versions.Steps to Reproduce
1. Install Jira Service Management Data Center 10.3.15 LTS.
2. Set up Assets and a custom Assets field: - Go to Assets → Object Schema → Create Object Schema.
- Create the sample IT schema (to quickly get a working structure).
- Create some objects (e.g. under Application) so the Assets field will have values.
3. Create a custom Assets field: - Go to Jira Administration → Issues → Custom fields.
- Create a custom field of type “Asset object” and give it a name.
- Associate the field with the screens used by a sample JSM project (check all relevant checkboxes).
- Go to Configure → Contexts for this field and click Edit Assets Configuration.
- Configure the Object schema and AQL so that the field returns the “Application” objects.
- Check Force to show on Customer Issue details.
4. Add the custom field to a request type: - Go to Project settings → Request types.
- Edit a request type and add the Assets field plus several other fields.
5. Create a request: - As a user with Jira/JSM application access, create a new request using that request type.
- Fill in the fields (including the Assets field).
- On the agent side, edit the issue if needed to ensure the fields have values.
6. Verify native portal behavior: - Open the “View customer request” link for the issue on the standard JSM portal (without Refined).
- Confirm that the field headings and values are correctly aligned.
7. Install and configure Refined for JSM: - Install Refined for JSM DC from Marketplace (version 3.9.0, which supports JSM 10.3.15).
- Apply a trial or full license.
- Click Configure → Open Refined administration.
- In the Jira Service Management tab, enable Refined globally so that the sample project is included in the Refined site.
8. Open the request in the Refined portal: - From the agent view, click View customer request again.
- You are redirected to a URL like `/plugins/servlet/desk/portal/1/SS-43` rendered inside the Refined site.
9. Observe the request details panel: - In the Refined-rendered portal view, note that the request fields now have mismatched headings and values (scrambled).
- Inspect the DOM: only the `<h3>` nodes have been moved/reordered, not the entire field containers.
Expected Results
- When `RLABS.CustomField.controlSDPortalDetails` is called:
- Assets custom fields should be fully loaded and displayed on the customer request details view.
- Field headings and their corresponding values should remain correctly paired and ordered.
- The function should not assume a specific HTML structure for third‑party portal implementations (e.g. not require a `dl/dt/dd` pattern when working with `RefiniedWikiJSD` types).
- For non‑`AtlassianJSD` types, the whole custom field container should be moved/sorted, as in earlier versions where `getFieldContainer(...)` and `parent()` were used.
Actual Results
- After upgrading to JSM DC 10.3.15 LTS and using Refined for JSM DC 3.9.0:
- On the Refined-rendered customer request details view, field headings and their values are “scrambled” (labels no longer match the corresponding values).
- Inspecting the JS and DOM shows a behavioral change in `RLABS.CustomField.controlSDPortalDetails`:
- Earlier versions:
- The function resolved the JSD type via `e.CustomField.getJSDType()` and the container via `e.CustomField.getFieldContainer(A, a)`.
- For non‑`AtlassianJSD` (`RefiniedWikiJSD`) types, it located the headings with `F.find("div h3")` and then mapped the parent wrapper: `v.set(i.$(this).text(), i.$(this).parent())`.
- This resulted in moving the entire field container, preserving heading–value pairing.
- In 10.3.15:
- It now uses a different approach for non‑`AtlassianJSD` types:
- `var S = T === e.CustomField.Type.AtlassianJSD ? P.find("dl dt") : P.find("div h3");`
- `S.each(function()
{ var C = i.$(this), j = C.next("dd"); D.set(C.text(), [C, j]) }
)`
- For `RefiniedWikiJSD` types, there is no `dd` sibling, so only the `<h3>` heading node is moved.
- As a result, the H3 headings are separated from their original values/containers, causing the scrambled appearance.
- The resulting HTML on the Refined portal shows headings reordered independently of their actual field values because only the `<h3>` nodes (and a non-existent `dd`) are considered, not the full wrapper.
- Log messages:
- No specific Jira server-side log entries are observed related to this behavior.
- The issue manifests as a front-end rendering/regression in the request details view; no obvious errors may appear in browser console logs.
Workaround
- Currently there is no known workaround for this behavior. A workaround will be added here when available
- links to