| Files | Last commit | Last update |
|---|---|---|
feat(pr): add --add-assignee/--add-reviewer/--add-tester flags to pr edit Extend the existing gc pr edit command with 6 new flags for assignee/reviewer/tester management: - --add-assignee / --remove-assignee: POST/DELETE /pulls/{n}/assignees - --add-reviewer / --remove-reviewer: POST/DELETE /pulls/{n}/reviewers - --add-tester / --remove-tester: POST/DELETE /pulls/{n}/testers API additions in queries_pr.go: - AssigneeRequest, ReviewerRequest, TesterRequest types - AddPRAssignees, RemovePRAssignees, AddPRReviewers, RemovePRReviewers, AddPRTesters, RemovePRTesters functions (6 endpoints) - DELETE-with-body uses client.REST(DELETE, ...) since client.Delete doesn't support request body EditOptions extended with 6 StringSliceVar fields. editRun now: 1. Optionally calls EditPR (only if basic field changes) 2. Calls applyAssigneeChanges for assignee/reviewer/tester operations 3. Always fetches updated PR via GetPullRequest for display/JSON 9 existing tests pass (updated wantRequests to account for new GET). Real command verification: 6 new flags appear in --help, no-args error works correctly. Refs gitcode-cli/cli#541 | 2 months ago | |
fix(pr): address Round 1 review — string body + query params + tests Address Round 1 independent review findings (PR #502): Blocker fixes: - C1: Change AssigneeRequest/ReviewerRequest/TesterRequest from []string to string (comma-separated) to match api-doc schema (type: string, not array) - C2: RemovePRAssignees now uses query parameter (?assignees=u1,u2) instead of request body (api-doc says DELETE assignees has no standard request body definition) - C3: Add omitempty to ReviewerRequest.Add and TesterRequest.Add to prevent remove path from sending add:false - T1: Add TestEditRunAddAssignee, TestEditRunAddReviewerAndTester, TestEditRunRemoveAssignee (verify POST/DELETE methods called) - T2: Add TestHasAssigneeChanges (4 scenarios) 13/13 tests pass. Refs gitcode-cli/cli#541 | 2 months ago |