Skip to content

Auto-assign on fork PRs via pull_request_target#112

Merged
TrevorSchirmer merged 2 commits into
betafrom
fix/autoassign-fork-prs
Jul 23, 2026
Merged

Auto-assign on fork PRs via pull_request_target#112
TrevorSchirmer merged 2 commits into
betafrom
fix/autoassign-fork-prs

Conversation

@bharvey88

@bharvey88 bharvey88 commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Standardize auto-assign so it runs on PRs opened from forks.

The auto-assign workflow triggers on pull_request (or skips forks via an if: guard), so fork-submitted PRs never get auto-assigned — fork pull_request runs only receive a read-only GITHUB_TOKEN. This switches to pull_request_target, drops the fork-skip guard, and pins the assignee to bharvey88.

pull_request_target runs in the base-repo context with a write token. Safe here because the workflow never checks out or executes PR code — it only assigns.

Targeting the default branch (main) because GitHub runs the auto-assign workflow from the default branch for issues / pull_request_target events; a fix only on beta would stay inert. Matches ApolloAutomation/MSR-2#84.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Auto-assignment now runs for pull requests submitted from forks.
    • Existing issue-triggered auto-assignment behavior remains unchanged.

@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@bharvey88, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 13 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 0bc4fd06-0311-4501-8148-881b76f922b6

📥 Commits

Reviewing files that changed from the base of the PR and between b134014 and 1b4e92a.

📒 Files selected for processing (1)
  • .github/workflows/autoassign.yml

Walkthrough

The auto-assign workflow now runs for fork-submitted pull requests through pull_request_target, while retaining issue-opened handling and removing the prior fork exclusion.

Changes

Auto-assign workflow

Layer / File(s) Summary
Enable fork pull-request assignment
.github/workflows/autoassign.yml
The workflow switches to pull_request_target, keeps the issues trigger, and removes the condition that skipped fork pull requests.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

Suggested reviewers: dependabot[bot], trevorschirmer

Poem

I’m a rabbit in the workflow lane,
Pulling forked requests through the rain.
Issues still open, assignments take flight,
One trigger now makes the path right.
Hop, hop—automation’s bright!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: enabling auto-assignment for forked PRs using pull_request_target.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/autoassign-fork-prs

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/autoassign.yml:
- Around line 3-9: Update the reusable workflow reference in autoassign.yml from
the mutable main branch to a specific immutable commit SHA, preserving the
existing workflow path and permissions configuration.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: dac3febc-b731-4670-bdea-8f06f4cbf5ba

📥 Commits

Reviewing files that changed from the base of the PR and between a62f50e and b134014.

📒 Files selected for processing (1)
  • .github/workflows/autoassign.yml

Comment on lines +3 to +9
# pull_request_target (not pull_request) so auto-assign works on
# fork-submitted PRs; fork pull_request runs only get a read-only token.
# Safe because this workflow never checks out or executes PR code.
on:
issues:
types: [opened]
pull_request:
pull_request_target:

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '\n== autoassign workflow ==\n'
cat -n .github/workflows/autoassign.yml

printf '\n== ApolloAutomation references ==\n'
rg -n "ApolloAutomation/Workflows|uses:" .github/workflows -S

Repository: ApolloAutomation/AIR-1

Length of output: 1409


🏁 Script executed:

#!/bin/bash
set -euo pipefail
cat -n .github/workflows/autoassign.yml
rg -n "ApolloAutomation/Workflows|uses:" .github/workflows -S

Repository: ApolloAutomation/AIR-1

Length of output: 1347


Pin the reusable workflow to a commit SHA.
.github/workflows/autoassign.yml still calls ApolloAutomation/Workflows/.github/workflows/autoassign.yml@main with issues: write and pull-requests: write (line 18). A change on that branch would run here with repository write access.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/autoassign.yml around lines 3 - 9, Update the reusable
workflow reference in autoassign.yml from the mutable main branch to a specific
immutable commit SHA, preserving the existing workflow path and permissions
configuration.

@bharvey88
bharvey88 changed the base branch from main to beta July 23, 2026 16:10
@TrevorSchirmer
TrevorSchirmer merged commit 2dc37ea into beta Jul 23, 2026
11 checks passed
@TrevorSchirmer
TrevorSchirmer deleted the fix/autoassign-fork-prs branch July 23, 2026 16:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants