Inject variables with a secret value in Bamboo

Viewed 1239

Currently I am updating my plans to start using bamboo-yaml specs. However I do have variables I use in a lot of plans and want to create an inject-variables-task to import this list. As this list contains usernames and passwords I'd like to use the Bamboo encryption for these variables. However the injection seems to work, but not the decryption on Bamboo's end.

Can someone help me out or tell me what I do wrong.

task:

- inject-variables:
   file: variables.conf
   scope: LOCAL
   namespace: inject

inject variables file;

env_password="BAMSCRT@RANDOMSTRING"
env_username="user"

Therefor I need to use ${bamboo.inject.env_password} in the script later on. But it seems to pass along the string "BAMSCRT@RANDOMSTRING" instead of the decrypted password

2 Answers

I ran into the same issue. At least for bamboo 7.2 which I am using, this seems to be a missing feature. If you, however, add the variables in the specs file not injecting them at all, everything works as expected.

---
version: 2
plan:
  ....
variables:
  env_password: BAMSCRT@RANDOMSTRING
  env_username: user

The idea behing the inject variables features seems to be having variables that change in before committing your code, e.g. a version counter.

append _secret in your variable with encrypted content.

in your inject file:

env_password_secret="BAMSCRT@RANDOMSTRING"
Related