...
...
Warning |
---|
Looking for the documentation on the newest versions of SIL Engine and the Simple Issue Language for Jira 8 for Server/Data Center? Click here ! |
Info | ||
---|---|---|
| ||
This routine is available starting with SIL Engine™ 4.6.3. |
Syntax
admUpdateCustomFieldOptions(fieldName, pathToFile, charset, actionForOldFieldValues, actionForExistingFieldValues, projectKeys, issueTypes, useDefaultScheme, reorder, updateExistingOptionsValues, applyActionsOnParentOptions)
...
If the project keys and issue types are not specified (empty arrays), the option will be added to the global context.
This routine only handles custom fields of the following types: single select, multi select, radio buttons and , checkboxes and cascading selects.
...
Parameter name | Type | Required | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
fieldName | string | Yes | Name of custom field. | ||||||||||
pathToFile | string | Yes (can be empty string) | The path to a file to read options from. If this parameter is empty, an empty list of options will be considered.
| ||||||||||
charset | string | Yes (can be empty string) | The character set to use when reading from file. If this parameter is empty, then the default system charset will be used. | ||||||||||
actionForOldFieldValues | string | Yes | Option to add. | fieldName(can be empty string) | The action to take for the field values (options) that are present in the current field options but are not present in the input options. Possible values: "NONE", "DISABLE", "ENABLE", "DELETE". If this parameter is empty, the value "NONE" will be used. | ||||||||
actionForExistingFieldValues | string | Yes | Name of custom field. | ||||||||||
projectKey | string | No | Project key. | ||||||||||
issueType | string | No | Issue type(can be empty string) | The action to take for the field values (options) that are present in the current field options and are also present in the input options. Possible values: "NONE", "DISABLE", "ENABLE", "DELETE". If this parameter is empty, the value "NONE" will be used. | |||||||||
projectKeys | string array | Yes (can be empty array) | Project keys. | ||||||||||
issueTypes | string array | Yes (can be empty array) | Issue types. | ||||||||||
useDefaultScheme | boolean | Yes | Specify if you want to use the default configuration scheme (or context) of this custom field. | ||||||||||
reorder | boolean | Yes | Specify if you want to reorder the options as they are given in the input file. | ||||||||||
updateExistingOptionsValues | boolean | Yes | Specify if you want to update the existing options with the values provided in the input file. This option is needed because Jira considers for example that the option "ABC" is the same as "abc". This option allows you to rename the options. Note that in this case, the order the options appear in the configuration (UI) and the order the provided options appear in the text file matter! | ||||||||||
applyActionsOnParentOptions | boolean | Yes | Specify if you want the actionForOldFieldValues and actionForExistingFieldValues to also be applied to parent options, or just child options.
|
Return type
boolean (true/false)
Returns 'true' if the option was added options were successfully updated and 'false' otherwise. If returned 'false' check the log for a detailed reason on why it failed.
Note |
---|
The new options in the input file that don't already exist in the custom field's options will automatically be added to the custom field's options. |
Examples
Example 1 - Updating a Cascading Select Custom Field
For Example 1.1 and Example 1.2 we will consider as a starting point, the following already existing options of the custom field:
Code Block |
---|
Parent1
Child1
Child2
Parent2
Child4
|
and as an input file, "updateoptions.txt", that has the following contents:
Code Block |
---|
PARENT1
Child3
Child2
CHILD1
Parent2
Child5
Parent3
NewChild |
Example 1.1. - Updating a Cascading Select Custom Field - Delete missing input options, rename existing input options
Code Block |
---|
admAddCustomFieldOptionadmUpdateCustomFieldOptions("New OptionCF_CASCADE", "updateoptions.txt", "", "Select List"); |
Add the "New Option" to the global context of custom field "Select List".
Example 2
Code Block |
---|
admAddCustomFieldOption("New Option", "Select List", "TEST", "Bug"); |
Add the "New Option" to custom field "Select List" with context for project "TEST" and issue type "Bug".
Note |
---|
If already exists a context for the specified project, but not for the specified issue type, the context will not be created.DELETE", "NONE", {}, {}, false, false, true, false);
|
The resulted field options will now be:
Code Block |
---|
PARENT1
CHILD1
Child2
Child3
Parent2
Child5
Parent3
NewChild |
Option "Parent2 - Child4" is going to be removed, because the actionForOldFieldValues parameter is "DELETE".
Option "Parent1 - Child1" will be renamed to "PARENT1 - CHILD1" because the parameter updateExistingOptionsValues is set to true.
The new option "PARENT1 - Child3" is added at the end of the existing options because the parameter reorder was set to false.
Example 1.2. - Updating a Cascading Select Custom Field - Disable existing options and add the others
Code Block |
---|
admUpdateCustomFieldOptions("CF_CASCADE", "updateoptions.txt", "", "NONE", "DISABLE", {}, {}, false, false, false, true);
|
The resulted field options will now be:
Code Block |
---|
Parent3
NewChild |
But in the database, the values will be
Code Block |
---|
Parent1(disabled)
Child1(disabled)
Child2(disabled)
Child3
Parent2(disabled)
Child4
Child5
Parent3
NewChild |
Note |
---|
The disabled options are still visible on the issues where the custom field value has been set before the DISABLE operation took place. They will not show anymore on the new issues or issues that have ENABLED values set in the custom field. |
Example 2 - Updating other custom fields
Updating custom fields with types different than cascading select, works exactly the same, except the fact that the applyActionsOnParentOptions parameter should always be set to true.
This is because these types of fields only use parent options (no child options).
That means that an example of the input file, "updateoptions.txt" could look something like this, for cascading select:
Code Block |
---|
Option 1
Child option 1
Child option 2
Option 2
Child option 3
Child option 4 |
and something like this for the other supported types (single select, multi select, radio buttons and checkboxes):
Code Block |
---|
Option 1
Option 2
Option 3
|
See also
Filter by label (Content by label) | ||||||||
---|---|---|---|---|---|---|---|---|
|
...