# Hide issue types

Controls which issue types are available on the Create Issue and Issue Transition screens. Use this to restrict issue type selection based on who the user is or what values other fields contain.

**Supported contexts:** Global Issue Create, Issue Transition.

***

## How it works

Configure a list of issue types and choose one of two modes:

* **Hide selected** - the listed issue types are hidden, all others remain visible.
* **Hide all except** - only the listed issue types are visible, all others are hidden.

If the currently selected issue type becomes hidden when the rule runs, the selection is automatically switched to the first available visible issue type.

***

## Configuration

| Option            | Description                                                                                      |
| ----------------- | ------------------------------------------------------------------------------------------------ |
| **Mode**          | "Hide selected" hides the chosen types; "Hide all except" shows only the chosen types.           |
| **Issue types**   | The issue types to hide or allow, depending on the selected mode. At least one must be selected. |
| **Preconditions** | Optional field and/or user conditions. Leave empty to always apply the rule.                     |

***

## Automatic value switching

When a rule runs and hides the currently selected issue type, the app automatically selects the first visible issue type as a replacement. This prevents the form from being submitted with a hidden issue type.

In **Hide all except** mode, the first issue type from the configured list is selected as the replacement.

In **Hide selected** mode, the first available issue type not in the hidden list is fetched from the project's allowed issue types and selected.

***

## Supported fields

This rule always targets the Issue Type field. It cannot be applied to other fields - use [Hide field options](/field-rules/rules/hide-field-options.md) for other option-based fields.

***

## Examples

**Restrict issue types by user group**\
Hide the "Incident" and "Problem" issue types for all users except members of the "ITSM Team" group. Developers and other users will only see standard issue types like Task, Bug, and Story.

**Restrict issue types by role**\
On the Create Issue screen, hide "Epic" for users with the "Developer" project role. Only project leads and managers can create Epics.

**Hide obsolete issue types**\
Some issue types exist only for historical or audit reasons and should no longer be used for new issues. Hide them with no preconditions so they are never available for selection, while the underlying data remains intact for reporting purposes.

***

## Issue View is not supported

The Issue Type field on Issue View cannot have its options controlled via UI Modifications - this is a platform constraint. Once an issue is created, hiding issue type options on the view screen has no effect.

To prevent users from changing the issue type on existing issues, use one of these native Jira approaches instead:

* **Remove the Issue Type field from edit screens** and deny the "Move Issue" project permission.
* **Use a workflow validator** on the Create issue transition to block creation of specific issue types. The Jira Expression Validator from the [Workflow Building Blocks](https://marketplace.atlassian.com/apps/1233642/workflow-building-blocks-for-jira) app is a good option for this. Note this only prevents creation - it does not hide the option from the screen, so users will still see the issue type and only receive an error after submitting.

These approaches can be combined for stronger coverage: use this rule to hide issue types on the screen, and add a workflow validator as a safety net to block creation even if the restriction is bypassed (for example via the API or from a view type not supported by this rule).

***

## Known limitations

* **Issue View is not supported.** The `setOptionsVisibility` operation is not available for the Issue Type field on Issue View.
* **JSM Request Create is not supported.**


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.forgappify.com/field-rules/rules/hide-issue-types.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
