aglinxinyuan opened a new issue, #4975:
URL: https://github.com/apache/texera/issues/4975

   ### Task Summary
   
   Extend the existing comment-command automation in 
[`take-commands.yml`](.github/workflows/take-commands.yml) to let PR authors 
request reviewers via comments. Mirrors the `/take` pattern, but on the PR side 
and against the review-request API.
   
   Follow-up to [#4884 
(comment)](https://github.com/apache/texera/issues/4884#issuecomment-4390059485).
   
   **Commands**
   
   | Comment                  | Effect                                          
                |
   | ------------------------ | 
--------------------------------------------------------------- |
   | `/review @alice @bob`    | Request review from `alice` and `bob` on the 
current PR         |
   | `/unreview @alice`       | Cancel a pending review request from `alice`    
                |
   
   **Trigger flow**
   
   ```
   issue_comment.created
           │
           │  (job-level if-gate, mirrors take-commands.yml)
           ▼
   issue.pull_request != null
   comment.user.type   != Bot
   body startsWith     /review or /unreview
           │
           ▼
   exact-shape regex: ^/(un)?review(\s+@\S+)+\s*$
   PR-author-only check: comment.user.login == issue.user.login
           │
           ▼
   pulls.requestReviewers          (on /review)
   pulls.removeRequestedReviewers  (on /unreview)
   ```
   
   **Implementation notes**
   
   - Add a sibling job to `take-commands.yml` keyed off `issue_comment.created` 
with `github.event.issue.pull_request != null`. Keep the `startsWith` filter at 
the job level so unrelated comments do not allocate a runner; an exact regex 
inside the script enforces command shape (so `/review this later` does not 
silently match).
   - Gate to the PR author (`comment.user.login == issue.user.login`). Drive-by 
reviewer assignment from non-authors is silently dropped. Self-review requests 
are dropped before the API call (the API rejects them anyway).
   - Permissions: `pull-requests: write` (in addition to the existing `issues: 
write`).
   - v1 scope: `@user` handles only. `@org/team` handles can be added later by 
routing into `team_reviewers`.
   
   **Why**
   
   External / fork contributors typically lack triage on the upstream repo, so 
the GitHub UI's "Request review" sidebar is greyed out for them. A comment 
command gives them a low-friction path that also leaves an explicit record in 
the PR conversation, consistent with the existing `/take` flow on issues.
   
   ### Task Type
   
   - [x] DevOps / Deployment / CI
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to