Closed bachhavdipak closed 2 years ago
Hi @bachhavdipak, You can't use this variable for generating stage and job names as it is only available at runtime. More info about it - https://docs.microsoft.com/en-us/azure/devops/pipelines/process/variables?view=azure-devops&tabs=yaml%2Cbatch#template-expression-syntax
I believe you can use templates and parameters for your task
For example:
parameters:
- name: stageName
- name: jobName
pool:
vmImage: 'ubuntu-latest'
stages:
- template: template-stages.yml # Name of the template file
parameters:
stageName: SmokeTest_${{ parameters.stageName }}
jobName: SmokeTest_${{ parameters.jobName }}
- template: template-stages.yml
parameters:
stageName: SomeTest_${{ parameters.stageName }}
jobName: SomeTest_${{ parameters.jobName }}
template-stages.yml:
parameters:
- name: 'stageName'
- name: 'jobName'
stages:
- stage: ${{ parameters.stageName }}
jobs:
- job: ${{ parameters.jobName }}
pool:
vmImage: 'ubuntu-20.04'
steps:
- script: echo ${{ parameters.stageName }} ${{ parameters.jobName }}
Here is the right place for posting such questions: https://developercommunity.visualstudio.com/search?space=21
Closing this, since it's not the issue with YAML templates.
Hi @max-zaytsev
I am a newbie to azure DevOps and trying to design a pipeline, where I need to pass variable names Green, Yellow, Blue, Black & Orange to stage name and job name. I have tried the above solution but in the above case we passed only a single variable but now I am trying to pass multiple variables. Can you please provide your valuable thoughts on this ? Sorry for the inconvenience ad big thank you for your help. Azure CLI:
echo 'PIPELINES RUNNING'
az pipelines run --name SampleTest --variables "Variable=Green"
az pipelines run --name SampleTest --variables "Variable=Yellow"
az pipelines run --name SampleTest --variables "Variable=Blue"
az pipelines run --name SampleTest --variables "Variable=Black"
az pipelines run --name SampleTest --variables "Variable=Orange"
variables:
fullVersion: 'null'
gitTagDate: 'null'
trigger:
batch: true
paths:
exclude:
- .azuredevops/pull_request_template.md
- CHANGELOG.md
- .gitignore
- .pre-commit-config.yaml
- README.md
resources:
repositories:
- repository: templates
type: git
name: DevOpsEngineering/azure-pipeline_templates
stages:
- stage: SmokeTest $(Variable)
jobs:
- job: SmokeTest $(Variable)
timeoutInMinutes: 90
pool:
vmImage: ubuntu-20.04
continueOnError: true
steps:
- task: Gradle@2
inputs:
gradleWrapperFile: gradlew
tasks: clean test
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
- task: Gradle@2
inputs:
gradleWrapperFile: gradlew
tasks: publishResults
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
I am a newbie to azure DevOps and trying to design a pipeline, where I need to pass variable name Green to stage name and job name
Azure CLI:
echo 'PIPELINES RUNNING' az pipelines run --name SampleTest --variables "Variable=Green"