How Bamboo manages and displays commit authors
Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Summary
Bamboo builds store a lot of information. In this KB we are going to focus on commits related to a build, and how Bamboo display authors in the build results page for a plan.
Environment
Any Bamboo supported version.
Diagnosis
We can start by setting some context: when we open a plan, we will see the most recent builds, together with information on who made changes to the repository behind the plan. For example:

On the column "Reason" we see the information "Changes by mate". In this context, "mate" is the author of the commit that triggered the build.
Let's expand a bit on the concept. The tables where this information is stored, and how is related to the build result, are:

We have the table "author" where this information is stored. The columns on this table are:
author_id: id (PK) of the entry.
linked_user_name: if present, then in the field "Changes by" Bamboo will show the username and email of the user in the user directory.
author_email: email of the author, coming from gitconfig
author_name: name of the author. This will be displayed in the field "Changes by" if linked_user_name is empty.
Now, let's use an example:
User stan1, with name "Stan", exists as a user in Bamboo
stan1 makes commits. His name ("Stan") will appear in the field "Changes by".
We can see this by running the query
1
select * from author where linked_user_name = 'stan1';
Authors are linked to build results through the id:
author.author_id - user_commit.author_id
user_commit.repository_changeset_id - repository_changeset.repository_changeset_id
repository_changeset.buildresultsummary_id - buildresultsummary.buildresultsummary_id
Table buildresultsummary will have plan key and build result.
Let's keep going with a concrete example. Let's say you want to know who made the changes for PROJ-PLAN, build #10. The query that will provide this information is:
1
2
3
4
5
select a.* from author a, user_commit uc, repository_changeset rc, buildresultsummary brs
where a.author_id = uc.author_id and
uc.repository_changeset_id = rc.repository_changeset_id and
rc.buildresultsummary_id = brs.buildresultsummary_id
and brs.build_key='PROJ-PLAN' and brs.build_number = 10;
Was this helpful?