Bamboo: Any way to see all changes between two builds?
Asked by Julian Rad?nz:

Hi,   
I didn't found a solution for seeing all code changes between 2 builds.

Example:

Build 1.1 has 2 changes  
Build 1.2 has 3 changes  
Build 1.3 has 1 change  
Build 1.4 has 2 changes

**I want to have a complete list of code changes from build 1.1 to 1.4.**Currently I have to select every build to see its changes - I can't find an overview of all changes between two builds if there are several builds between.

Do you know any solution?

Thanks for your help!


Answers:
author: Gretchen
body: If you tag your builds you can do a diff between the two and show only the files (which solves your question I think) and the comments (which will get the JIRA tickets if used, and assuming the developers are concientious about entering issue numbers). This relies on the repository as the source of your info and that's probably the best source because it clearly provides accuracy on what changed.

comments: author: Julian Rad?nz
body: That would work if I had access to the source. I don't :-/


author: David Sj?berg
body: I was looking for this functionality today.


author: Gretchen
body: But bamboo does doesn't it? If you can check out the code to build it, you should be able to also do a diff against it. Or ask whoever configured the checkout command to get you a diff in a script. It's a readonly action. Do you have fisheye? If you have fisheye you can do the diff via that tool as well.

Is this to produce a release report type of thing? I can see the utility of it. Just not sure how to get the information without access to source.

You might be able to do some kind of REST script but I'm not very skilled with that. You might try something like this:

<http://myhost:8085/rest/api/latest/result/MYPLAN1-5157?expand=changes.change.files>

to get each one. I haven't figured out how to give two parameters and have it actually return results yet.

The example (see link below) gives something like this:

: (\[591\]+)\|(latest)} (appended to the MYPLAN1-) but I haven't figured out the syntax.

It returns an xml page but the changes are in there, for me it looked something like this:

<br />

\<changes expand="change" start-index="0" max-result="1" size="1"\>\<change expand="files" author="joe" userName="joe" fullName="Joe Smith" changesetId="141"\>\<comment\>JIRA-2856 XX File creation\</comment\>\<commitUrl\>https://myhost/fisheye/changelog/project?cs=141\</commitUrl\>\<date\>2013-12-02T09:07:26.567-06:00\</date\>\<files start-index="0" max-result="1" size="1"\>\<file\>\<name\>/PathToFilename/Create New Tables.ddl\</name\>\<revision\>141\</revision\>\</file\>\</files\>\</change\>\</changes\>

<https://docs.atlassian.com/bamboo/REST/5.0-SNAPSHOT/>

or if you're not on version 5.0

<https://docs.atlassian.com/bamboo/REST/>

for the list of resources.

This is returning data from fisheye it looks like so I'm not sure if it will work without fisheye but you can try. Get a single version of the URL that works before trying to get fancy.

comments: author: Julian Rad?nz
body: Hi Gretchen,

thanks for your reply.

I don't have Fisheye and I won't get access to the source.

This is to produce a release report - we have to deliver lists of changes between versions when releasing a new version to our customers sometimes.

I'm not very skilled with REST, too.

Suprisingly it seems that there is no simple solution - I though this would be interesting for many Bamboo users.