Skip to content

feat(coding integrations): github copilot integration backend#111850

Draft
sehr-m wants to merge 4 commits intomasterfrom
sehrm/feat/new-copilot-integration-backend
Draft

feat(coding integrations): github copilot integration backend#111850
sehr-m wants to merge 4 commits intomasterfrom
sehrm/feat/new-copilot-integration-backend

Conversation

@sehr-m
Copy link
Copy Markdown
Member

@sehr-m sehr-m commented Mar 30, 2026

Currently GitHub Copilot coding agent handoff is a permission set at the user-level as users must choose to connect their github account. However, after some discussion we think copilot integration should have to be allowed at the organization admin in line with how cursor and claude operate. Since copilot does not need an api key or any credentials, this PR creates a DirectEnableIntegration which skips the pop up stage and enables the integration. Only if this is enabled are users within the org provided access to "Setup/Send to GitHub Copilot" option for the handoff dropdown.

This is an intermediate fix for now. There are several changes planned for coding integration settings that would likely make this unnecessary. Additionally, we only launched EA of copilot in the last couple of weeks, this should not be merged or put out until we decide how we would like to inform our current users that this will break their setup (minimally).

This backend PR will be followed by a frontend one.

Screen.Recording.2026-03-30.at.10.35.59.AM.mov

@github-actions github-actions bot added the Scope: Backend Automatically applied to PRs that change backend components label Mar 30, 2026
@github-actions github-actions bot added the Scope: Frontend Automatically applied to PRs that change frontend components label Mar 30, 2026
@github-actions
Copy link
Copy Markdown
Contributor

🚨 Warning: This pull request contains Frontend and Backend changes!

It's discouraged to make changes to Sentry's Frontend and Backend in a single pull request. The Frontend and Backend are not atomically deployed. If the changes are interdependent of each other, they must be separated into two pull requests and be made forward or backwards compatible, such that the Backend or Frontend can be safely deployed independently.

Have questions? Please ask in the #discuss-dev-infra channel.

@github-actions
Copy link
Copy Markdown
Contributor

Backend Test Failures

Failures on 4490dfb in this run:

tests/sentry/management/commands/test_generate_controlsilo_urls.py::TestGenerateControlsiloUrls::test_no_missing_urlslog
[gw0] linux -- Python 3.13.1 /home/runner/work/sentry/sentry/.venv/bin/python3
tests/sentry/management/commands/test_generate_controlsilo_urls.py:70: in test_no_missing_urls
    assert line in current_state, msg
E   AssertionError: 
E                 New control silo URL patterns detected!
E     
E                 The pattern:   new RegExp('^api/0/organizations/[^/]+/integrations/direct-enable/[^/]+/$'),
E     
E                 Does not exist in the current pattern inventory. You should regenerate
E                 the pattern inventory with:
E     
E                 cd ../getsentry
E                 getsentry django generate_controlsilo_urls --format=js --output=../sentry/static/app/data/controlsiloUrlPatterns.ts
E     
E                 This command needs to be run in a getsentry environment
E                 in order to not lose patterns that are important for sentry.io
E                 
E   assert "  new RegExp('^api/0/organizations/[^/]+/integrations/direct-enable/[^/]+/$')," in "// This is generated code.\n// To update it run `getsentry django generate_controlsilo_urls --format=js --output=/pat...gExp('^extensions/discord/link-identity/[^/]+/$'),\n  new RegExp('^extensions/discord/unlink-identity/[^/]+/$'),\n];\n"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Backend Automatically applied to PRs that change backend components Scope: Frontend Automatically applied to PRs that change frontend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant