Get Options
Since version 4.0.9 the addon defines a REST call which provides information about options
GET
...
<jira-base>/rest/multi-level-cascading-select/1/option/getOptions
Query parameters:
fieldName (optional)
name of the custom field (retrieve only fields with such name). If this parameter is not specified, options from fields with any name will be retrieved
projectKey (optional)
the key of a project (retrieve only fields associated with such project). If this parameter is not specified, options from fields will be retrieved, regardless of the projects those fields are associeted with
anyType (optional, defaults to "false")
if this is set to true, the method will retrieve not just the options of MultiLevelCascadeSelect fields but of any kind of field which uses options (ie, classes implementing the Option interface). This is known to be well-behaved on Jira Cascade Select fields, but of course there could be no guarantee on all other possible fields which make use of Option implementations
fieldConfigId (optional)
relevant config id. This parameter is optional, but when it is specified, parameters 'fieldName' and 'projectKey'must not be used (parameters are essentially filters for fieldConfigs, so if the ID of a fieldConfig is specified, it makes no sense to use other filters, as ID is unique). If 'anyType=true' is used, then the method will try to get information about options even if the field is not of type MultiLevelCascadeSelect (see 'anyType').
Response:
The options are described by a json structure, containing the fields
optionId - number, the (JIRA-wise) unique id number of the option
value - string, the value of the option
sequence - number, the place that the option occupies among its silblings
disabled - boolean, it is true if the option is disabled
fildConfigId - number, the ID of the field config to which the option belongs
children - array of option objects, the child-options of the option
Example:
{
"optionId": 10504,
"value": "Europe",
"sequence": 0,
"disabled": false,
"fieldConfigId": 10108,
"children": [
{
"optionId": 10505,
"value": "Italy",
"sequence": 0,
"disabled": false,
"fieldConfigId": 10108
},
{
"optionId": 10506,
"value": "France",
"sequence": 1,
"disabled": false,
"fieldConfigId": 10108
}
]
}
Add Option
Add a new option as a child of the input parent option. If no parent option is specified, a new root (level 0) option is added.
POST
...
<jira-base>/rest/multi-level-cascading-select/1/option/
Query parameters:
fieldConfigId (required)
id of the field configuration of the custom field (warning: this is not the same thing as the custom field id. If you don't know the field config id, use the getOption REST call without any parameter and you will get the fieldConfigId for all of your MLCS custom fields)
...
Delete Option
Remove an option.
DELETE
...
<jira-base>/rest/multi-level-cascading-select/1/option/{optionId}
where
optionId
id of the option to remove
...
Modify the value of an option
PUT
...
<jira-base>/rest/multi-level-cascading-select/1/option/{optionId}
where
optionId
id of the option to rename
...
Make an option not selectable
PUT
...
<jira-base>/rest/multi-level-cascading-select/1/option/{optionId}/disable
where
optionId
id of the option to disable
...
Make an option selectable
PUT
...
<jira-base>/rest/multi-level-cascading-select/1/option/{optionId}/enable
where
optionId
id of the option to enable
...
Change the order of the option among its sibling options so that it is repositioned to the given place. The way other options are moved is better explained by an example: suppose we have options in the sequence 0,A - 1,B - 2,C - 3,D - 4,E. If we move B to position 3, we get: 0,A - 1,C - 2,D - 3,B - 4,E.
PUT
...
<jira-base>/rest/multi-level-cascading-select/1/option/{optionId}/position
where
optionId
id of the option to enable
...
Response:
If everything goes well, response status is 200 and response body is empty.
Sort Options
Alphabetically sort the child options of the input parent option. If no parent option is specified, sort the root level options.
GET
<jira-base>/rest/multi-level-cascading-select/1/option/sort
Query parameters:
fieldConfigId (required)
id of the field configuration of the custom field (warning: this is not the same thing as the custom field id. If you don't know the field config id, use the getOption REST call without any parameter and you will get the fieldConfigId for all of your MLCS custom fields)
asc (optional)
if this parameter is given, options are sorted in reverse (ascending) order
parentOptionId (optional)
if specified, the child options of the one identified by this parameter will be sorted. If not specified, root options will be sorted
Response:
If everything goes well, response status is 200 and response body is empty.
...