We are attaching the changelog.xml from Jenkins when we create a build. For Microsoft projects we use Octopack and attach the release notes to both the nuget package and the release.
With non Microsoft projects, obviously we can’t use octopack, and so I don’t see an easy way to attach release notes to the package. Additionally the same command that we use with octo.exe also doesn’t seem to add the release notes to the release either (even though the release is created). Is there a dependency that the nuget package needs the release notes even though there is an option on octo.exe to add release notes independently?
The anonymised octo command we are using looks like:
C:\PathToOcto\octo create-release --project NonMicrosoftProject --version=xx --packageVersion=xx --deployto=Dev --server=https://our.octo.server/ --apiKey=apiKey --progress --ReleaseNotesFile=C:\PathOnJenkinsServer\ChangeLog.xml
I should clarify one thing. When I say there isn’t an easy way to attach release notes to the package, what I mean to say is that while yes, I could pack them into the package. However what I want them to viewable is in the Octopus GUI. I think that’s doable by parsing the XML file mentioned and then updating the nuspec file and packing it, but obviously that will take a bit to do and if I can see them in the release, it’s even a lower immediate priority.
Thanks for getting in touch. Just out of curiosity how do you pack your files for these projects? Octo.exe has a pack command that allows you to add release notes directly to the package, which are read by Octopus. But it doesn’t allow you to create a nuspec, so if you have specific files and require the nuspec it won’t work. The Octopus UI will release the release notes file from a package metadata.
So are you finding the release notes command with create-release isn’t working? I was able to create a release and release notes with the following command: C:\Users\Administrator\Documents\testpack>C:\Users\Administrator\Downloads\OctoEXE\octo create-release --project="package step" --server=http://localhost/ -ApiKey API-KEU --version=1.0.0.2 --releasenotesfile=C:\Users\Administrator\Documents\releasenotes.xml
And then in my interface see my screenshot.
So two things I can think of is 1. the path to the file cant be found or weird permissions are blocking it or 2. can you go into the release and click edit - and double check the release notes field is blank, it is possible the xml tags are being blocked by the interface, and you will be able to see them on the edit screen.
I think I need the nuspec file unfortunately. The project types we are talking about are java related (or actually in one case HTML with image files). I suppose I could copy them to a directory as a separate step, but then I also have to do some of the other stuff I do with the nuspec file in Octo as well.
And it does appear that it’s something with the XML as it is there when I go to edit. Hmmmm… I will have to look at what is different content wise.
As a ‘thing’ to look for here. To stop injection we do sanitize the release notes pretty severely, so if there is anything like unclosed tags or bad tag names it won’t display.
That would be what I would look at first. Or if you would like us to review your XML to add some exclusions we can investigate it further…