Home > Back-end >  Unable to get the value of variable inside a variable in azure pipelines
Unable to get the value of variable inside a variable in azure pipelines

Time:12-30

I'm trying to use variables inside variables in azure pipelines. Below is an example of the bash script:

#!/bin/bash

customer=google
environment=preprod
android_google_preprod_account_activation_url=preprod.google.com

echo "Customer is $customer"
echo "Environment is $environment"

var1=android_${customer}_${environment}_account_activation_url

echo "variable is $var1"
echo "original value is ${!var1}"

I get the expected output for the above bash script when I run it on my Ubuntu server, with NO errors:

Customer is google
Environment is preprod
variable is android_google_preprod_account_activation_url
original value is preprod.google.com

The yml code for azure pipelines is:

parameters:
  - name: customer
    displayName: 'select customer'
    type: string
    values:
      - google
  - name: environment
    displayName: 'select environment'
    type: string
    values:
      - preprod

variables:
  - group: android-${{ parameters.customer }}-${{ parameters.environment }}
  - name: var1
    value: android-${{ parameters.customer }}-${{ parameters.environment }}-account-activation-url

script: |
      echo "Customer is $(customer)"
      echo "Environment is $(environment)"
      echo "variable is $(var1)"
      echo "original value is $(!var1)"
    displayName: 'echo variables'

The value of android-google-preprod-account-activation-url is being taken from variable groups inside library.

It gives me an error for the 4th line:

invalid indirect expansion

The first 3 lines output is as expected.

Expected output is:

Customer is google
Environment is preprod
variable is android_google_preprod_account_activation_url
original value is preprod.google.com

Is there a different syntax that needs to be followed in azure pipelines?

CodePudding user response:

I`m not a bash expert ))) however... you're trying to use the parameters expansion enter image description here

For more details, you can reference the related document "Understand variable syntax".

  • Related