TC plugin and creating releases, which are not fitting into any channel

Hi,
We would like to have setup:

  1. TC prepares artifacts
  2. TC pushes package to Octopus
  3. TC creates release with pushed package version
    (--defaultpackageversion %system.build.number.major%.%system.build.number.minor%.%system.build.number.bugfix%.%system.build.counter%-%teamcity.build.branch%)

It works great if suitable channel exists. Every project has default channel configured for master branch. And if I want some feature branch i can create suitable channel and release will be create under this channel. But problem is, when we don’t have suitable channel.

Not all teams are using octopus yet and we don’t want to have failed TC builds because of this. Is there a way of creating some FeatureBranches channel, which will catch all not suitable version? Or maybe a way of automatically creating suitable channel if one not exists?

For now i see only one option - to fork octo tool and implement a way of a little smarter channel finding (for example, if two suitable and one is accepting all versions (FeatureBranches), use the other one)

Hi,
My first question is that if you have teams not using Octopus, why is Octopus integrated into their TC package builds?

In any case my best recommendation would be to suggest using the API to directly query the server, load your project channels and determine which one is relevant. At the moment this would probably be the simplest approach.
If you would prefer, then the Team City Plugin and Octo.exe are both open source and we do have other users who have forked our open source repos for their specific needs.
Let me know if you want any further information about these options, or would like to discuss them further,
Cheers,
Rob

Integrating it into TC pipeline is unfortunately to best way of creating releases (it is using octo tool, so it has smart channel choosing - ARC in octopus does not have this).

http://help.octopusdeploy.com/discussions/questions/10624-arc-vs-creating-releases here you are also proposing using octo instead ARC

We have many components, many teams (many branches), there are situation that different teams are working with the same components…and full transition to ocotpus will take some time.

You mean using API as an additional step in TC pipeline?

Problem was solved by moving Octopus publish and create release to separate configuration in TC, which has snapshot and artifact dependency with build configuration and is triggered by successful build.

Also we added to each project FeatureBranch channel, with some default configuration lifecycle only for pre-release packages, and if someone wants to have separate channel, he needs to add exception to FeatureBranch package verion regex.