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,551,850
Community Members
 
Community Events
184
Community Groups

How to use Bamboo variables in an app's code

In my app that's being built on Bamboo, I have the following code:

"build-aem": {
"builder": "@nrwl/workspace:run-commands",
"options": {
"commands": [
{
"command": "mvn --batch-mode release:update-versions -DdevelopmentVersion=${bamboo.buildNumber} -f ./apps/americas-aem/pom.xml"
},
{
"command": "mvn clean install -f ./apps/americas-aem/pom.xml"
}
],
"parallel": false
}
}

 What I'd like to happen is for the "${bamboo.buildNumber}" to be replaced with the actual Bamboo variable, as shown on this page:

https://confluence.atlassian.com/bamboo/bamboo-variables-289277087.html#Bamboovariables-Build-specificvariables

 

Do you know of a way to make this happen?

1 answer

1 accepted

2 votes
Answer accepted
Eduardo Alvarenga
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
May 11, 2021

Hi @Samuel VanFossen , welcome to Atlassian Community!

All bamboo variables are accessible using ${bamboo.<variablename>} in configuration, or ${bamboo_<variablename>} in scripts.

tick In your specific case with NPM you should use system variables (scripts) instead, as Bamboo variables are not accessible within that node workspace.

As documented in System variables - Using variables in bash, you should:

Using variables in bash

Bamboo variables are exported as bash shell variables. All full stops (periods) are converted to underscores. For example, the variable bamboo.my.variable is $bamboo_my_variable in bash. This is related to File Script tasks (not Inline Script tasks).

E.g. assuming you want to print Bamboo's bamboo.buildNumber with the following code:

"build-aem": {
  "executor": "@nrwl/workspace:run-commands",
  "options": {
    "command": "echo This is my Bamboo Build number: ${bamboo_buildNumber}"
  }
}

and your bamboo.buildnumber = 123 -- it will produce the following output:

12-May-2021 12:26:20 
12-May-2021 12:26:20 > bamboo@0.0.0 nx /home/bamboo/bamboo-agent-home/xml-data/build-dir/MFP-MVFP-JSJ
12-May-2021 12:26:20 > nx "build-aem"
12-May-2021 12:26:20
12-May-2021 12:26:21
12-May-2021 12:26:21 > nx run bamboo:build-aem
12-May-2021 12:26:21 This is my Bamboo Build number: 123
12-May-2021 12:26:21
12-May-2021 12:26:21 ———————————————————————————————————————————————
12-May-2021 12:26:21
12-May-2021 12:26:21 > NX SUCCESS Running target "build-aem" succeeded

Additionally, if your code already contains specific variables that are meant to be portable and/or you cannot amend it with the the bamboo_ prefix, you can alternatively declare a value for those variables under Advanced Options -> Environment Values -- this time using bamboo variables, E.g.:

In Advanced Options -> Environment Values:

BUILD_NUMBER=${bamboo.buildNumber}

In code:

"build-aem": {
  "executor": "@nrwl/workspace:run-commands",
  "options": {
    "command": "echo This is my Bamboo Build number: ${BUILD_NUMBER}"
  }
}

Thanks! This worked for me.

Like Eduardo Alvarenga likes this

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events