This is one of the JIRA's most voted feature requests and Atlassian suggest to use this plugin as a solution to subcomponents. In a large project you may have a lot of component and grouping components in various ways may be helpful. For example you may group Hardware and Software Components differently. You may define your Mobile or Database related components differently. You may define a hierarchy which groups components according to their physical location.There are a lot of use cases are given in comments to issue JRA-846. You can also check our example use cases.

In the below screenshot you see project in which components are grouped technically. 

Each node in component hierarchy may be a "virtual component" (folder) or a real project component as explained below:

  • Virtual Components: These are a new type of components normally not available in JIRA. You can create them inside “Subcomponents” tab of project’s administration page. Using them is optional. They allow you to better represent type of work/module kind of components. Since they are not real JIRA components, you can’t create issues for them. If you select them for issue creation, issue is associated with all of the real components grouped under the virtual component. Virtual components are represented with half open folder icon .
  • Real Components: These are normal JIRA components created from “Components” tab of your project’s administrative screen. You can also create them inside “Subcomponents” tab. Both actions do the same thing. Like Virtual Components, Real Components also allows other components (Virtual or Real) to be grouped under them. In addition to all capabilities of virtual components, you can also create issues for Real Components. They stay as they are even if you decide to uninstall the plugin someday. Real components are represented with component icon .

You can create "Virtual Components" and "Real Components" directly inside this screen. You can also delete or edit a virtual component but to edit a project component you need to use build-in "Components" page of Jira.

If a component is used in the hierarchy it is shown with dashed border. You can hide components already added to hierarchy using the  icon. 

You can add a component to hierarchy more than once.