Skip to content

feat(identities): Add GitHub Copilot identity to account identities page#107443

Merged
JoshFerge merged 1 commit intomasterfrom
jferg/github-copilot-identity-page
Feb 5, 2026
Merged

feat(identities): Add GitHub Copilot identity to account identities page#107443
JoshFerge merged 1 commit intomasterfrom
jferg/github-copilot-identity-page

Conversation

@JoshFerge
Copy link
Member

@JoshFerge JoshFerge commented Feb 2, 2026

Summary

Adds support for viewing and disconnecting GitHub Copilot identities from the account identities page at /settings/account/identities/.

This PR adds the Sentry-side infrastructure for the GitHub Copilot identity feature:

  • RpcGitHubCopilotIdentity model for the hybrid cloud service interface
  • get_one_or_none and delete methods to GitHubCopilotIdentityService
  • wrap_github_copilot method to UserIdentityConfig serializer
  • GitHub Copilot identity fetching in the get_identities endpoint
  • Special handling for GitHub Copilot identity deletion via the service

The default service implementation returns None/False, so identities will only appear when getsentry is configured with the real service implementation.

Note: This requires a corresponding PR in getsentry to implement the actual service.

Test plan

  • Existing tests pass (pytest -svv --reuse-db tests/sentry/users/api/endpoints/test_user_identity_config.py)
  • With devserver running and getsentry configured, navigate to /settings/account/identities/ and verify GitHub Copilot identity appears
  • Test disconnecting the identity

@github-actions github-actions bot added Scope: Frontend Automatically applied to PRs that change frontend components Scope: Backend Automatically applied to PRs that change backend components labels Feb 2, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Feb 2, 2026

🚨 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.

Add support for viewing and disconnecting GitHub Copilot identities from
the account identities page at /settings/account/identities/.

This adds:
- RpcGitHubCopilotIdentity model for the hybrid cloud service
- get_one_or_none and delete methods to GitHubCopilotIdentityService
- wrap_github_copilot method to UserIdentityConfig serializer
- GitHub Copilot identity fetching in get_identities endpoint
- Special handling for GitHub Copilot identity deletion

The default service implementation returns None/False, so this only
shows identities when getsentry is configured with the real service.
@JoshFerge JoshFerge force-pushed the jferg/github-copilot-identity-page branch from 7940b6e to b2d4302 Compare February 3, 2026 14:38
@JoshFerge JoshFerge removed the Scope: Frontend Automatically applied to PRs that change frontend components label Feb 3, 2026
@JoshFerge
Copy link
Member Author

@cursor review

@JoshFerge
Copy link
Member Author

@sentry review

Copy link
Contributor

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

@JoshFerge JoshFerge marked this pull request as ready for review February 3, 2026 14:52
@JoshFerge JoshFerge requested review from a team as code owners February 3, 2026 14:52
Copy link
Contributor

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

@JoshFerge JoshFerge merged commit 2c6e7f5 into master Feb 5, 2026
74 checks passed
@JoshFerge JoshFerge deleted the jferg/github-copilot-identity-page branch February 5, 2026 19:46
JoshFerge added a commit that referenced this pull request Feb 5, 2026
## Summary
Add github_copilot mapping to IDENTITY_ICONS so the GitHub Copilot
identity displays the GitHub logo instead of the generic placeholder.

Split out from #107443 for independent deployment.

## Test plan
- Visual verification that GitHub Copilot identity shows GitHub logo on
the identities page
jaydgoss pushed a commit that referenced this pull request Feb 12, 2026
…age (#107443)

## Summary

Adds support for viewing and disconnecting GitHub Copilot identities
from the account identities page at `/settings/account/identities/`.

This PR adds the Sentry-side infrastructure for the GitHub Copilot
identity feature:

- `RpcGitHubCopilotIdentity` model for the hybrid cloud service
interface
- `get_one_or_none` and `delete` methods to
`GitHubCopilotIdentityService`
- `wrap_github_copilot` method to `UserIdentityConfig` serializer
- GitHub Copilot identity fetching in the `get_identities` endpoint
- Special handling for GitHub Copilot identity deletion via the service

The default service implementation returns `None`/`False`, so identities
will only appear when getsentry is configured with the real service
implementation.

**Note**: This requires a corresponding PR in getsentry to implement the
actual service.

## Test plan

- [x] Existing tests pass (`pytest -svv --reuse-db
tests/sentry/users/api/endpoints/test_user_identity_config.py`)
- [x] With devserver running and getsentry configured, navigate to
`/settings/account/identities/` and verify GitHub Copilot identity
appears
- [x] Test disconnecting the identity
jaydgoss pushed a commit that referenced this pull request Feb 12, 2026
## Summary
Add github_copilot mapping to IDENTITY_ICONS so the GitHub Copilot
identity displays the GitHub logo instead of the generic placeholder.

Split out from #107443 for independent deployment.

## Test plan
- Visual verification that GitHub Copilot identity shows GitHub logo on
the identities page
dcramer pushed a commit that referenced this pull request Feb 17, 2026
…age (#107443)

## Summary

Adds support for viewing and disconnecting GitHub Copilot identities
from the account identities page at `/settings/account/identities/`.

This PR adds the Sentry-side infrastructure for the GitHub Copilot
identity feature:

- `RpcGitHubCopilotIdentity` model for the hybrid cloud service
interface
- `get_one_or_none` and `delete` methods to
`GitHubCopilotIdentityService`
- `wrap_github_copilot` method to `UserIdentityConfig` serializer
- GitHub Copilot identity fetching in the `get_identities` endpoint
- Special handling for GitHub Copilot identity deletion via the service

The default service implementation returns `None`/`False`, so identities
will only appear when getsentry is configured with the real service
implementation.

**Note**: This requires a corresponding PR in getsentry to implement the
actual service.

## Test plan

- [x] Existing tests pass (`pytest -svv --reuse-db
tests/sentry/users/api/endpoints/test_user_identity_config.py`)
- [x] With devserver running and getsentry configured, navigate to
`/settings/account/identities/` and verify GitHub Copilot identity
appears
- [x] Test disconnecting the identity
dcramer pushed a commit that referenced this pull request Feb 17, 2026
## Summary
Add github_copilot mapping to IDENTITY_ICONS so the GitHub Copilot
identity displays the GitHub logo instead of the generic placeholder.

Split out from #107443 for independent deployment.

## Test plan
- Visual verification that GitHub Copilot identity shows GitHub logo on
the identities page
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants