Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
Celebration

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root

Avatar

1 badge earned

Collect

Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!

Challenges
Coins

Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.

Recognition
Ribbon

Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!

Leaderboard

Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,464,351
Community Members
 
Community Events
176
Community Groups

Automating Bamboo Agent Dedications

Good afternoon

I was wondering whether anyone had / has a secret formula for automating Bamboo agent dedications. As a Support Function, we had to restrict what the users can do due to security. Unfortunately, this means every time an Agent needs approving, it also needs dedicating. If the Agent previously had dedications, we have to manually go in and add them. With some Agents have 200+ dedications, this causes a lot of wasted time waiting for the list to populate from the search field (last time I did this it took over two hours!)

Has anyone done anything like this before? ...and if so, how did you do it?

Any help would be gratefully appreciated :)

2 answers

I have not done this before, but it's an interesting challenge :)

To expand on @Alexey Chystoprudov's answer (+1), here's how I'd try to tackle an end to end automation based on our own (commercial) add-on (which currently requires that you have an AWS account yourself):

  1. Implement the code to dedicate the agents via the REST API, ideally in a language natively supported by AWS Lambda (currently C#, Java, Node.js, Python, though most others can be used via shims too)
  2. Once you are comfortable that you can achieve your goal via REST, convert the code into a Lambda function (there are many frameworks to help with this, most popular is Serverless)
  3. Install Atlassian Lab's Bamboo Agent Notifications add-on
  4. Install Utoolity's Automation with AWS (Bamboo) add-on
  5. Configure a global 'Notify on remote/elastic agents online status' notification to trigger an 'Automate with AWS' recipient with an Invoke Lambda Function action configured to call the function you deployed in step 2 (for more complex workflows you could also use the Start Step Functions Execution action, which e.g. allows to await another event before proceeding with an approval or dedication)

Caveat

Please note one important caveat regarding 5:

The 'Automate with AWS' notification recipient provides a $notification entity variable for access to the default Bamboo templates, which can be used to parse the required info out of the message (e.g. the elastic instance ID), though not everything you need might be available within the agent notification already.

However, we are also offering variables like $resultSummary (incl. 'buildAgentId') and $deploymentResult (incl. 'agentId') so that you can compose a payload with the exact information you need. Similarly we should be able to provide an '$agent' variable that exposes the details available via the AgentRegisteredEvent, i.e. the fields in a PipelineDefinition - let me know if you'd be interested in this approach and I'd be happy to explore it with my team.

Thanks @Steffen Opel _Utoolity_ . For a customer I'm trying to improve Bamboo self-service in a multi customer / AWS account environment. Automating the agent dedication to a project is mandatory. It's unfortunate that Bamboo doesn't have that functionality.  

2 votes

There's REST endpoint to manage agent/elastic image dedication: https://docs.atlassian.com/bamboo/REST/6.1.0/#d2e2434 

Suggest an answer

Log in or Sign up to answer
TAGS

Atlassian Community Events