Sort issues, set a milestone on create, and add reactions, dependencies and tracked time #281
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/spec-parity-issues"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Five issues requirements of the fjord-client-spec (#211).
fj issue list --sorttakes Forgejo's own wire values (recentupdate,leastupdate, latest, oldest, mostcomment, leastcomment, nearduedate,
farduedate). The server silently falls back to its default order on an
unknown value, so the flag is a closed enum.
fj issue create --milestone <TITLE|ID>resolves the milestone first(title, then id; an ambiguous title errors naming the ids) and sends the
id in the create request. The confirmation line is read back from the
server's response.
fj issue reaction list|add|remove|togglework on the issue body or,with --comment, on one comment. The tally is re-read after every change.
fj issue dependency list|add|removeshow "Depends on" and "Blocks" astwo lists and keep the direction through --blocks. A self reference is
refused with no request; a duplicate, a cycle and a removal from the
wrong list are refused after reading both lists and before any mutation.
fj issue time list|add|deletelog and total tracked time. Durationsread as 1h30m, 45m, 90s or 1:30; a bare number is refused.
Dependencies and tracked time accept a pull request number too, since
the index is shared. Their "disabled on this repository" and "permission
denied" messages rest on a preflight of the repository's tracker
switches plus assumed status codes that have not been exercised against
a live forge.
fj issue view --jsonand the list JSON gain amilestonefield.Covered by unit and wiremock tests only. The status codes behind the dependency and tracked-time "disabled" and "permission denied" messages are the ones worth a live check before relying on the wording.
Part 4 of 8 in the spec-parity stack. Based on
feat/spec-parity-admin-profile, so the diff here is this slice alone; it needs a rebase onto main once the PR below it is squash-merged.Closes #211
Verified on macOS at this commit:
cargo fmt --allclean,cargo clippy --all-targets --all-features -- -D warningsclean,cargo test --allgreen.