fix(ci): single assignee per good first issue#1183
fix(ci): single assignee per good first issue#1183muddlebee merged 1 commit intoTracer-Cloud:mainfrom
Conversation
Skip auto-assign when the issue already has any assignee (unless the commenter is already in that list). Prevents a second new contributor from being added after the first claim.
Greptile SummaryThis follow-up to #1179 tightens the good-first-issue auto-assignment script so only the first assignee (bot or human) locks an issue. Confidence Score: 5/5Safe to merge — small, well-scoped change with correct ordering logic and a targeted new test. No P0/P1 findings. The two-step check (commenter-is-assignee, then any-assignee) is ordered correctly. The set-based rewrite is cleaner than the old loop. The new test exercises the exact path added. All remaining observations are P2 or lower. No files require special attention. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[issue_comment event] --> B{is PR thread?}
B -- yes --> Z1[skip: comment_on_pull_request]
B -- no --> C{issue open?}
C -- no --> Z2[skip: issue_not_open]
C -- yes --> D{has 'good first issue' label?}
D -- no --> Z3[skip: not_good_first_issue]
D -- yes --> E{commenter is Bot?}
E -- yes --> Z4[skip: bot_commenter]
E -- no --> F{commenter is OWNER/MEMBER/COLLABORATOR?}
F -- yes --> Z5[skip: commenter_repo_insider]
F -- no --> G{build assigned_logins set}
G --> H{commenter already in set?}
H -- yes --> Z6[skip: already_assignee]
H -- no --> I{set non-empty?}
I -- yes --> Z7[skip: issue_already_claimed NEW]
I -- no --> J[fetch merged PR count via API]
J --> K{merged PRs > 0?}
K -- yes --> Z8[skip: has_merged_prs]
K -- no --> L[assign & notify commenter]
Reviews (1): Last reviewed commit: "fix(ci): allow only first assignee on go..." | Re-trigger Greptile |
|
🔥 Another one. @muddlebee said "here's a PR" and maintainers said "ship it". That's how it's done. 👋 Join us on Discord - OpenSRE : hang out, contribute, or hunt for features and issues. Everyone's welcome. |

Context
Follow-up to #1179 (already merged). That PR added auto-assignment for eligible commenters on
good first issuethreads. This change tightens behavior so only the first assignee counts: if anyone is already assigned (bot or human), further eligible commenters are not added.Changes
issue_already_claimedwhenassigneesis non-empty and the commenter is not already in that list.test_screen_skips_when_issue_claimed_by_other.Testing
pytest tests/github/test_good_first_issue_assign.py