DEV Community

Cover image for Dropdown or Radio button options in Azure Devops
Arindam Mitra
Arindam Mitra

Posted on

Dropdown or Radio button options in Azure Devops

Greetings to my fellow Technology Advocates and Specialists.

In this Session, I will demonstrate Dropdown OR Radio button options in Azure Devops.

AUTOMATION OBJECTIVES:-
# TOPICS
1. Radio Button option as Runtime Variables in Azure Devops Pipelines.
2. Dropdown Menu option as Runtime Variables in Azure Devops Pipelines.
3. Spot the difference.
IMPORTANT NOTE:-

The YAML Pipeline is tested on WINDOWS BUILD AGENT Only!!!

REQUIREMENTS:-
  1. Azure Subscription.
  2. Azure DevOps Organisation and Project.
  3. Service Principal with Required RBAC ( Contributor) applied on Subscription or Resource Group(s).
  4. Azure Resource Manager Service Connection in Azure DevOps.
CODE REPOSITORY:-

Dropdown or Radio button options in Azure Devops:-

Greetings to my fellow Technology Advocates and Specialists.

In this Session, I will demonstrate Dropdown OR Radio button options in Azure Devops.







AUTOMATION OBJECTIVES:-






















# TOPICS
1. Radio Button option as Runtime Variables in Azure Devops Pipelines.
2. Dropdown Menu option as Runtime Variables in Azure Devops Pipelines.
3. Spot the difference.







IMPORTANT NOTE:-

The YAML Pipeline is tested on WINDOWS BUILD AGENT Only!!!







REQUIREMENTS:-

  1. Azure Subscription.
  2. Azure DevOps Organisation and Project.
  3. Service Principal with Required RBAC ( Contributor) applied on Subscription or Resource Group(s).
  4. Azure Resource Manager Service Connection in Azure DevOps.












HOW DOES MY CODE PLACEHOLDER LOOKS LIKE:-
Image description







1. RADIO BUTTON OPTION AS RUNTIME VARIABLES:-







PIPELINE CODE SNIPPET:-







AZURE DEVOPS YAML PIPELINE (azure-pipelines-runtime-parameter-options-v1.0.yml):-

trigger none ################## # Radio Button:- ################## parameters: - name: environment displayName: Select environment type: string default: 'dev' values: - dev - test - uat ############# #Variables:-
HOW DOES MY CODE PLACEHOLDER LOOKS LIKE:-
Image description
1. RADIO BUTTON OPTION AS RUNTIME VARIABLES:-
PIPELINE CODE SNIPPET:-
AZURE DEVOPS YAML PIPELINE (azure-pipelines-runtime-parameter-options-v1.0.yml):-
trigger: none ################## # Radio Button:- ################## parameters: - name: environment displayName: Select environment type: string default: 'dev' values: - dev - test - uat ############# #Variables:- ############ variables: ServiceConnection: 'amcloud-cicd-service-connection' # Please replace with your Service Connection! BuildAgent: 'windows-latest' # Please replace with your Build Agent. You can continue to use this as this is Microsoft Hosted Windows Build Agent! ###################### # Declare Build Agent:- ###################### pool: vmImage: '$(BuildAgent)' ################################## # Declare Stages:- # Test Runtime parameters as:- # 1. Radio Button ################################## stages: - stage: Test_Runtime_Parameters_RadioButton displayName: Test Runtime Parameters Radio Button jobs: - job: Test_Runtime_Parameters_RadioButton steps: - task: AzureCLI@2 displayName: Test Runtime Parameters RadioButton inputs: azureSubscription: '$(ServiceConnection)' scriptLocation: 'inlineScript' scriptType: 'ps' inlineScript: | echo "Deploying to ${{ parameters.environment }} environment" 
Enter fullscreen mode Exit fullscreen mode
CODE BLOCK FOR RADIO BUTTON AS RUNTIME VARIABLES IN YAML:-
################## # Radio Button:- ################## parameters: - name: environment displayName: Select environment type: string default: 'dev' values: - dev - test - uat 
Enter fullscreen mode Exit fullscreen mode
OUTPUT: RADIO BUTTON OPTION AS RUNTIME VARIABLES
1. Radio Button as runtime variables is displayed successfully on Pipeline Execution.
Image description
2. Successful Pipeline Execution.
Image description
2. DROPDOWN MENU OPTION AS RUNTIME VARIABLES:-
PIPELINE CODE SNIPPET:-
AZURE DEVOPS YAML PIPELINE (azure-pipelines-runtime-parameter-options-v1.1.yml):-
trigger: none ################## # Drop Down Menu:- ################## parameters: - name: environment displayName: Select environment type: string default: 'dev' values: - dev - test - uat - prod ############# #Variables:- ############ variables: ServiceConnection: 'amcloud-cicd-service-connection' # Please replace with your Service Connection! BuildAgent: 'windows-latest' # Please replace with your Build Agent. You can continue to use this as this is Microsoft Hosted Windows Build Agent! ###################### # Declare Build Agent:- ###################### pool: vmImage: '$(BuildAgent)' ################################## # Declare Stages:- # Test Runtime parameters as:- # 1. Dropdown Menu ################################## stages: - stage: Test_Runtime_Parameters_DropDown_Menu displayName: Test Runtime Parameters Dropdown Menu jobs: - job: Test_Runtime_Parameters_DropDown_Menu steps: - task: AzureCLI@2 displayName: Test Runtime Parameters Dropdown Menu inputs: azureSubscription: '$(ServiceConnection)' scriptLocation: 'inlineScript' scriptType: 'ps' inlineScript: | echo "Deploying to ${{ parameters.environment }} environment" 
Enter fullscreen mode Exit fullscreen mode
CODE BLOCK FOR DROPDOWN MENU AS RUNTIME VARIABLES IN YAML:-
################## # Drop Down Menu:- ################## parameters: - name: environment displayName: Select environment type: string default: 'dev' values: - dev - test - uat - prod 
Enter fullscreen mode Exit fullscreen mode
OUTPUT: DROPDOWN MENU OPTION AS RUNTIME VARIABLES
1. Dropdown Menu as runtime variables is displayed successfully on Pipeline Execution.
Image description
Image description
2. Successful Pipeline Execution.
Image description
3. SPOT THE DIFFERENCE:-
The "type" of the variable is exactly the same except the no. of values. For "Radio button", we entered 3 values but if we needed "Dropdown Menu", we just increased 1 more value. "Radio button" option changes to "Dropdown Menu".
For "Radio button", value count <= 3
For "Dropdown Menu", value count > 3

Hope You Enjoyed the Session!!!

Stay Safe | Keep Learning | Spread Knowledge

Top comments (0)