Fix: Grant required permissions for assign-to-agent GraphQL mutation #13306
+8
−3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
assign-to-agentsafe output fails with "Resource not accessible by personal access token" because the compiler grants insufficient permissions for thereplaceActorsForAssignableGraphQL mutation.Root Cause
The compiler uses
NewPermissionsContentsReadIssuesWrite()for assign-to-agent operations, but the GraphQL mutation requires elevated permissions on four scopes.Changes
Compiler permissions (
pkg/workflow/compiler_safe_outputs_job.go:260)NewPermissionsContentsReadIssuesWrite()→NewPermissionsActionsWriteContentsWriteIssuesWritePRWrite()actions: write,contents: write,issues: write,pull-requests: writeAffected workflows (auto-recompiled)
issue-monster.lock.yml- Primary workflow using assign-to-agentworkflow-generator.lock.yml- Also uses assign-to-agentExample
Before:
After:
Impact
All workflows using
assign-to-agentsafe output now receive correct permissions. The GraphQL mutation requires these elevated permissions perassign_agent_helpers.cjs:logPermissionError().Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.