azure devops - Как я могу использовать переменные окружения для создания новых переменных в задачах? - PullRequest
0 голосов
/ 09 марта 2020

Я могу получить новые строковые переменные в задачах. Но если в этой новой переменной есть переменные окружения, произойдет сбой. Мне нужно использовать curl в задаче, чтобы объединить переменные API и среды для получения новых переменных.

For Simple Example
//get string variable in task it work
- task: Bash@3
  displayName: foovariable
  inputs:
    targetType: 'inline'
    script: |
      FOO="FOOTEST"
      echo "##vso[task.setvariable variable=FOO]$FOO"
- task: Bash@3
  displayName: echofoo
  inputs:
    targetType: 'inline'
    script: |
      echo "$(FOO)"
      //print FOOTEST

//string with variables in new variables then it will fail
variables:
  NAME: Eddy

steps:
- task: Bash@3
  displayName: foovariable
  inputs:
    targetType: 'inline'
    script: |
      Hello="Hi $(NAME)"
      echo "##vso[task.setvariable variable=HELLO]$HELLO"
- task: Bash@3
  displayName: echofoo
  inputs:
    targetType: 'inline'
    script: |
      echo "$(Hello)"
      //I Need it to show "Hi Eddy"

Пожалуйста, помогите мне изменить синтаксис. Спасибо

1 Ответ

0 голосов
/ 10 марта 2020

Вы можете попробовать не вводить переменную среды, называемую двойными кавычками . Например:

- task: Bash@3
  displayName: foovariable
  inputs:
    targetType: 'inline'
    script: |
      Hello="hi "$NAME
      echo "##vso[task.setvariable variable=HELLO]$Hello"
- task: Bash@3
  displayName: echofoo
  inputs:
    targetType: 'inline'
    script: |
      echo "$(Hello)"

На шаге echofoo видно, что он может успешно напечатать $ (Hello):

enter image description here

...