You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue tracks the introduction of the azdo boards work-item command group. It bridges the top-level boards command with individual work item operations so that related commands share a consistent help surface and shared option parsing.
Command Group Description
Create a work-item subgroup beneath azdo boards that centralises work item management flows (listing, showing, creating, updating, etc.). The group should describe its relationship to Azure Boards work items and provide examples of typical scenarios (e.g., browsing the backlog, reviewing assignments, inspecting details).
Implementation Notes
Add internal/cmd/boards/workitem/workitem.go that exposes NewCmd(ctx util.CmdContext) *cobra.Command.
Register the new subgroup inside internal/cmd/boards/boards.go so that commands such as azdo boards work-item list are discoverable via the CLI hierarchy.
Keep the short description focused on Azure Boards work items and ensure examples reference existing/planned leaf commands.
Regenerate CLI docs (make docs) after wiring the subgroup so its help text appears in the published Markdown.
Future work item subcommands should be registered from this package to avoid scattering wiring logic.
Command Wiring
Implement the work-item group in internal/cmd/boards/workitem/workitem.go and ensure NewCmd only wires child commands under this package.
Update internal/cmd/boards/boards.go to call cmd.AddCommand(workitem.NewCmd(ctx)) so the boards hierarchy exposes the work-item subtree.
Run make docs once wiring is complete to update generated documentation.
Update internal/cmd/boards/workitem/workitem.go to call cmd.AddCommand(relation.NewCmd(ctx)) once the relation subgroup is implemented.
SDK / Client Requirements
Work-item leaf commands typically rely on the Work Item Tracking client and, depending on filters, the Identity and Extensions clients. Confirm that downstream commands call the existing helpers (ClientFactory().WorkItemTracking(...), ClientFactory().Identity(...), ClientFactory().Extensions(...)).
If a required Azure DevOps client is missing from the factory, follow the "Handling Missing Azure DevOps SDK Clients" steps in AGENTS.md (extend ClientFactory, run go mod tidy and go mod vendor, update scripts/generate_mocks.sh, and implement the factory method) before adding command logic.
Tooling & Validation
Format new Go code with gofmt/goimports.
Run go build ./cmd/azdo/... to ensure the CLI compiles with the new wiring.
Add/update hermetic tests and execute go test ./... (include documentation regeneration in the validation checklist).
This issue tracks the introduction of the
azdo boards work-itemcommand group. It bridges the top-levelboardscommand with individual work item operations so that related commands share a consistent help surface and shared option parsing.Command Group Description
Create a
work-itemsubgroup beneathazdo boardsthat centralises work item management flows (listing, showing, creating, updating, etc.). The group should describe its relationship to Azure Boards work items and provide examples of typical scenarios (e.g., browsing the backlog, reviewing assignments, inspecting details).Implementation Notes
internal/cmd/boards/workitem/workitem.gothat exposesNewCmd(ctx util.CmdContext) *cobra.Command.internal/cmd/boards/boards.goso that commands such asazdo boards work-item listare discoverable via the CLI hierarchy.make docs) after wiring the subgroup so its help text appears in the published Markdown.Command Wiring
internal/cmd/boards/workitem/workitem.goand ensureNewCmdonly wires child commands under this package.internal/cmd/boards/boards.goto callcmd.AddCommand(workitem.NewCmd(ctx))so theboardshierarchy exposes the work-item subtree.make docsonce wiring is complete to update generated documentation.Subgroup Wiring
azdo boards work-itemshould expose therelationsubgroup beneath it. Therelationsubgroup is tracked by the umbrella issue Introduceazdo boards work-item relationcommand group #271.internal/cmd/boards/workitem/workitem.goto callcmd.AddCommand(relation.NewCmd(ctx))once the relation subgroup is implemented.SDK / Client Requirements
ClientFactory().WorkItemTracking(...),ClientFactory().Identity(...),ClientFactory().Extensions(...)).AGENTS.md(extendClientFactory, rungo mod tidyandgo mod vendor, updatescripts/generate_mocks.sh, and implement the factory method) before adding command logic.Tooling & Validation
gofmt/goimports.go build ./cmd/azdo/...to ensure the CLI compiles with the new wiring.go test ./...(include documentation regeneration in the validation checklist).Sub-Issues
azdo boards work-item listcommand (feat: Implementazdo boards work-item listcommand #136)azdo boards work-item createcommand (feat: Implementazdo boards work-item createcommand #203)azdo boards work-item showcommand (feat: Implementazdo boards work-item showcommand #238)azdo boards work-item deletecommand (feat: Implementazdo boards work-item deletecommand #269)azdo boards work-item updatecommand (feat: Implementazdo boards work-item updatecommand #270)azdo boards work-item relationsubgroup wiring (Introduceazdo boards work-item relationcommand group #271)References