У меня есть шаблон Azure DevOps YAML, который принимает параметр типа число. Из основного файла YAML мне нужно вызвать файл шаблона, передав переменную, доступную в VarGroup. Ниже приведен код.
variables:
- group: MyVarGroup
steps:
- task: PowerShell@2
inputs:
targetType: 'inline'
script: Write-Host "$(SomeNumber)"
- template: mytemplate.yml
parameters:
pSomeNumber: 123
шаблон.yml
parameters:
- name: pSomeNumber
type: number
steps:
- task: PowerShell@2
inputs:
targetType: 'inline'
script: Write-Host "PowerShell Task - ${{ parameters.pSomeNumber }}"
Приведенный выше код работает отлично. Однако в main-pipeline.yml, если я заменю 123 на $(SomeNumber), появится ошибка, как показано ниже.
Переменная $(SomeNumber) распознается системой как тип String. Но здесь вы определили параметр pSomeNumber как числовой тип. Таким образом, вы встречаете ошибку.
Если нет других проблем, я предлагаю изменить тип на String. Тогда это хорошо работает на моей стороне.
parameters:
- name: pSomeNumber
type: string
steps:
- task: PowerShell@2
inputs:
targetType: 'inline'
script: Write-Host "PowerShell Task - ${{ parameters.pSomeNumber }}"
основной ямл:
variables:
- group: MyVarGroup
steps:
- task: PowerShell@2
inputs:
targetType: 'inline'
script: Write-Host "$(SomeNumber)"
- template: mytemplate.yml
parameters:
pSomeNumber: $(SomeNumber)
Я надеюсь, что это может помочь. Спасибо.
Привет @Prawin, не могли бы вы рассказать последнюю информацию? Большое спасибо.