# Requirements

> It is very common to use specialized requirements management tools to manage requirements like user stories, epics, or other artifacts. Test Manager supports the synchronization of requirements from external tools as well as the creation of requirements from within Test Manager. In a Test Manager project, there can be requirements that are synced from external tools as well as requirements that were created in Test Manager.

It is very common to use specialized requirements management tools to manage requirements like user stories, epics, or other artifacts. Test Manager supports the synchronization of requirements from external tools as well as the creation of requirements from within Test Manager. In a Test Manager project, there can be requirements that are synced from external tools as well as requirements that were created in Test Manager.

## Navigation and Search

To quickly find your requirements, use the search function and the filters. Navigate within the page using and configuring the paginator. Alternatively, you can use the breadcrumb to navigate between the pages.

1. **Filter** - You have two filter tabs to choose from:
   * **Browse** - to list all requirements.
   * **Updated by me** - (predefined) to list only the requirements that have been updated by the current user, running the Test Manager instance.
2. **Search** - Use the search bar to find requirements by their key, name or labels (requires full search term match). You can use the search bar at the top of the page to look for items across Test Manager (e.g., test sets, test cases).

## Creating requirements

To create requirements in a Test Manager project:

1. In the **Test Design** menu, navigate to the **Requirements** page.

   ![docs image](https://dev-assets.cms.uipath.com/assets/images/test-manager/test-manager-docs-image-125890-ce22b755-b58ca3f2.webp)
2. Click **Create Requirement**. The **Create Requirement** window is displayed.
3. Fill in the fields accordingly:
   * **Name** - The name for your requirement.
   * **Description** - (Optional) Add any description to the requirement. In order to add formatted text, use [Markdown](https://en.wikipedia.org/wiki/Markdown) syntax.
   * Optionally, add any number object labels.
4. Click **Create**. Your new requirement is displayed in the **Requirements** page.
   :::tip
   [Upload documents](https://docs.uipath.com/test-manager/standalone/2023.10/user-guide/test-manager-managing-documents)
   :::

Synchronizing Requirements from External Tools

In order to keep requirements from external ALM tools in sync with requirements from Test Manager, configure a connection first. Refer to [About ALM Tool Connectors](https://docs.uipath.com/test-manager/standalone/2023.10/user-guide/about-alm-tool-connectors) to learn how to configure a project to be synchronized with an external ALM tool.

Once a connection is configured properly, any requirement which is created in the external tool is also created in Test Manager. The name and description of those requirements are also kept in sync when changed in the external tool. In Test Manager, these attributes are read-only.

:::note
After a connection to an external ALM system has been configured, no initial synchronization of existing artifacts is performed. This should avoid creating huge amounts of data in Test Manager without any prediction on how long this would take. However, whenever an object in the external tool is updated, it will be created in Test Manager in case it does not exist.
:::

## Cloning requirements

You can only clone one requirement at a time.

1. Select **More Options** ![docs image](https://dev-assets.cms.uipath.com/assets/images/test-manager/test-manager-docs-image-more_options_icon_test_manager-ac8cfb1d-e8d350e6.png) for the requirement that you want to duplicate and then **Clone**. The **Clone** panel appears.
2. Select the information that you want to clone:
   1. **Test case assignments**
   2. **Documents**
   3. **Labels**

      Custom field definitions, and custom field values are also cloned if they exist.
3. Select **Confirm** to clone the requirement.

   The **Requirement will be cloned in the background** message appears.

   ![docs image](https://dev-assets.cms.uipath.com/assets/images/test-manager/test-manager-docs-image-130283-4629d89a-68132bc8.webp)

A clone of the requirement is created, with a different Id.

## Jira Requirements

### Synchronizing Objects from Jira to Test Manager

Test Manager comes with a Jira connector pre-installed. On your Jira instance, the **UiPath® Test Manager for Jira** apps needs to be installed from the Atlassian marketplace. See [Connecting a Jira Project](https://docs.uipath.com/test-manager/standalone/2023.10/user-guide/connecting-a-jira-project#atlassian-jira) to learn how to configure Jira and Test Manager to enable synchronization.

Objects are synchronized from Jira to Test Manager under the following circumstances:

* An object is created in Jira and Jira is configured to synchronize this type of object.
* An object is updated in Jira and Jira is configured to synchronize this type of object.
  :::note
  If an object is updated in Jira which does not exist in Test Manager, a new requirement will be created in Test Manager.

  If an object is deleted in Jira, the synchronized object in the Test Manager will remain. Test Manager never propagates deletions across systems.
  :::

### Enforcing Synchronization

For a particular object, synchronization can be enforced immediately. This can be helpful under the following circumstances:

* Objects are out-of-sync for any reason - for example, Test Manager was not available while the Jira object was updated.
* A new Jira connection has been set up in Test Manager and objects which already existed in Jira need to be synced.

To enforce synchronization of an object:

1. Open the object in Jira.
2. Click **Push to Test Manager** from the **More** menu. Synchronization is invoked immediately.
   :::note
   Please note that Test Manager does not perform a sync-all operation after a Jira connection has been set up.
   :::
