Skip to content

field

add-issue-types-to-context

Add issue types to context

Adds issue types to a custom field context, appending the issue types to the issue types list.

A custom field context without any issue types applies to all issue types. Adding issue types to such a custom field context would result in it applying to only the listed issue types.

If any of the issue types exists in the custom field context, the operation fails and no issue types are added.

This API will not allow adding issue types to the global context from April 2026. Instead, an HTTP 400 response will be returned. See CHANGE-3019

Permissions required: Administer Jira global permission.

PUT /rest/api/3/field/{fieldId}/context/{contextId}/issuetype

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--contextIdstringYesThe ID of the context.
--fieldIdstringYesThe ID of the custom field.

Example:

bash
jr field add-issue-types-to-context --contextId <contextId> --fieldId <fieldId>

assign-projects-to-custom-field-context

Assign custom field context to projects

Assigns a custom field context to projects.

If any project in the request is assigned to any context of the custom field, the operation fails.

This API will not allow adding projects to the global context from April 2026. Instead, an HTTP 400 response will be returned. See CHANGE-3019

Permissions required: Administer Jira global permission.

PUT /rest/api/3/field/{fieldId}/context/{contextId}/project

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--contextIdstringYesThe ID of the context.
--fieldIdstringYesThe ID of the custom field.

Example:

bash
jr field assign-projects-to-custom-field-context --contextId <contextId> --fieldId <fieldId>

create-associations

Create associations

Associates fields with projects.

Fields will be associated with each issue type on the requested projects.

Fields will be associated with all projects that share the same field configuration which the provided projects are using. This means that while the field will be associated with the requested projects, it will also be associated with any other projects that share the same field configuration.

If a success response is returned it means that the field association has been created in any applicable contexts where it wasn't already present.

Up to 50 fields and up to 100 projects can be associated in a single request. If more fields or projects are provided a 400 response will be returned.

Permissions required: Administer Jira global permission.

PUT /rest/api/3/field/association

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)

Example:

bash
jr field create-associations

create-custom

Create custom field

Creates a custom field.

Permissions required: Administer Jira global permission.

POST /rest/api/3/field

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)

Example:

bash
jr field create-custom

create-custom-field-context

Create custom field context

Creates a custom field context.

If projectIds is empty, a global context is created. A global context is one that applies to all project. If issueTypeIds is empty, the context applies to all issue types.

Permissions required: Administer Jira global permission.

POST /rest/api/3/field/{fieldId}/context

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--fieldIdstringYesThe ID of the custom field.

Example:

bash
jr field create-custom-field-context --fieldId <fieldId>

create-custom-field-option

Create custom field options (context)

Creates options and, where the custom select field is of the type Select List (cascading), cascading options for a custom select field. The options are added to a context of the field.

The maximum number of options that can be created per request is 1000 and each field can have a maximum of 10000 options.

This operation works for custom field options created in Jira or the operations from this resource. To work with issue field select list options created for Connect apps use the Issue custom field options (apps) operations.

Permissions required: Administer Jira global permission.

POST /rest/api/3/field/{fieldId}/context/{contextId}/option

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--contextIdstringYesThe ID of the context.
--fieldIdstringYesThe ID of the custom field.

Example:

bash
jr field create-custom-field-option --contextId <contextId> --fieldId <fieldId>

create-issue-field-option

Create issue field option

Creates an option for a select list issue field.

Note that this operation only works for issue field select list options added by Connect apps, it cannot be used with issue field select list options created in Jira or using operations from the Issue custom field options resource.

Each field can have a maximum of 10000 options, and each option can have a maximum of 10000 scopes.

Permissions required: Administer Jira global permission. Jira permissions are not required for the app providing the field.

POST /rest/api/3/field/{fieldKey}/option

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--fieldKeystringYesThe field key is specified in the following format: $(app-key)__$(field-key). For example, example-add-on__example-issue-field. To determine the fieldKey value, do one of the following:
  • open the app's plugin descriptor, then app-key is the key at the top and field-key is the key in the jiraIssueFields module. app-key can also be found in the app listing in the Atlassian Universal Plugin Manager.
  • run Get fields and in the field details the value is returned in key. For example, "key": "teams-add-on__team-issue-field" |

Example:

bash
jr field create-issue-field-option --fieldKey <fieldKey>

delete-custom

Delete custom field

Deletes a custom field. The custom field is deleted whether it is in the trash or not. See Edit or delete a custom field for more information on trashing and deleting custom fields.

This operation is asynchronous. Follow the location link in the response to determine the status of the task and use Get task to obtain subsequent updates.

Permissions required: Administer Jira global permission.

DELETE /rest/api/3/field/{id}

FlagTypeRequiredDescription
--idstringYesThe ID of a custom field.

Example:

bash
jr field delete-custom --id <id>

delete-custom-field-context

Delete custom field context

Deletes a custom field context.

This API will not allow removing the global context from April 2026. Instead, an HTTP 400 response will be returned. See CHANGE-3019

Permissions required: Administer Jira global permission.

DELETE /rest/api/3/field/{fieldId}/context/{contextId}

FlagTypeRequiredDescription
--contextIdstringYesThe ID of the context.
--fieldIdstringYesThe ID of the custom field.

Example:

bash
jr field delete-custom-field-context --contextId <contextId> --fieldId <fieldId>

delete-custom-field-option

Delete custom field options (context)

Deletes a custom field option.

Options with cascading options cannot be deleted without deleting the cascading options first.

This operation works for custom field options created in Jira or the operations from this resource. To work with issue field select list options created for Connect apps use the Issue custom field options (apps) operations.

Permissions required: Administer Jira global permission.

DELETE /rest/api/3/field/{fieldId}/context/{contextId}/option/{optionId}

FlagTypeRequiredDescription
--contextIdstringYesThe ID of the context from which an option should be deleted.
--fieldIdstringYesThe ID of the custom field.
--optionIdstringYesThe ID of the option to delete.

Example:

bash
jr field delete-custom-field-option --contextId <contextId> --fieldId <fieldId> --optionId <optionId>

delete-issue-field-option

Delete issue field option

Deletes an option from a select list issue field.

Note that this operation only works for issue field select list options added by Connect apps, it cannot be used with issue field select list options created in Jira or using operations from the Issue custom field options resource.

Permissions required: Administer Jira global permission. Jira permissions are not required for the app providing the field.

DELETE /rest/api/3/field/{fieldKey}/option/{optionId}

FlagTypeRequiredDescription
--fieldKeystringYesThe field key is specified in the following format: $(app-key)__$(field-key). For example, example-add-on__example-issue-field. To determine the fieldKey value, do one of the following:
  • open the app's plugin descriptor, then app-key is the key at the top and field-key is the key in the jiraIssueFields module. app-key can also be found in the app listing in the Atlassian Universal Plugin Manager.
  • run Get fields and in the field details the value is returned in key. For example, "key": "teams-add-on__team-issue-field" | | --optionId | string | Yes | The ID of the option to be deleted. |

Example:

bash
jr field delete-issue-field-option --fieldKey <fieldKey> --optionId <optionId>

get

Get fields

Returns system and custom issue fields according to the following rules:

  • Fields that cannot be added to the issue navigator are always returned.
  • Fields that cannot be placed on an issue screen are always returned.
  • Fields that depend on global Jira settings are only returned if the setting is enabled. That is, timetracking fields, subtasks, votes, and watches.
  • For all other fields, this operation only returns the fields that the user has permission to view (that is, the field is used in at least one project that the user has Browse Projects project permission for.)

This operation can be accessed anonymously.

Permissions required: None.

GET /rest/api/3/field

Example:

bash
jr field get

get-all-issue-field-options

Get all issue field options

Returns a paginated list of all the options of a select list issue field. A select list issue field is a type of issue field that enables a user to select a value from a list of options.

Note that this operation only works for issue field select list options added by Connect apps, it cannot be used with issue field select list options created in Jira or using operations from the Issue custom field options resource.

Permissions required: Administer Jira global permission. Jira permissions are not required for the app providing the field.

GET /rest/api/3/field/{fieldKey}/option

FlagTypeRequiredDescription
--fieldKeystringYesThe field key is specified in the following format: $(app-key)__$(field-key). For example, example-add-on__example-issue-field. To determine the fieldKey value, do one of the following:
  • open the app's plugin descriptor, then app-key is the key at the top and field-key is the key in the jiraIssueFields module. app-key can also be found in the app listing in the Atlassian Universal Plugin Manager.
  • run Get fields and in the field details the value is returned in key. For example, "key": "teams-add-on__team-issue-field" | | --maxResults | string | No | The maximum number of items to return per page. | | --startAt | string | No | The index of the first item to return in a page of results (page offset). |

Example:

bash
jr field get-all-issue-field-options --fieldKey <fieldKey>

get-contexts-for

Get custom field contexts

Returns a paginated list of contexts for a custom field. Contexts can be returned as follows:

  • With no other parameters set, all contexts.
  • By defining id only, all contexts from the list of IDs.
  • By defining isAnyIssueType, limit the list of contexts returned to either those that apply to all issue types (true) or those that apply to only a subset of issue types (false)
  • By defining isGlobalContext, limit the list of contexts return to either those that apply to all projects (global contexts) (true) or those that apply to only a subset of projects (false).

Permissions required: Administer Jira global permission. Edit Workflow edit workflow permission

GET /rest/api/3/field/{fieldId}/context

FlagTypeRequiredDescription
--contextIdstringNoThe list of context IDs. To include multiple contexts, separate IDs with ampersand: contextId=10000&contextId=10001.
--fieldIdstringYesThe ID of the custom field.
--isAnyIssueTypestringNoWhether to return contexts that apply to all issue types.
--isGlobalContextstringNoWhether to return contexts that apply to all projects.
--maxResultsstringNoThe maximum number of items to return per page.
--startAtstringNoThe index of the first item to return in a page of results (page offset).

Example:

bash
jr field get-contexts-for --fieldId <fieldId>

get-contexts-for-field-deprecated

Get contexts for a field

Returns a paginated list of the contexts a field is used in. Deprecated, use Get custom field contexts.

Permissions required: Administer Jira global permission.

GET /rest/api/3/field/{fieldId}/contexts

FlagTypeRequiredDescription
--fieldIdstringYesThe ID of the field to return contexts for.
--maxResultsstringNoThe maximum number of items to return per page.
--startAtstringNoThe index of the first item to return in a page of results (page offset).

Example:

bash
jr field get-contexts-for-field-deprecated --fieldId <fieldId>

get-custom-field-contexts-for-projects-and-issue-types

Get custom field contexts for projects and issue types

Returns a paginated list of project and issue type mappings and, for each mapping, the ID of a custom field context that applies to the project and issue type.

If there is no custom field context assigned to the project then, if present, the custom field context that applies to all projects is returned if it also applies to the issue type or all issue types. If a custom field context is not found, the returned custom field context ID is null.

Duplicate project and issue type mappings cannot be provided in the request.

The order of the returned values is the same as provided in the request.

Permissions required: Administer Jira global permission.

POST /rest/api/3/field/{fieldId}/context/mapping

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--fieldIdstringYesThe ID of the custom field.
--maxResultsstringNoThe maximum number of items to return per page.
--startAtstringNoThe index of the first item to return in a page of results (page offset).

Example:

bash
jr field get-custom-field-contexts-for-projects-and-issue-types --fieldId <fieldId>

get-default-values

Get custom field contexts default values

Returns a paginated list of defaults for a custom field. The results can be filtered by contextId, otherwise all values are returned. If no defaults are set for a context, nothing is returned.
The returned object depends on type of the custom field:

  • CustomFieldContextDefaultValueDate (type datepicker) for date fields.
  • CustomFieldContextDefaultValueDateTime (type datetimepicker) for date-time fields.
  • CustomFieldContextDefaultValueSingleOption (type option.single) for single choice select lists and radio buttons.
  • CustomFieldContextDefaultValueMultipleOption (type option.multiple) for multiple choice select lists and checkboxes.
  • CustomFieldContextDefaultValueCascadingOption (type option.cascading) for cascading select lists.
  • CustomFieldContextSingleUserPickerDefaults (type single.user.select) for single users.
  • CustomFieldContextDefaultValueMultiUserPicker (type multi.user.select) for user lists.
  • CustomFieldContextDefaultValueSingleGroupPicker (type grouppicker.single) for single choice group pickers.
  • CustomFieldContextDefaultValueMultipleGroupPicker (type grouppicker.multiple) for multiple choice group pickers.
  • CustomFieldContextDefaultValueURL (type url) for URLs.
  • CustomFieldContextDefaultValueProject (type project) for project pickers.
  • CustomFieldContextDefaultValueFloat (type float) for floats (floating-point numbers).
  • CustomFieldContextDefaultValueLabels (type labels) for labels.
  • CustomFieldContextDefaultValueTextField (type textfield) for text fields.
  • CustomFieldContextDefaultValueTextArea (type textarea) for text area fields.
  • CustomFieldContextDefaultValueReadOnly (type readonly) for read only (text) fields.
  • CustomFieldContextDefaultValueMultipleVersion (type version.multiple) for single choice version pickers.
  • CustomFieldContextDefaultValueSingleVersion (type version.single) for multiple choice version pickers.

Forge custom fields types are also supported, returning:

  • CustomFieldContextDefaultValueForgeStringFieldBean (type forge.string) for Forge string fields.
  • CustomFieldContextDefaultValueForgeMultiStringFieldBean (type forge.string.list) for Forge string collection fields.
  • CustomFieldContextDefaultValueForgeObjectFieldBean (type forge.object) for Forge object fields.
  • CustomFieldContextDefaultValueForgeDateTimeFieldBean (type forge.datetime) for Forge date-time fields.
  • CustomFieldContextDefaultValueForgeGroupFieldBean (type forge.group) for Forge group fields.
  • CustomFieldContextDefaultValueForgeMultiGroupFieldBean (type forge.group.list) for Forge group collection fields.
  • CustomFieldContextDefaultValueForgeNumberFieldBean (type forge.number) for Forge number fields.
  • CustomFieldContextDefaultValueForgeUserFieldBean (type forge.user) for Forge user fields.
  • CustomFieldContextDefaultValueForgeMultiUserFieldBean (type forge.user.list) for Forge user collection fields.

Permissions required: Administer Jira global permission.

GET /rest/api/3/field/{fieldId}/context/defaultValue

FlagTypeRequiredDescription
--contextIdstringNoThe IDs of the contexts.
--fieldIdstringYesThe ID of the custom field, for example customfield\_10000.
--maxResultsstringNoThe maximum number of items to return per page.
--startAtstringNoThe index of the first item to return in a page of results (page offset).

Example:

bash
jr field get-default-values --fieldId <fieldId>

get-issue-field-option

Get issue field option

Returns an option from a select list issue field.

Note that this operation only works for issue field select list options added by Connect apps, it cannot be used with issue field select list options created in Jira or using operations from the Issue custom field options resource.

Permissions required: Administer Jira global permission. Jira permissions are not required for the app providing the field.

GET /rest/api/3/field/{fieldKey}/option/{optionId}

FlagTypeRequiredDescription
--fieldKeystringYesThe field key is specified in the following format: $(app-key)__$(field-key). For example, example-add-on__example-issue-field. To determine the fieldKey value, do one of the following:
  • open the app's plugin descriptor, then app-key is the key at the top and field-key is the key in the jiraIssueFields module. app-key can also be found in the app listing in the Atlassian Universal Plugin Manager.
  • run Get fields and in the field details the value is returned in key. For example, "key": "teams-add-on__team-issue-field" | | --optionId | string | Yes | The ID of the option to be returned. |

Example:

bash
jr field get-issue-field-option --fieldKey <fieldKey> --optionId <optionId>

get-issue-type-mappings-for-contexts

Get issue types for custom field context

Returns a paginated list of context to issue type mappings for a custom field. Mappings are returned for all contexts or a list of contexts. Mappings are ordered first by context ID and then by issue type ID.

Permissions required: Administer Jira global permission.

GET /rest/api/3/field/{fieldId}/context/issuetypemapping

FlagTypeRequiredDescription
--contextIdstringNoThe ID of the context. To include multiple contexts, provide an ampersand-separated list. For example, contextId=10001&contextId=10002.
--fieldIdstringYesThe ID of the custom field.
--maxResultsstringNoThe maximum number of items to return per page.
--startAtstringNoThe index of the first item to return in a page of results (page offset).

Example:

bash
jr field get-issue-type-mappings-for-contexts --fieldId <fieldId>

get-options-for-context

Get custom field options (context)

Returns a paginated list of all custom field option for a context. Options are returned first then cascading options, in the order they display in Jira.

This operation works for custom field options created in Jira or the operations from this resource. To work with issue field select list options created for Connect apps use the Issue custom field options (apps) operations.

Permissions required: Administer Jira global permission. Edit Workflow edit workflow permission

GET /rest/api/3/field/{fieldId}/context/{contextId}/option

FlagTypeRequiredDescription
--contextIdstringYesThe ID of the context.
--fieldIdstringYesThe ID of the custom field.
--maxResultsstringNoThe maximum number of items to return per page.
--onlyOptionsstringNoWhether only options are returned.
--optionIdstringNoThe ID of the option.
--startAtstringNoThe index of the first item to return in a page of results (page offset).

Example:

bash
jr field get-options-for-context --contextId <contextId> --fieldId <fieldId>

get-paginated

Get fields paginated

Returns a paginated list of fields for Classic Jira projects. The list can include:

  • all fields
  • specific fields, by defining id
  • fields that contain a string in the field name or description, by defining query
  • specific fields that contain a string in the field name or description, by defining id and query

Use type must be set to custom to show custom fields only.

Permissions required: Permission to access Jira.

GET /rest/api/3/field/search

FlagTypeRequiredDescription
--expandstringNoUse expand to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:
  • key returns the key for each field

  • stableId returns the stableId for each field

  • lastUsed returns the date when the value of the field last changed

  • screensCount returns the number of screens related to a field

  • contextsCount returns the number of contexts related to a field

  • isLocked returns information about whether the field is locked

  • searcherKey returns the searcher key for each custom field | | --id | string | No | The IDs of the custom fields to return or, where query is specified, filter. | | --maxResults | string | No | The maximum number of items to return per page. | | --orderBy | string | No | Order the results by:

  • contextsCount sorts by the number of contexts related to a field

  • lastUsed sorts by the date when the value of the field last changed

  • name sorts by the field name

  • screensCount sorts by the number of screens related to a field | | --projectIds | string | No | The IDs of the projects to filter the fields by. Fields belonging to project Ids that the user does not have access to will not be returned | | --query | string | No | String used to perform a case-insensitive partial match with field names or descriptions. | | --startAt | string | No | The index of the first item to return in a page of results (page offset). | | --type | string | No | The type of fields to search. |

Example:

bash
jr field get-paginated

get-project-context-mapping

Get project mappings for custom field context

Returns a paginated list of context to project mappings for a custom field. The result can be filtered by contextId. Otherwise, all mappings are returned. Invalid IDs are ignored.

Permissions required: Administer Jira global permission.

GET /rest/api/3/field/{fieldId}/context/projectmapping

FlagTypeRequiredDescription
--contextIdstringNoThe list of context IDs. To include multiple context, separate IDs with ampersand: contextId=10000&contextId=10001.
--fieldIdstringYesThe ID of the custom field, for example customfield\_10000.
--maxResultsstringNoThe maximum number of items to return per page.
--startAtstringNoThe index of the first item to return in a page of results (page offset).

Example:

bash
jr field get-project-context-mapping --fieldId <fieldId>

get-screens-for

Get screens for a field

Returns a paginated list of the screens a field is used in.

Permissions required: Administer Jira global permission.

GET /rest/api/3/field/{fieldId}/screens

FlagTypeRequiredDescription
--expandstringNoUse expand to include additional information about screens in the response. This parameter accepts tab which returns details about the screen tabs the field is used in.
--fieldIdstringYesThe ID of the field to return screens for.
--maxResultsstringNoThe maximum number of items to return per page.
--startAtstringNoThe index of the first item to return in a page of results (page offset).

Example:

bash
jr field get-screens-for --fieldId <fieldId>

get-selectable-issue-field-options

Get selectable issue field options

Returns a paginated list of options for a select list issue field that can be viewed and selected by the user.

Note that this operation only works for issue field select list options added by Connect apps, it cannot be used with issue field select list options created in Jira or using operations from the Issue custom field options resource.

Permissions required: Permission to access Jira.

GET /rest/api/3/field/{fieldKey}/option/suggestions/edit

FlagTypeRequiredDescription
--fieldKeystringYesThe field key is specified in the following format: $(app-key)__$(field-key). For example, example-add-on__example-issue-field. To determine the fieldKey value, do one of the following:
  • open the app's plugin descriptor, then app-key is the key at the top and field-key is the key in the jiraIssueFields module. app-key can also be found in the app listing in the Atlassian Universal Plugin Manager.
  • run Get fields and in the field details the value is returned in key. For example, "key": "teams-add-on__team-issue-field" | | --maxResults | string | No | The maximum number of items to return per page. | | --projectId | string | No | Filters the results to options that are only available in the specified project. | | --startAt | string | No | The index of the first item to return in a page of results (page offset). |

Example:

bash
jr field get-selectable-issue-field-options --fieldKey <fieldKey>

get-trashed-fields-paginated

Get fields in trash paginated

Returns a paginated list of fields in the trash. The list may be restricted to fields whose field name or description partially match a string.

Only custom fields can be queried, type must be set to custom.

Permissions required: Administer Jira global permission.

GET /rest/api/3/field/search/trashed

FlagTypeRequiredDescription
--expandstringNo
--idstringNo
--maxResultsstringNoThe maximum number of items to return per page.
--orderBystringNoOrder the results by a field:
  • name sorts by the field name
  • trashDate sorts by the date the field was moved to the trash
  • plannedDeletionDate sorts by the planned deletion date | | --query | string | No | String used to perform a case-insensitive partial match with field names or descriptions. | | --startAt | string | No | The index of the first item to return in a page of results (page offset). |

Example:

bash
jr field get-trashed-fields-paginated

get-visible-issue-field-options

Get visible issue field options

Returns a paginated list of options for a select list issue field that can be viewed by the user.

Note that this operation only works for issue field select list options added by Connect apps, it cannot be used with issue field select list options created in Jira or using operations from the Issue custom field options resource.

Permissions required: Permission to access Jira.

GET /rest/api/3/field/{fieldKey}/option/suggestions/search

FlagTypeRequiredDescription
--fieldKeystringYesThe field key is specified in the following format: $(app-key)__$(field-key). For example, example-add-on__example-issue-field. To determine the fieldKey value, do one of the following:
  • open the app's plugin descriptor, then app-key is the key at the top and field-key is the key in the jiraIssueFields module. app-key can also be found in the app listing in the Atlassian Universal Plugin Manager.
  • run Get fields and in the field details the value is returned in key. For example, "key": "teams-add-on__team-issue-field" | | --maxResults | string | No | The maximum number of items to return per page. | | --projectId | string | No | Filters the results to options that are only available in the specified project. | | --startAt | string | No | The index of the first item to return in a page of results (page offset). |

Example:

bash
jr field get-visible-issue-field-options --fieldKey <fieldKey>

remove-associations

Remove associations

Unassociates a set of fields with a project and issue type context.

Fields will be unassociated with all projects/issue types that share the same field configuration which the provided project and issue types are using. This means that while the field will be unassociated with the provided project and issue types, it will also be unassociated with any other projects and issue types that share the same field configuration.

If a success response is returned it means that the field association has been removed in any applicable contexts where it was present.

Up to 50 fields and up to 100 projects and issue types can be unassociated in a single request. If more fields or projects are provided a 400 response will be returned.

Permissions required: Administer Jira global permission.

DELETE /rest/api/3/field/association

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)

Example:

bash
jr field remove-associations

remove-custom-field-context-from-projects

Remove custom field context from projects

Removes a custom field context from projects.

A custom field context without any projects applies to all projects. Removing all projects from a custom field context would result in it applying to all projects.

If any project in the request is not assigned to the context, or the operation would result in two global contexts for the field, the operation fails.

Permissions required: Administer Jira global permission.

POST /rest/api/3/field/{fieldId}/context/{contextId}/project/remove

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--contextIdstringYesThe ID of the context.
--fieldIdstringYesThe ID of the custom field.

Example:

bash
jr field remove-custom-field-context-from-projects --contextId <contextId> --fieldId <fieldId>

remove-issue-types-from-context

Remove issue types from context

Removes issue types from a custom field context.

A custom field context without any issue types applies to all issue types.

Permissions required: Administer Jira global permission.

POST /rest/api/3/field/{fieldId}/context/{contextId}/issuetype/remove

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--contextIdstringYesThe ID of the context.
--fieldIdstringYesThe ID of the custom field.

Example:

bash
jr field remove-issue-types-from-context --contextId <contextId> --fieldId <fieldId>

reorder-custom-field-options

Reorder custom field options (context)

Changes the order of custom field options or cascading options in a context.

This operation works for custom field options created in Jira or the operations from this resource. To work with issue field select list options created for Connect apps use the Issue custom field options (apps) operations.

Permissions required: Administer Jira global permission.

PUT /rest/api/3/field/{fieldId}/context/{contextId}/option/move

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--contextIdstringYesThe ID of the context.
--fieldIdstringYesThe ID of the custom field.

Example:

bash
jr field reorder-custom-field-options --contextId <contextId> --fieldId <fieldId>

replace-custom-field-option

Replace custom field options

Replaces the options of a custom field.

Note that this operation only works for issue field select list options created in Jira or using operations from the Issue custom field options resource, it cannot be used with issue field select list options created by Connect or Forge apps.

Permissions required: Administer Jira global permission.

DELETE /rest/api/3/field/{fieldId}/context/{contextId}/option/{optionId}/issue

FlagTypeRequiredDescription
--contextIdstringYesThe ID of the context.
--fieldIdstringYesThe ID of the custom field.
--jqlstringNoA JQL query that specifies the issues to be updated. For example, project=10000.
--optionIdstringYesThe ID of the option to be deselected.
--replaceWithstringNoThe ID of the option that will replace the currently selected option.

Example:

bash
jr field replace-custom-field-option --contextId <contextId> --fieldId <fieldId> --optionId <optionId>

replace-issue-field-option

Replace issue field option

Deselects an issue-field select-list option from all issues where it is selected. A different option can be selected to replace the deselected option. The update can also be limited to a smaller set of issues by using a JQL query.

Connect and Forge app users with Administer Jira global permission can override the screen security configuration using overrideScreenSecurity and overrideEditableFlag.

This is an asynchronous operation. The response object contains a link to the long-running task.

Note that this operation only works for issue field select list options added by Connect apps, it cannot be used with issue field select list options created in Jira or using operations from the Issue custom field options resource.

Permissions required: Administer Jira global permission. Jira permissions are not required for the app providing the field.

DELETE /rest/api/3/field/{fieldKey}/option/{optionId}/issue

FlagTypeRequiredDescription
--fieldKeystringYesThe field key is specified in the following format: $(app-key)__$(field-key). For example, example-add-on__example-issue-field. To determine the fieldKey value, do one of the following:
  • open the app's plugin descriptor, then app-key is the key at the top and field-key is the key in the jiraIssueFields module. app-key can also be found in the app listing in the Atlassian Universal Plugin Manager.
  • run Get fields and in the field details the value is returned in key. For example, "key": "teams-add-on__team-issue-field" | | --jql | string | No | A JQL query that specifies the issues to be updated. For example, project=10000. | | --optionId | string | Yes | The ID of the option to be deselected. | | --overrideEditableFlag | string | No | Whether screen security is overridden to enable uneditable fields to be edited. Available to Connect and Forge app users with Administer Jira global permission. | | --overrideScreenSecurity | string | No | Whether screen security is overridden to enable hidden fields to be edited. Available to Connect and Forge app users with admin permission. | | --replaceWith | string | No | The ID of the option that will replace the currently selected option. |

Example:

bash
jr field replace-issue-field-option --fieldKey <fieldKey> --optionId <optionId>

restore-custom

Restore custom field from trash

Restores a custom field from trash. See Edit or delete a custom field for more information on trashing and deleting custom fields.

Permissions required: Administer Jira global permission.

POST /rest/api/3/field/{id}/restore

FlagTypeRequiredDescription
--idstringYesThe ID of a custom field.

Example:

bash
jr field restore-custom --id <id>

set-default-values

Set custom field contexts default values

Sets default for contexts of a custom field. Default are defined using these objects:

  • CustomFieldContextDefaultValueDate (type datepicker) for date fields.
  • CustomFieldContextDefaultValueDateTime (type datetimepicker) for date-time fields.
  • CustomFieldContextDefaultValueSingleOption (type option.single) for single choice select lists and radio buttons.
  • CustomFieldContextDefaultValueMultipleOption (type option.multiple) for multiple choice select lists and checkboxes.
  • CustomFieldContextDefaultValueCascadingOption (type option.cascading) for cascading select lists.
  • CustomFieldContextSingleUserPickerDefaults (type single.user.select) for single users.
  • CustomFieldContextDefaultValueMultiUserPicker (type multi.user.select) for user lists.
  • CustomFieldContextDefaultValueSingleGroupPicker (type grouppicker.single) for single choice group pickers.
  • CustomFieldContextDefaultValueMultipleGroupPicker (type grouppicker.multiple) for multiple choice group pickers.
  • CustomFieldContextDefaultValueURL (type url) for URLs.
  • CustomFieldContextDefaultValueProject (type project) for project pickers.
  • CustomFieldContextDefaultValueFloat (type float) for floats (floating-point numbers).
  • CustomFieldContextDefaultValueLabels (type labels) for labels.
  • CustomFieldContextDefaultValueTextField (type textfield) for text fields.
  • CustomFieldContextDefaultValueTextArea (type textarea) for text area fields.
  • CustomFieldContextDefaultValueReadOnly (type readonly) for read only (text) fields.
  • CustomFieldContextDefaultValueMultipleVersion (type version.multiple) for single choice version pickers.
  • CustomFieldContextDefaultValueSingleVersion (type version.single) for multiple choice version pickers.

Forge custom fields types are also supported, returning:

  • CustomFieldContextDefaultValueForgeStringFieldBean (type forge.string) for Forge string fields.
  • CustomFieldContextDefaultValueForgeMultiStringFieldBean (type forge.string.list) for Forge string collection fields.
  • CustomFieldContextDefaultValueForgeObjectFieldBean (type forge.object) for Forge object fields.
  • CustomFieldContextDefaultValueForgeDateTimeFieldBean (type forge.datetime) for Forge date-time fields.
  • CustomFieldContextDefaultValueForgeGroupFieldBean (type forge.group) for Forge group fields.
  • CustomFieldContextDefaultValueForgeMultiGroupFieldBean (type forge.group.list) for Forge group collection fields.
  • CustomFieldContextDefaultValueForgeNumberFieldBean (type forge.number) for Forge number fields.
  • CustomFieldContextDefaultValueForgeUserFieldBean (type forge.user) for Forge user fields.
  • CustomFieldContextDefaultValueForgeMultiUserFieldBean (type forge.user.list) for Forge user collection fields.

Only one type of default object can be included in a request. To remove a default for a context, set the default parameter to null.

Permissions required: Administer Jira global permission.

PUT /rest/api/3/field/{fieldId}/context/defaultValue

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--fieldIdstringYesThe ID of the custom field.

Example:

bash
jr field set-default-values --fieldId <fieldId>

trash-custom

Move custom field to trash

Moves a custom field to trash. See Edit or delete a custom field for more information on trashing and deleting custom fields.

Permissions required: Administer Jira global permission.

POST /rest/api/3/field/{id}/trash

FlagTypeRequiredDescription
--idstringYesThe ID of a custom field.

Example:

bash
jr field trash-custom --id <id>

update-custom

Update custom field

Updates a custom field.

Permissions required: Administer Jira global permission.

PUT /rest/api/3/field/{fieldId}

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--fieldIdstringYesThe ID of the custom field.

Example:

bash
jr field update-custom --fieldId <fieldId>

update-custom-field-context

Update custom field context

Updates a custom field context.

Permissions required: Administer Jira global permission.

PUT /rest/api/3/field/{fieldId}/context/{contextId}

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--contextIdstringYesThe ID of the context.
--fieldIdstringYesThe ID of the custom field.

Example:

bash
jr field update-custom-field-context --contextId <contextId> --fieldId <fieldId>

update-custom-field-option

Update custom field options (context)

Updates the options of a custom field.

If any of the options are not found, no options are updated. Options where the values in the request match the current values aren't updated and aren't reported in the response.

Note that this operation only works for issue field select list options created in Jira or using operations from the Issue custom field options resource, it cannot be used with issue field select list options created by Connect apps.

Permissions required: Administer Jira global permission.

PUT /rest/api/3/field/{fieldId}/context/{contextId}/option

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--contextIdstringYesThe ID of the context.
--fieldIdstringYesThe ID of the custom field.

Example:

bash
jr field update-custom-field-option --contextId <contextId> --fieldId <fieldId>

update-issue-field-option

Update issue field option

Updates or creates an option for a select list issue field. This operation requires that the option ID is provided when creating an option, therefore, the option ID needs to be specified as a path and body parameter. The option ID provided in the path and body must be identical.

Note that this operation only works for issue field select list options added by Connect apps, it cannot be used with issue field select list options created in Jira or using operations from the Issue custom field options resource.

Permissions required: Administer Jira global permission. Jira permissions are not required for the app providing the field.

PUT /rest/api/3/field/{fieldKey}/option/{optionId}

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--fieldKeystringYesThe field key is specified in the following format: $(app-key)__$(field-key). For example, example-add-on__example-issue-field. To determine the fieldKey value, do one of the following:
  • open the app's plugin descriptor, then app-key is the key at the top and field-key is the key in the jiraIssueFields module. app-key can also be found in the app listing in the Atlassian Universal Plugin Manager.
  • run Get fields and in the field details the value is returned in key. For example, "key": "teams-add-on__team-issue-field" | | --optionId | string | Yes | The ID of the option to be updated. |

Example:

bash
jr field update-issue-field-option --fieldKey <fieldKey> --optionId <optionId>