There seems to be some design issues with the create release API when channels are used and nuget package versioning is enabled.
Why is the version number required to be set? Shouldn’t this be automatically generated.
Why is there no support for just using the latest version of the compatible packages for this selected channel? Since there is no support for this the logic for selecting the correct packages for the channel are required in the script that creates the release. Furthermore the script also needs to know which package dictactes the version (thus having this logic residing both in OCtopus and the script).
Thanks for reaching out. If there’s a design issue here, we’ll definitely like to fix it. Could you share us the script you are currently using? Also please let us know in detail (with an example) exactly what are your expectations with this script.
Here’s my scenario: The build server has just completed a build and published the artifacts in nuget packages so they are available to Octopus. The script is then creating a new release in Octopus via the REST API.
When I go to the Create New Release page in Octopus the only thing I need to input is which channel I want to use (and even this is prefilled using default, so you could argue that no input is required).
So I would expect the API for creating a new release to require only the project ID and possibly the channel ID. The version number is autogenerated based on nuget packages, the nuget packages are autoselected using the rules setup in the channel,.
In reality, however, I need to specify the versions of all the nuget packages I’m using as well as the version number I want to use for the release. This require me to query the feed for each package. Manually filter out the versions that are incompatible with the channel and find the package that determines the release version.
It would be nice to have an API for create release that defaults to the same values.
Thanks for the detailed information. I think you do have a valid point. Would you mind adding this sugestion to our Uservoice channel? Try to be as descriptive as possible, for example showing how the current API call works, and how you’d like it to work with these auto-populated values.