Asset fields sorting broken In Jira Service Management Data Center 10.3.15

XMLWordPrintable

    • 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-16370 fix: 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 ConfigureContexts 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 ConfigureOpen 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

              Assignee:
              Unassigned
              Reporter:
              Wagner M.
              Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: