In a bamboo BuildRequirementUpdated event, how can I get the user who made the change?

I'm trying to write a Bamboo plugin that will perform some actions when a jobs requirements change and I'd like to find out who is making the change (either an admin or a user).

The problem I'm seeing is that the event is firing correctly but the user reported by the sal.api.user.UserManager is always the SYSTEM user.

My plugin is as follows:

public class BuildRequirementUpdatedListener {

    private static final Logger log = Logger
            .getLogger(BuildRequirementUpdatedListener.class);

    private UserManager userManager;

    public BuildRequirementUpdatedListener(UserManager userManager) {
        this.userManager = checkNotNull(userManager);
    }

    @EventListener
    public void handleEvent(
            BuildRequirementUpdatedEvent buildRequirementUpdatedEvent) {

        log.info("Plan Key: " + buildRequirementUpdatedEvent.getPlanKey());
        log.info("Logged in user: " + userManager.getRemoteUsername());
    }
}

Can anyone advise on how I can find if the person making the change to the build requirements is an admin or a regular user.

Thanks

1 answer

0 votes
Eddie Webb Community Champion Feb 28, 2014

getRemoteUsername on the uiser manager has nothing to do with the event. Your listener is being run by the system, the change (object we are inspecting) was not.

try poking with

buildRequirementUpdatedEvent.toString()

and

Object o = buildRequirementUpdatedEvent.getSource()

o.getClass();

You may end up needing to just get the plankey (buildRequirementUpdatedEvent.getPlanKey()) and then lookup the change using the auditlog service to get the acrtor.

https://docs.atlassian.com/atlassian-bamboo/latest/com/atlassian/bamboo/persister/DefaultAuditLogService.html

auditLogEntry.getUsername(), getOldValue(), etc.

Suggest an answer

Log in or Join to answer
Community showcase
Renan Battaglin
Published May 18, 2017 in Bamboo

FAQ: How to Upgrade Bamboo Server

Bamboo 5.9 will no longer be supported after June 12, 2017. What does this mean? As part of our End of Life policy, Atlassian supports major versions for two years after the first major iteratio...

1,070 views 0 5
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot