[Suggestion/ Needed feature] Template parameters priority in scope of projects structure tree

Hello.
Let me explain my issue and suggestion, maybe it will be useful feature.

Let imagine the next structure 


[TEMPLATE] Deploy Frontend  used to deploy all Frontend services in all environments. For example, I'm showing QA.
I will focus only parameter called “datadog.api.key”, but there is a lot of other with the same problem..

This parameter exists in main project [HIDDEN]Java Apps with empty value and inherited to all subprojects as is (i.e. empty). 

In template [TEMPLATE] Deploy Frontend that parameter also exists as inherited from main project, but overridden manually.

So the issue is that all frontend builds inherits value from main project, and not from template. 

This behavior matches to explanation in documentation.
https://www.jetbrains.com/help/teamcity/levels-and-priority-of-build-parameters.html#Parameters%27+Priority
 

But in my case, all other builds (not shown on screenshot), also need this parameter. Part of builds created from templates, other part manually. Parameter value for frontend, backend builds and others are not the same. It means I need to go through complicated structure and manually change parameter in each build. Even I put it on subproject (for example [QA] BACKOFFICE) it will override different values for backend and frontend builds.

You can advise me to remove the parameter from main project and add it manually in templates or subprojects or directly in build according to required value. But it's huge work, and if something will be changed it will affect a lot of builds.
So, my suggestion is:

  1. Templates must inherit parameters from project/subproject there they are located (already implemented).
  2. If template override parent project/subproject parameter, then attached builds must inherit template parameters.
  3. But at the same time, if the project/subproject is lower in tree than template, and overrides template value (template is on the higher level of tree), then build should inherit project/subproject value. Any conflicts here can be solved by moving template through project structure tree, and removing or adding parameters and values if needed, to keep their priority as required.
  4. The build parameter value always have higher priority than project/subproject and template parameter values (already implemented)

Additional suggestions/feature request:

  1. Make some point/page in Admin or project settings to manage all templated in one place independently of project structure
  2. Make possibility to move connections through project structure 
  3. Make possibility to move secret parameter to level up or down, in case you don't know value and can't create the new one on other level.
  4. Make possibility to create build feature on project/subfolder level, not only template and build settings. And possibility to move them up and down through structure, as they already have some kind of inheritance, but it isn't enough.

I'm ready to provide any additional information, as understand, that my explanation can be unclear.
Hope you will find opportunity to respond and explain me if I'm wrong and where, as I'm newbie in Teamcity.

Thank you!

0
1 comment

This suggestion looks the same as https://youtrack.jetbrains.com/issue/TW-37239. Particularly, this comment about hierarchy-aware precedence.

0

Please sign in to leave a comment.