Engineering/Engineering Principles/1 DevOps And Delivery/Pipelines/Pipeline Parameters And Variables/

Pipeline Parameters and Variables · DEVOPS-03

Rationale

Defining parameters and variables in pipelines with clarity and consistency enables:

  • Improved understanding and navigation of pipeline logic
  • Reduced risk of errors due to ambiguity or missing context
  • Easier reuse and scalability of pipeline templates
  • Faster onboarding and maintenance across teams
  • Clear separation between configurable inputs and operational logic

Parameters

Parameters must be explicitly and unambiguously named · DEVOPS-03.1 · MUST · DEV/TEST

The name must clearly describe the parameter’s purpose without requiring additional context, ensuring that anyone can reliably identify and reference it.

Each parameter must be clearly and individually declared · DEVOPS-03.2 · MUST · DEV/TEST

To support clarity and prevent misinterpretation, each parameter must be declared on its own rather than embedded in compact or nested structures.

Parameter definitions must include essential metadata · DEVOPS-03.3 · MUST · DEV/TEST

All parameters must provide the necessary context to function predictably. This includes core attributes such as identifier, type, and default behaviour / value.

Parameter names must follow consistent naming conventions · DEVOPS-03.4 · MUST · DEV/TEST

Use a consistent casing convention (e.g. camelCase) for parameter names to ensure readability and familiarity across pipelines and projects.

Variables

Variables must be defined in a controlled and traceable manner · DEVOPS-03.5 · MUST · DEV/TEST

Avoid scattering variable definitions across pipeline stages. Use centralized declarations (e.g., variable groups, templates) to promote transparency and version control.

Secure variables must be stored in approved secret management tools · DEVOPS-03.6 · MUST · DEV/TEST

Sensitive values (e.g., connection strings, API keys) must be stored using secure mechanisms such as:

  • Azure DevOps Library Secure Files
  • Secret variable within a variable group
  • Azure Key Vault integration

Variable scope must match usage context · DEVOPS-03.7 · MUST · DEV/TEST

Define variables at the most appropriate scope:

  • Pipeline-level for global use
  • Stage/job-level for isolated logic
  • Environment-level for deployment scenarios

Avoid overly broad scoping, which can lead to unexpected overrides or conflicts.

Variable names must use a consistent format · DEVOPS-03.8 · MUST · DEV/TEST

Use a clear naming convention such as UPPER_SNAKE_CASE or camelCase, depending on the team standard. Prefix values logically where relevant (e.g., dbConnectionString, testTimeoutMinutes).

Common variables must be centralized for reuse · DEVOPS-03.9 · MUST · DEV/TEST

Frequent or shared values must be placed in reusable variable groups or YAML includes. This minimizes duplication and improves maintainability.