JSM Request Type is not accessible in Exalate outgoing script (returns null for all known properties) Classic Version

Description

We are trying to read and synchronize the Jira Service Management (JSM) Request Type via Exalate in an outgoing script, in order to map it to a custom field (“Supportteam”) and sync it to another Jira instance.

However, the Request Type cannot be accessed via any of the commonly documented or known properties in Exalate.

What we tried

We tested multiple approaches to retrieve the Request Type:

  1. Using standard JSM custom field names:

    • issue.customFields["Request Type"]

    • issue.customFields["Customer Request Type"]

  2. Using custom field ID:

    • issue.customFields["customfield_10010"]
  3. Using Exalate/JSM properties:

    • issue.requestTypeName

    • issue.requestType

  4. Accessing nested properties:

    • .value

    • .name

    • .requestTypeName

    • .toString()

  5. Implemented debug output in the description to inspect values.

Result
All attempts consistently return:

  • null

  • <empty>

  • or no usable value

Example debug output:

RequestType: <empty>
Supportteam (Ticket): <empty>
Supportteam (Mapping): <no mapping>
Supportteam (Final): <empty>

Additional Context

  • Jira Cloud is used

  • Jira Service Management project

  • Exalate scripting mode

  • The Request Type is correctly set and visible in the Jira UI

  • Other custom fields are accessible and sync correctly

Expected Behavior
The JSM Request Type should be accessible in the Exalate outgoing script, similar to other fields, so it can be mapped and synchronized.

Actual Behavior
The Request Type is not exposed in the Exalate script context and cannot be retrieved via any known property.

Impact
We cannot:

  • Map Request Type to another field (e.g. Supportteam)

  • Sync Request Type between systems

  • Implement routing logic based on Request Type

Request
Please clarify:

  1. How to reliably access the JSM Request Type in Exalate (Cloud)

  2. Whether additional configuration is required to expose it

  3. If this is a known limitation or bug

Hi @DennisSchorn

I just tested with my testing environment I was able to get the requestType using the following.

Outgoing JSM:
replica.rType = issue.customFields."Request Type"

Incoming
issue.customFields."ExalateCF"?.value = replica.rType?.value?.requestTypeName

ExalateCF is a the custom field where I want to write the request type from the remote side; For the replica side I took the .value.requesTypeName from the replica I took of the Source side, as you can on the json below

"rType": {
        "id": 10010,
        "name": "Request Type",
        "uid": "10010",
        "type": "VP_ORIGIN",
        "value": {
          "requestTypeId": "242",
          "requestTypeName": "Request a change",
          "serviceDeskId": "102",
          "serviceDeskProjectName": "App Support",
          "serviceDeskProjectKey": "APS"
        }

Please let me know if you encounter issues when accessing the field and data.

Best,
Kevin

Thanks that worked .