Subcomponents is one of the most requested feature of JIRA. As of today there are nearly 800 votes for the issue JRA-846. Also there are duplicate issues which are closed as being duplicate. Component Specific Versions plugin now supports subcomponents.


Subcomponents Selection


Plugin allows you to group components under a component tree. Nodes of this tree could be Virtual Components, or Real Components(Which are usual JIRA Components). You can nest components in any level you like.

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.

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 virtual components, you can also create issues for Real Components. They stay as they are even if you decide to uninstall the plugin someday.

Subcomponent Hierarchy


Above example shows one grouping of subcomponents for a hypothetical ERP project. In addition to modules developed by the team, it also shows different databases supported by the platform under “Databases” virtual component. Since “Databases” isn’t a real component any issue opened to it is automatically assigned to 3 databases (Oracle, Postgres, MySQL) under the virtual component.

Of course component selection tree is available inside quick edit menu of issue page. It is opened with the same icon. Using subcomponents doesn’t hide usual way of selecting components, autocomplete text field. It just complements it with another way of selecting components.

Subcomponents on Quick Edit


Selecting a parent component (whether it is virtual or not) will automatically select all of it’s visible children of it. The same way unselecting a parent component will select all of it’s visible children. With respect to selection the difference between a virtual parent component and a real parent component is real parent components are also added to components field of the issue whereas virtual components are not.

plugin also contains subcomponentsof function to allow you to query all issues opened to a component hierarchy. It returns all subcomponents of a component in a recursive way. This returns parent component itself, if you do not want it to be included you can pass a 2nd argument to JQL function, which should be false to exclude parent component itself or it should be true to include parent component itself. Default value is true.

project = ERP and component in subcomponentsof(“Client”)

You can pass virtual or real components to this method.

Subcomponents, 8.7 out of 10 based on 7 ratings