Azure Pipelines has Expressions and Conditions, but I can find no way to assign one of two values to a variable, based on a condition.
Is there any way to accomplish what this pseudo-code would?
${{ if endsWith( variables['Build.SourceBranchName'], '/master' ) }}:
buildVersion: variables['mavenVersion']
${{ else }}:
buildVersion: variables['Build.SourceBranchName']
This should do the trick....
BuildVersion is initialised as $(Build.SourceBranch) if it's the master branch you change that to the $(mavenVersion) else no change.
variables:
mavenVersion: '1.0'
buildVersion: $(Build.SourceBranch)
pool:
vmImage: 'ubuntu-latest'
steps:
- script: echo '##vso[task.setvariable variable=buildVersion]$(mavenVersion)'
displayName: "Set the buildVersion as mavenVersion if the Build.SourceBranch = 'refs/heads/master' "
condition: eq(variables['Build.SourceBranch'], 'refs/heads/master')
- script: echo $(buildVersion)
displayName: 'Printing the variable'
non-master branches prints 'refs/heads/branch_name
' which is mavenVersion