Using the Jira REST API with Limitless Cascading Level Select

Using the Jira REST API with Limitless Cascading Level Select

The Limitless Cascading Level Select custom field is compatible with the Jira Cloud REST API for both setting and retrieving values. Below are the details for updating and retrieving options via the API.


1. Setting the Value of Limitless Cascading Level Select

To set the value of the Limitless Cascading Level Select field for an issue, use the following Jira Cloud REST API endpoint:

Endpoint:
Update Issue

HTTP Method: PUT

Request URL:

https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}

 

Request Payload Example:

{ "fields": { "customfield_12345": { "value": [ { "id": "1735974876330", "label": "test", "value": "test", "disabled": false, "sequence": "root" }, { "id": "1735974886225", "label": "test 2", "value": "test 2", "disabled": false, "sequence": "1735974876330" }, { "id": "1735974902471", "label": "test 3", "value": "test 3", "disabled": false, "sequence": "1735974886225" } ] } } }

Key Notes:

  • Replace customfield_12345 with the actual ID of your custom field.


2. Configuring Limitless Cascading Level Select

You can configure the options for the Limitless Cascading Level Select custom field using the Jira Cloud REST API. This allows you to programmatically define hierarchical levels and relationships for the field.


Endpoint

PUT

/rest/api/2/app/field/{fieldIdOrKey}/context/configuration

Description: Updates the configuration for contexts of the Limitless Cascading Level Select custom field created by a Forge app.


Required Permissions

  1. Jira Global Permissions:

    • Administer Jira permission is required.


Request

Path Parameter:

  • fieldIdOrKey (string): The ID or key of the custom field.

Request Body (JSON):

  • configurations: An array of contextual configurations representing hierarchical levels.

Example Payload:

{ "configurations":{ "data": [ { "id": "1735974876330", "label": "test", "value": "test", "disabled": false, "sequence": "root" }, { "id": "1735974886225", "label": "test 2", "value": "test 2", "disabled": false, "sequence": "1735974876330" }, { "id": "1735974902471", "label": "test 3", "value": "test 3", "disabled": false, "sequence": "1735974886225" }, { "id": "1735975120240", "label": "google", "value": "google", "disabled": false, "sequence": "root" }, { "id": "1735975126255", "label": "ceo", "value": "ceo", "disabled": false, "sequence": "1735975120240" }, { "id": "1735975133298", "label": "marandi", "value": "marandi", "disabled": false, "sequence": "1735975126255" }, { "id": "1735991081033", "label": "bill gatew", "value": "bill gatew", "disabled": false, "sequence": "1735975126255" } ] } }

 


Explanation of the Payload

  1. id: Unique identifier for each option.

  2. label: Display name for the option visible to users.

  3. value: The underlying value stored in Jira (usually matches label).

  4. disabled: Boolean to indicate whether the option is available for selection.

  5. sequence: Defines the parent-child relationship:

    • "root": Indicates a top-level option.

    • Parent id: Links the option to its parent for sub-levels.


Example Hierarchy

  • Root Level: test, google

  • Sub-Level under test: test 2, test 3

  • Sub-Level under google: ceo

  • Sub-Level under ceo: marandi, bill gate