Similar to how job definitions can be reused for different environments or criteria, parameters would allow us to reuse job groupings for different environments, configurations, etc. In our use case we do the same kind of deployments across different envs that use different auth. The same set of jobs are used but with different inputs for env, aws profile, etc. If job groups could be parameterized, we could do something like this:
# workflows
dev-workflow:
jobs:
- deploy-group:
env: dev
stage-workflow:
jobs:
- deploy-group:
env: stage
prod-workflow:
jobs:
- deploy-group:
env: prod
# serial group
deploy-group:
parameters:
env:
type: string
jobs:
- start-release:
env: <<parameters.env>>
- deploy-release:
env: <<parameters.env>>
- finalize-release:
env: <<parameters.env>>