Skip to content

Commit 1f612bc

Browse files
committed
Adding stringList examples
1 parent 83de689 commit 1f612bc

File tree

2 files changed

+44
-3
lines changed

2 files changed

+44
-3
lines changed

docs/pipelines/process/includes/parameter-data-types.md

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ ai-usage: ai-assisted
1111
| Data type | Notes |
1212
|-----------|-------|
1313
| `string` | string
14+
| `stringList` | a list of items, multiple can be selected
1415
| `number` | may be restricted to `values:`, otherwise any number-like string is accepted
1516
| `boolean` | `true` or `false`
1617
| `object` | any YAML structure
@@ -23,7 +24,7 @@ ai-usage: ai-assisted
2324
| `stage` | a single stage
2425
| `stageList` | sequence of stages
2526

26-
The step, stepList, job, jobList, deployment, deploymentList, stage, and stageList data types all use standard YAML schema format. This example includes string, number, boolean, object, step, and stepList.
27+
The step, stepList, job, jobList, deployment, deploymentList, stage, stringList, and stageList data types all use standard YAML schema format. This example includes string, number, boolean, object, step, and stepList.
2728

2829
```yaml
2930
parameters:
@@ -33,11 +34,22 @@ parameters:
3334

3435
- name: myMultiString # Define a parameter named 'myMultiString'
3536
type: string # The parameter type is string
36-
default: default # Default value is 'default'
37+
default: default # Default value is 'default', only one default
3738
values: # Allowed values for 'myMultiString'
3839
- default
3940
- ubuntu
4041

42+
- name: myStringlist # Define a parameter named 'myStringlist'
43+
type: stringList # The parameter type is stringList
44+
displayName: Regions
45+
values: # Allowed values for 'myStringlist'
46+
- WUS
47+
- CUS
48+
- EUS
49+
default: # Default values
50+
- WUS
51+
- CUS
52+
4153
- name: myNumber # Define a parameter named 'myNumber'
4254
type: number # The parameter type is number
4355
default: 2 # Default value is 2
@@ -76,7 +88,7 @@ parameters:
7688
default: # Default value is a list of steps
7789
- script: echo step one
7890
- script: echo step two
79-
91+
8092
trigger: none
8193

8294
jobs:
@@ -86,4 +98,7 @@ jobs:
8698
- job: myStep # Define a job named 'myStep'
8799
steps:
88100
- ${{ parameters.myStep }} # Use the step from the 'myStep' parameter
101+
102+
- ${{ each region in parameters.myStringlist}}:
103+
- script: echo ${{region}}
89104
```

docs/pipelines/process/template-expressions.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,32 @@ jobs:
315315
- script: echo So will this!
316316
```
317317

318+
You can also use `stringList` to define and interate over parameters that contain a list of items.
319+
320+
```yaml
321+
parameters:
322+
- name: regions
323+
type: stringList
324+
displayName: Regions
325+
values:
326+
- WUS
327+
- CUS
328+
- EUS
329+
default:
330+
- WUS
331+
- EUS
332+
333+
stages:
334+
- ${{ each stage in parameters.regions}}:
335+
- stage: ${{stage}}
336+
displayName: Deploy to ${{stage}}
337+
jobs:
338+
- job:
339+
steps:
340+
- script: ./deploy ${{stage}}
341+
```
342+
343+
318344
You can also manipulate the properties of whatever you're iterating over.
319345
For example, to add more dependencies:
320346

0 commit comments

Comments
 (0)