I'm trying to dynamically set a variable in one task and use it in a condition on a following task. I can get this to work at all. The var is being set but the templates aren't executing.
The powershell
step sets the variable, the following steps are meant to run conditionally on this var
variables:
- group: Global
trigger:
branches:
include:
- master
paths:
include:
- blah1/*.csv
- blah2/*.csv
resources:
repositories:
- repository: Templates
name: Templates/Templates
type: git
pool:
vmImage: vs2017-win2016
demands: azureps
steps:
- powershell: |
$CSV_File = Get-ChildItem -Recurse -Include "*.csv" | sort LastWriteTime | select -last 1
$Subscription = [regex]::Matches(($CSV_File | select -ExpandProperty DirectoryName), "([^\\]+)$").Value
#Set Variable for Pipeline
Write-Host "##vso[task.setvariable variable=Subscription]$Subscription"
displayName: 'PowerShell - Set Subscription'
name: 'SetSubscription'
- ${{ if eq(variables['SetSubscription.Subscription'], 'DEV1') }}:
- template: Template/Template.yml@Templates
parameters:
AzureSubscription: 'DEV1 (GUID)'
- ${{ if eq(variables.Subscription, 'PROD1') }}:
- template: Template/Template.yml@Templates
parameters:
AzureSubscription: 'PROD1 (GUID)'
- ${{ if eq(variables['Subscription'], 'DEV2') }}:
- template: Template/Template.yml@Templates
parameters:
AzureSubscription: 'DEV2 (GUID)'
- ${{ if eq(variables['SetSubscription.Subscription'], 'PROD2') }}:
- template: Template/Template.yml@Templates
parameters:
AzureSubscription: 'PROD2 (GUID)'