-
Notifications
You must be signed in to change notification settings - Fork 0
Open
0 / 40 of 4 issues completedDescription
This issue tracks creating the azdo pipelines variable subgroup for managing definition-scoped pipeline variables.
Command Group Description
The Azure CLI provides az pipelines variable commands for CRUD operations on variables stored in a specific classic pipeline definition (build definition). azdo should expose an ergonomic subgroup that handles subject resolution (pipeline ID vs name), secret prompting, and JSON/list output consistent with the rest of the CLI.
Command Surface
Child issues will implement the following leaf commands:
azdo pipelines variable createazdo pipelines variable updateazdo pipelines variable listazdo pipelines variable delete
Scope & Argument Pattern
- Require a positional
[ORGANIZATION/]PROJECTargument across the subgroup to select the project. When the organization segment is omitted, fall back to the configured default organization; error if neither is available. - Each leaf command must accept either
--pipeline-id(integer) or--pipeline(case-insensitive definition name) to target the pipeline definition, mirroring the Azure CLI behavior while avoiding positional ambiguity. - Secret handling flags (
--secret,--prompt-value) should mirror the Azure CLI semantics but followazdonaming conventions.
Implementation Outline
- Add
internal/cmd/pipelines/variable/variable.goexposingNewCmd(ctx util.CmdContext) *cobra.Commandand registering leaf commands from sibling packages. - Wire the subgroup inside
internal/cmd/pipelines/pipelines.goviapipelinesCmd.AddCommand(variable.NewCmd(ctx)). - Provide help text summarizing the available operations and clarifying pipeline targeting options.
- Ensure JSON export flags are available when a command needs to emit structured output.
Testing
- The grouping command itself does not need dedicated tests; child issues will add unit/acceptance coverage for functional paths.
References
- Azure CLI pipeline variable implementation:
pipeline_variables.py - Command registration:
commands.py#L192-L204
Sub-issues
Metadata
Metadata
Assignees
Labels
No labels