You're on your way to the next level! Join the Kudos program to earn points and save your progress.
Level 1: Seed
25 / 150 points
Next: Root
1 badge earned
Challenges come and go, but your rewards stay with you. Do more to earn more!
What goes around comes around! Share the love by gifting kudos to your peers.
Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!
Join now to unlock these features and more
The Atlassian Community can help you and your team get more value out of Atlassian products and practices.
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:
Do you know of a way to make this happen?
Hi @Samuel VanFossen , welcome to Atlassian Community!
All bamboo variables are accessible using ${bamboo.<variablename>} in configuration, or ${bamboo_<variablename>} in scripts. 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}"
}
}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.