Skip to content

feat(boards): ✨ Implement azdo boards work-item create command - #329

Merged
tmeckel merged 17 commits into
masterfrom
tmeckel/issue203
Aug 15, 2026
Merged

feat(boards): ✨ Implement azdo boards work-item create command#329
tmeckel merged 17 commits into
masterfrom
tmeckel/issue203

Conversation

@tmeckel

@tmeckel tmeckel commented Aug 15, 2026

Copy link
Copy Markdown
Owner

Closes #203

Summary

Implements the azdo boards work-item create command (sub-issue of #138, sibling of #136). Routes through the vendored Azure DevOps Go SDK (Work Items - Create, REST 7.1) and mirrors the ergonomics of az boards work-item create.

Changes

Features

  • azdo boards work-item create — creates a work item in a project via the SDK with JSON Patch body (add ops on /fields/...)
  • --description-format flag (HTML/Markdown) with patch guards for System.Description; update command hardened with shared validators

Fixes

  • 🐛 treat empty 204 response as successful work-item delete
  • 🐛 harden list option validation and share validators
  • 🐛 ensure single newline after examples in generated root command docs

Tests

  • ✅ shared work-item helpers (SplitUnderPrefix, description/path handling)
  • ✅ create, list, update, delete commands (incl. 204 empty-response and description-format guards)

Chores

  • ♻️ checkin script: handle pre-commit hook modification of staged files
  • 🔧 typos: support standard spellchecker ignore directives (disable-line, ignore-next-line, off/on, ignore-file) and migrate exclusions to inline markers

Verification

  • make lint clean
  • go test ./...: 2148 passed / 172 packages
  • make docs regenerated; docs byte-stable
  • typos repo-wide clean (baseline findings only)

Notes

  • PROJECT scope parsing via [ORG:]PROJECT with default-organization fallback
  • --json/--jq/--template output via util.AddJSONFlags
  • Destructive operations prompt for confirmation (--yes supported)

tmeckel added 17 commits August 15, 2026 15:43
…and open

Adds description resolution (inline, file, editor) with markdown/html format
normalization, moves path and tag validation out of the list command into
shared helpers, and adds a shared browser open helper.
Covers description resolution, editor handling, format normalization, path
normalization, tag validation, and the open helper.
Implements create with inline, file, and editor description sources,
--description-format, links, custom fields, tags, area and iteration paths,
and JSON export; registers the command under boards work-item. Fixes #203.
Covers description sources and precedence, the format flag, custom fields,
validation, and JSON output.
…m update

Adds the --description-format flag, normalizes area and iteration paths,
rejects empty patch documents, guards against empty server responses, and
switches repeatable flags to StringArray semantics.
Covers the format flag, the empty patch guard, path normalization, and flag
validation.
The Delete Work Item API returns 204 No Content with an empty body on
success, which the SDK surfaces as a JSON decode error; such errors are now
treated as a successful deletion.
Covers success, typed API errors, and the empty 204 response path.
Rejects a non-positive --limit, stops hard-coding process-defined
classification and priority values, delegates tag and path validation to the
shared helpers, and switches --tag to StringArray semantics.
Covers the limit guard, shared validators, and updated flag semantics.
Regenerated documentation for the new create command, the
--description-format flag, and updated list flags.
…difications

Add optional body parameter support and implement a retry loop (up to 5 attempts) that detects files modified by pre-commit hooks, re-stages them, and retries the commit. Introduce changed_files helper and final working tree validation to ensure no leftover uncommitted changes remain.
@tmeckel tmeckel self-assigned this Aug 15, 2026
@tmeckel tmeckel added the enhancement New feature or request label Aug 15, 2026
@tmeckel tmeckel changed the title feat(boards): ✨ add work-item create command with description-format support feat(boards): ✨ Implement azdo boards work-item create command Aug 15, 2026
@tmeckel
tmeckel merged commit b6c420f into master Aug 15, 2026
4 of 5 checks passed
@tmeckel
tmeckel deleted the tmeckel/issue203 branch August 15, 2026 17:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: Implement azdo boards work-item create command

1 participant