Creating and Managing Subprojects
To create a subproject, select the parent project and use the Create subproject button on the Administration page.
You can define which projects to display using the Configure Visible Projects link on the projects overview page.
Identifiers
When a subproject is created, TeamCity automatically assigns an Identifier to it converting the whole path to the project into a valid Java-ID. It is also possible to specify the ID manually. Make sure you give a unique ID to an object within the object namespace.
Project IDs are also used as the folder names in the TeamCity data directory containing configuration data for all the projects.
Roles
Role and Permission granted at the parent project level are inherited in the subprojects: a Project Administrator will have the adminstrators permissions in all the subprojects of this project. To create a subproject, you need the Project Administrator Role in the parent project. To delete/edit/move a project, you need the Project Administrator Role in this project.
The Project Viewer role enables the user to see the project, its parent projects and all subprojects.
Settings
The following settings defined at the parent project level are available in subprojects and their configurations:
VCS roots, Parameters, Builds Schedule, Shared Resources and Meta-Runners
Build configuration templates, Cleanup rules, Notification rules.
If you try to modify a setting used in several projects, TeamCity warns you about it. The user is then prompted to either save the changes and apply them to all the projects or to make a copy of the setting to be used by either a specific build configuration or project.
The settings are shared only within a project and its subprojects, i.e. you cannot share VCS roots between several projects.
Investigations, muted problems, current problems, build chains and project change log pages for a project also show the data for subprojects.