[PR #41] [MERGED] ci(assign-reviewers): write the ASSIGNEE field instead of requesting reviewers #51

Closed
opened 2026-10-26 22:35:45 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/Comfy-Org/github-workflows/pull/41
Author: @mattmillerai
Created: 7/20/2026
Status: ✅ Merged
Merged: 7/20/2026
Merged by: @mattmillerai

Base: main ← Head: matt/assign-reviewers-write-assignee


📝 Commits (1)

  • 35c4231 ci(assign-reviewers): write the ASSIGNEE field instead of requesting reviewers

📊 Changes

1 file changed (+30 additions, -24 deletions)

View changed files

📝 .github/workflows/assign-reviewers.yml (+30 -24)

📄 Description

ELI-5

Our reviewer auto-assignment robot was tapping people via GitHub's "review requested" list — but this team watches the Assignee field to know a PR needs them. So the robot was alerting a room nobody's in. This makes it write the Assignee field, so the right experts actually get pinged.

What

The reusable assign-reviewers.yml selects expertise-aware, load-balanced people, then requested them as reviewers. Confirmed with @mattmillerai that this org routes/alerts via the assignee field, not requested-reviewers. Three functional changes; selection logic unchanged:

  1. Action: pulls.requestReviewers({reviewers}) → issues.addAssignees({issue_number, assignees}).
  2. Early-exit guard: skip when pr.assignees.length > 0 (was requested_reviewers).
  3. Load-balance query: assignee:${login} (was review-requested:${login}).

Plus comment/name updates so the file matches its behavior.

Back-compat & notes

  • No caller changes required beyond a pin bump. Input names, the .github/reviewers.yml schema, and num_reviewers are unchanged — only the field written flips.
  • addAssignees caps at 10 and silently drops non-collaborators (unlike requestReviewers, which errors) — exactly the staleness the BE-3790 validation check is meant to catch.
  • Permission: assigning users on PRs uses the app's Pull requests: write, which CLOUD_CODE_BOT already carries. If assignment ever 403s, add Issues: write to the app.

Rollout

First consumer is the cloud caller (cloud#4640 / BE-1944), whose pin bumps to this commit. No other caller is affected. Related: BE-1943 (original reusable), BE-3790 (login validation).

🤖 Generated with Claude Code


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/Comfy-Org/github-workflows/pull/41 **Author:** [@mattmillerai](https://github.com/mattmillerai) **Created:** 7/20/2026 **Status:** ✅ Merged **Merged:** 7/20/2026 **Merged by:** [@mattmillerai](https://github.com/mattmillerai) **Base:** `main` ← **Head:** `matt/assign-reviewers-write-assignee` --- ### 📝 Commits (1) - [`35c4231`](https://github.com/Comfy-Org/github-workflows/commit/35c423114b91a5b4b3225bff25bb55092c9e4f32) ci(assign-reviewers): write the ASSIGNEE field instead of requesting reviewers ### 📊 Changes **1 file changed** (+30 additions, -24 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/assign-reviewers.yml` (+30 -24) </details> ### 📄 Description ## ELI-5 Our reviewer auto-assignment robot was tapping people via GitHub's "review requested" list — but this team watches the **Assignee** field to know a PR needs them. So the robot was alerting a room nobody's in. This makes it write the Assignee field, so the right experts actually get pinged. ## What The reusable `assign-reviewers.yml` selects expertise-aware, load-balanced people, then requested them as reviewers. Confirmed with @mattmillerai that this org routes/alerts via the **assignee** field, not requested-reviewers. Three functional changes; **selection logic unchanged**: 1. Action: `pulls.requestReviewers({reviewers})` → `issues.addAssignees({issue_number, assignees})`. 2. Early-exit guard: skip when `pr.assignees.length > 0` (was `requested_reviewers`). 3. Load-balance query: `assignee:${login}` (was `review-requested:${login}`). Plus comment/name updates so the file matches its behavior. ## Back-compat & notes - **No caller changes required** beyond a pin bump. Input names, the `.github/reviewers.yml` schema, and `num_reviewers` are unchanged — only the field written flips. - `addAssignees` caps at **10** and **silently drops non-collaborators** (unlike `requestReviewers`, which errors) — exactly the staleness the BE-3790 validation check is meant to catch. - **Permission:** assigning users on PRs uses the app's `Pull requests: write`, which CLOUD_CODE_BOT already carries. If assignment ever 403s, add `Issues: write` to the app. ## Rollout First consumer is the cloud caller (cloud#4640 / BE-1944), whose pin bumps to this commit. No other caller is affected. Related: BE-1943 (original reusable), BE-3790 (login validation). 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-26 22:35:45 +00:00
Sign in to join this conversation.
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
Comfy-Org/github-workflows#51
No description provided.