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

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 Sign up to answer
Community showcase
Posted Tuesday in Statuspage

Introducing Statuspage Getting Started guides! First up: What is Statuspage?

Over the next several weeks we'll be sharing some of our Getting Started guides here in the community. Throughout this series of posts, we'd love to hear from customers and non-customers ab...

193 views 4 1
Join discussion

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