Commit 40e7d1c
committed
fix(prs): resolve reviewer identity + lastMergeSourceCommit for approve/complete
Two bugs fixed:
1. ado prs approve: The vote API returned 'You cannot record
a vote for someone else' because resolve_reviewer_id/3
picked the FIRST reviewer in the list, regardless of
whether the authenticated user was that reviewer. Now calls
AdoCli.Auth.current_user_id/0 and matches against each
reviewer's identity.id to find the user's own slot.
2. ado prs complete: The Azure DevOps complete-PR API returned
'You must specify a valid LastMergeSourceCommit' because
the PATCH body was missing lastMergeSourceCommit.commitId.
Now the function first fetches the PR details (GET) to
extract the commit SHA, then includes it in the PATCH body
via a new build_complete_body/2 helper.
Also replaced a 'with' chain that used '|| halt_error(...)' in
the completion path — halt_error in ProcessShell returns a
truthy value, so the 'with' continued into the next clause
instead of stopping. Replaced with nested case statements.
Test updates: complete_pr now has 2 tests (GET then PATCH
success + missing lastMergeSourceCommit error).1 parent e4318ed commit 40e7d1c
2 files changed
Lines changed: 103 additions & 35 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
426 | 426 | | |
427 | 427 | | |
428 | 428 | | |
429 | | - | |
430 | | - | |
431 | | - | |
432 | | - | |
433 | | - | |
434 | | - | |
435 | | - | |
436 | | - | |
437 | 429 | | |
438 | 430 | | |
439 | 431 | | |
440 | | - | |
441 | | - | |
442 | | - | |
443 | | - | |
444 | | - | |
445 | | - | |
446 | | - | |
447 | | - | |
448 | | - | |
449 | | - | |
450 | | - | |
451 | | - | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
452 | 463 | | |
453 | 464 | | |
454 | 465 | | |
455 | 466 | | |
456 | 467 | | |
457 | 468 | | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
458 | 479 | | |
459 | 480 | | |
460 | 481 | | |
| |||
866 | 887 | | |
867 | 888 | | |
868 | 889 | | |
869 | | - | |
870 | | - | |
871 | | - | |
872 | | - | |
873 | | - | |
874 | | - | |
| 890 | + | |
| 891 | + | |
| 892 | + | |
| 893 | + | |
| 894 | + | |
| 895 | + | |
| 896 | + | |
| 897 | + | |
| 898 | + | |
| 899 | + | |
| 900 | + | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
| 904 | + | |
| 905 | + | |
| 906 | + | |
| 907 | + | |
| 908 | + | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
| 912 | + | |
875 | 913 | | |
876 | 914 | | |
877 | 915 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
145 | 145 | | |
146 | 146 | | |
147 | 147 | | |
148 | | - | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
149 | 164 | | |
150 | 165 | | |
151 | | - | |
| 166 | + | |
152 | 167 | | |
153 | | - | |
| 168 | + | |
154 | 169 | | |
155 | 170 | | |
156 | 171 | | |
| |||
163 | 178 | | |
164 | 179 | | |
165 | 180 | | |
166 | | - | |
| 181 | + | |
167 | 182 | | |
168 | 183 | | |
169 | 184 | | |
170 | 185 | | |
171 | 186 | | |
172 | 187 | | |
173 | | - | |
174 | | - | |
175 | | - | |
176 | | - | |
177 | | - | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
178 | 208 | | |
179 | 209 | | |
180 | 210 | | |
| |||
0 commit comments