Cloud Migration Resources
Planning a Jira Cloud migration? These resources can help you get started:
→ JMWE Cloud features – Review Cloud features and understand key differences between DC and Cloud.
→ Migration support from Appfire – Learn how we can help you migrate smoothly.
User created custom fields
This page explains how to access the value of User-created custom fields of different field types using Groovy. You can access them using the getters of the Issue interface. However, accessing custom fields using the native Jira API can be much more complex, depending on the type of the custom field being accessed. Instead, it is easier to access the fields using the methods provided by JMWE. To understand how to write values into the writable custom fields see Raw value/text input for fields and Groovy expression input for fields.
'xxxxx' in the custom fields detailed below is the ID of the custom field. Click here to know how to find the ID of custom fields.
In this page:
Standard Jira custom fields
Select list
Checkboxes / Multi-select list
Description: A Field of the type Checkboxes/Multi-select list, is an array of objects. Each selected option is an object in itself.
Accessing a field of Checkboxes/Multi-select list type: You can access a custom field of Checkboxes/Multi-select type using any of the following getters of the Issue interface:
get("Your custom field name") or get("customfield_xxxxx")
that returns a Collection<Option>Example: First selected option value of a checkbox field
issue.get("Checkboxes field name")?.first()?.getValue()Example: is a specific option selected?
issue.get("Checkboxes field name")?.find() { it.getValue() == "An option" } != null
getAsString("Your custom field name") or getAsString("customfield_xxxxx") that returns a String
with comma separated Option valuesExample: Options selected
issue.getAsString("Checkboxes field name")
Radio buttons / Single-select list
Description: A field of Radio buttons/Single-select list type is an object that represents an option.
Accessing a field of Radio buttons/Single-select list type: You can access a custom field of Radio buttons/Single-select list type using any of the following getters of the Issue interface:
get("Your custom field name") or get("customfield_xxxxx")
that returns a StringExample: is a specific option selected?
issue.get("Radio button field name") == "An option"Example: Option value of the Single-select list
issue.get("Single-select list field name")
getAsString("Your custom field name") or getAsString("customfield_xxxxx")
that returns a Stringrepresenting the value of the OptionExample: Option selected
issue.getAsString("Single-select list field name")
getRawValue("Your custom field name") or getRawValue("customfield_xxxxx")
that returns a OptionExample: Option selected
issue.getRawValue("Single-select list field name")
Cascading
Description: A field of Cascading type is a Map with the
Keyas String andValueas the OptionAccessing a field of Cascading type: You can access a custom field of Cascading type using any of the following getters of the Issue interface:
get("Your custom field name") or get("customfield_xxxxx")
that returns a Map<String,Option>Example: Parent of the cascading field
issue.get("Cascade")?.get(null)?.getValue()Example: Return parent and child of the cascading field as Strings separated by a comma:
if (issue.get("Cascading type field name")) { if(issue.get("Cascading type field name").get("1")) { return issue.get("Cascading type field name").get(null).getValue() + "," + issue.get("Cascading type field name").get("1") } return issue.get("Cascading type field name").get(null).getValue() }
getAsString("Your custom field name") or getAsString("customfield_xxxxx") that returns a String
with the parent and child value separated by a commaExample: Return parent and child of the cascading field as Strings separated by a comma:
issue.getAsString("Cascading type field name")
Multi-level Cascading select
Description: A field of Multi-level Cascading select is an object that represents multiple levels of parent and child options
Accessing a field of Multi-level Cascading select type: You can access a custom field of Multi level Cascading select type using any of the following getters of the Issue interface. Each level is a LazyLoadedOption. You can access the field using:
get("Your custom field name") or get("customfield_xxxxx")
that returns an array of LazyLoadedOptionExample:
issue.get("MLCS field")returns
["A","A1","A2"]where A, A1 and A2 are the values in the three levels of the field.Example: To get the first level option of the Multi-level cascading select field
issue.get("MLCS field")?.first()
getAsString("Your custom field name") or getAsString("customfield_xxxxx") that returns a String
with comma-separated values of multiple levels of the field.Example: Return the option value of the last level of a Multi-level cascading select field:
issue.getAsString("MLCS field")returns
A,A1,A2where A, A1 and A2 are the values in the three levels of the field.
Groups
Single-Group Picker
Description: A field of Single-group picker type is an object that represents a group.
Accessing a field of Single-Group picker type: You can access a custom field of Single-group picker type using any of the following getters of the Issue interface:
get("Your custom field name") or get("customfield_xxxxx")
that returns a Collection<Group>Example: Name of the first selected group
issue.get("Single-group picker name")?.first()?.getName()Example: Is a specific group selected?
issue.get("Single-group picker name")?.find() { it.getName() == "Group name" } != null
getAsString("Your custom field name") or getAsString("customfield_xxxxx")
that returns a String representing the group name:Example: Name of the selected group
issue.getAsString("Single-group picker name")
Multi-Group Picker
Description: A field of Multi-group picker is an array of objects. Each group is an object in itself.
- Access a field of Multi-group picker type: You can access a custom field of Multi-group picker type using any of the following getters of the Issue interface:
that returns aget("Your custom field name") orget("customfield_xxxxx")Collection<Group>Example: Name of the first selected group
issue.get("Multi-group picker name")?.first()?.getName()
Example: Is a specific group selected?
issue.get("Multi-group picker name")?.find() { it.getName() == "Group name" } != null
that returns agetAsString("Your custom field name") orgetAsString("customfield_xxxxx")Stringwith comma separated Group namesExample: Groups selected
issue.getAsString("Multi-group picker name")
Users
Single-User picker
Description: A field of Single-user picker is an object that represents a user.
Accessing a field of Single-user type: You can access a custom field of Single-user picker type using any of the following getters of the Issue interface:
get("Your custom field name") or get("customfield_xxxxx")
that returns an ApplicationUserExample: Email Address of the user selected in the field
issue.get("Single-user picker field name")?.getEmailAddress()
getAsString("Your custom field name") or getAsString("customfield_xxxxx")
that returns aString representing the usernameExample: User selected in the field
issue.getAsString("Single-user picker field name")
Multi-user picker
Description: A field of multi-user picker type is an array of objects. Each user is an object in itself.
Accessing a field of Multi-user picker type: You can access a custom field of Multi-user picker type using any of the following getters of the Issue interface:
get("Your custom field name") or get("customfield_xxxxx")
that returns a Collection<ApplicationUser>Example: Is the reporter of the issue selected?
issue.get("Multi-user picker field name")?.find() { it.getName() == issue.get("reporter").getName() } != nullExample: Email address of all the selected users:
def EmailId = [] issue.get("MUP")?.findAll() { EmailId.push(it.getEmailAddress()) } return EmailId
getAsString("Your custom field name") or getAsString("customfield_xxxxx")
that returns a Stringwith comma separated Usernames.Example: All the selected users:
issue.getAsString("Multi-user picker field name")
Versions
Text
Date/Time picker
Others