Repository navigation
Releases: rioliu/zentao-cli-go
Release list
v0.10.0: task subtasks
zentao task create/update --parent N: create subtasks under a parent task. The parent field is undeclared in the upstream spec but persisted by the server (isParent flag maintenance included) - pinned by contract and e2e tests against 22.4.
v0.9.0: project/execution/metric commands
New commands closing the API gaps from the AI审读 setup session:
zentao project create|get|list|link-story|unlink-story- project workflow;--productmandatory on create (prevents the server's auto-product path); link/unlink verified by read-back, reports silently skipped storieszentao execution create- sprint under a project (no default sprint/story links via API)zentao story link|unlink --with ...- keeps the linkStories field AND the relation rows in sync (either alone is half a link)zentao task move|delete- move repairs two server bugs: restores a zeroed task.story, warns on the stale task.projectzentao metric update-dashboard|update-lib- manual metric recompute for installs without a scheduler- fix: product list pagination hint never fired (pager fields are nested)
Specs:9 new rules in specs/overrides.yaml + contract/gaps_test.go pins; regression green against live 22.4.
v0.8.0: story --parent
Adds --parent N to zentao story create and zentao story update for child stories (requirement breakdown).
zentao story create --product 1 --title 'Parent requirement' --spec ... --reviewer admin
zentao story create --product 1 --title 'Child story' --parent 14 --reviewer adminparent(父需求) in the request body;productIDstays in the query- omitted flag → field absent (root story), works on create and update
- pinned by unit + contract (
TestStoryChild_ParentPersisted, live 22.4) + e2e (TestE2E_StoryCreateChild);make regressiongreen
PR: #6
v0.7.0: story update --status
Adds --status to zentao story update: raw status write (draft|reviewing|active|changing|closed), validated client-side.
- Server persists the field on PUT /stories/ (edit form carries status although the REST spec omits it - same pass-through as spec/verify)
- For active/closed prefer story activate / story close: they record history and handle close reason/stage
- Unit + contract pins; make regression green against 22.4 testenv
v0.6.1: comment list remarks
Fixes
zentao comment listnow returns every action-stream entry carrying comment text, not onlyaction=commented- task finish notes (action=finished) and close remarks are no longer invisible- output gains an
actionkey:[{"id": N, "action": "finished|commented|...", "comment": "<html>"}] - e2e: isolate HOME in the "missing env config" usage test (was resolving the developer's real profile)
v0.6.0: token login
Token-based auth
zentao token [--fresh]prints an authorized REST API token (warm-cache reuse; renews via password when dead)zentao login --token TOKENadopts an externally obtained token: verified server-side, stored in the session cache (0600)ZENTAO_TOKENenv supplies the token for any command and outranks the session cache- clear errors for token-only setups: expired token without password, and comment (web realm) access which still requires a password
v0.5.0: product interface
zentao product list [--page N] [--json]- discover product IDs for--producton story/bug createzentao product get <id>- full product object as JSON- docs: README guide, command reference, bundled agent skill
v0.4.0: list command
zentao story|task|bug list [--mine|--product|--execution|--project] [--page] [--json]. Scoped routes only (the bare list routes are unusable server-side). Default scope: my open work.
v0.3.0: the development loop
Task and bug workflows complete the dev loop: story > task > bug with comments everywhere. Task start/finish/close/activate (with the 'left' field quirk guarded), bug resolve/confirm/close/activate (resolvedBuild-as-string, state-dependent openedBuild handled).
v0.2.1: bug comments pinned
Bug comments work through the generic route (the official CLI's known issue - the bugs/confirm workaround is obsolete). Round-trip coverage in contract and e2e rings.