Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Extracting value from bamboo variables

Syed Imtiyaz Alam
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
December 21, 2022

There is a bamboo variable bamboo.planRepository.branchName that I am trying to use and extract some partial value and not as whole value.

 

I am using this variable as deployment release generation so i was trying this

${bamboo.planRepository.branchName}.Remove(1,5)-${bamboo.inject.shortCommitHash}-${bamboo.buildNumber}

but Remove does not work , basically I am trying to find if I do string manipulation.

or is there any way we can have custom variable which is basically string manipulation of this bamboo variables.

1 answer

1 accepted

1 vote
Answer accepted
Eduardo Alvarenga
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
December 25, 2022

Hello @Syed Imtiyaz Alam

Bamboo will add several environment variables that can be used on your Tasks. To have those variables changed and reinjected, you will have to use a Script Task and do the conversion there using either a Linux shell or Windows Powershell, or any other strung manipulation techniques you prefer.

After you have created the new variables, add them to a text file using a Java properties format (key=value) and later on add an Inject Bamboo variables task to pass the new variable to the next Tasks of the same Job or possibly other Stages (if using a "Result" scope). I assume you already use something like that due to the "${bamboo.inject...}" example you've added to the question.

For example, you can run the following bash shell script to create a new string and feed it to a text file for later import:

#!/bin/bash
# Assuming bamboo_planRepository_branchName="Bamboo555" and I want it to extract only the "555" from it
# bamboo_planRepository_branchName="Bamboo555"
stripped_branch="${bamboo_planRepository_branchName:6}"

release_name="${stripped_branch}-${bamboo_inject_shortCommitHash}-${bamboo_buildNumber}"

echo "release_name=${release_name}" > release_name.txt
$ cat release_name.txt
release_name=555-abfg38bc-103

Then import "release_name.txt" in an Inject Bamboo variables task and use it as "${bamboo.inject.release_name}" or "${bamboo_inject_release_name}" if used by a shell script.

Sincerely,

Eduardo Alvarenga
Atlassian Support APAC

--please don't forget to Accept the answer if the reply is helpful-- 

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events