feat(project): add yt project vcs (YT-7) #50

Merged
David merged 1 commit from feat/project-vcs-YT-7 into main 2026-05-23 19:21:55 +02:00
Owner

Summary

  • Adds yt project vcs <SHORT_NAME> for listing the VCS integration processors configured on a project (server URL, repo path, enabled flag, processor $type).
  • --enabled-only filters disabled rows; --json emits a stable record shape; an empty integration set returns an empty list rather than an error.
  • Driver: the claude-bot YouTrack action needs the repo URL for an issue to clone the project; today consumers reach into the REST API directly. A dedicated subcommand keeps yt project show cheap.

Closes YT-7.

Test plan

  • yt project vcs YT lists the Gitea processor with server URL https://dev.a8n.run.
  • yt project vcs YT --json round-trips the $type, enabled, path, and serverUrl fields.
  • yt project vcs <project-with-no-integration> prints an empty result and exits 0.
  • New unit tests cover the happy path, the empty-integration path, and the processor-type shortener.
## Summary - Adds `yt project vcs <SHORT_NAME>` for listing the VCS integration processors configured on a project (server URL, repo path, enabled flag, processor `$type`). - `--enabled-only` filters disabled rows; `--json` emits a stable record shape; an empty integration set returns an empty list rather than an error. - Driver: the `claude-bot` YouTrack action needs the repo URL for an issue to clone the project; today consumers reach into the REST API directly. A dedicated subcommand keeps `yt project show` cheap. Closes YT-7. ## Test plan - [ ] `yt project vcs YT` lists the Gitea processor with server URL `https://dev.a8n.run`. - [ ] `yt project vcs YT --json` round-trips the `$type`, `enabled`, `path`, and `serverUrl` fields. - [ ] `yt project vcs <project-with-no-integration>` prints an empty result and exits 0. - [ ] New unit tests cover the happy path, the empty-integration path, and the processor-type shortener.
feat(project): add yt project vcs (YT-7)
All checks were successful
Check / fmt + clippy + build + tests (pull_request) Successful in 13s
Create release / Create release from merged PR (pull_request) Has been skipped
3158a39853
Adds `yt project vcs <SHORT_NAME>` to list the VCS integration processors configured on a project. Hits `/api/admin/projects/<id>?fields=plugins(vcsIntegrationSettings(processors(...)))` and flattens the nested `server { url }` into a single `server_url` per row. `--enabled-only` filters out disabled processors; `--json` emits the raw decoded list (keeps the `$type` discriminator so consumers can match on GitHub / GitLab / Gitea).

Driver: claude-bot needs the repo URL for an issue so it can clone the project; today every consumer hits the YouTrack REST API directly and reimplements the field selection. A dedicated subcommand keeps `yt project show` cheap and gives callers a stable shape to script against.

Empty integration sets return an empty list rather than an error.

#YT-7 State Done
David merged commit 29fa27c237 into main 2026-05-23 19:21:55 +02:00
David deleted branch feat/project-vcs-YT-7 2026-05-23 19:21:55 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pandoras-box/youtrack-cli!50
No description provided.