Skip to content

feat(pr iteration): add nudge for updating github app permissisons#119111

Merged
joseph-sentry merged 20 commits into
masterfrom
joey--gh-integration-nudge-fe
Jul 7, 2026
Merged

feat(pr iteration): add nudge for updating github app permissisons#119111
joseph-sentry merged 20 commits into
masterfrom
joey--gh-integration-nudge-fe

Conversation

@joseph-sentry

Copy link
Copy Markdown
Contributor

deps on #119082

We already have nudges for updating slack app permissions so we want to add nudges for the github app as well. This works differently from the slack app nudges since for the slack app to update the app you go through the install flow again, but in this case there's a dedicated URL for updating the github app and going through the install flow again will not work.

There's also a refactor in here regarding the deletion in the integration detailed page where it now uses useMutation and this is so we can avoid a race condition when refetching since we changed the stale time for the config query on that page to 0.

Label Screenshot
Integration row tooltip image
Integration detail alert image
After clicking update now button on alert with 1 outdated config image
Integration detail configuration tab image
Integration detail tooltip image
After clicking update now button on integration in integration detailed view image

logic for commenting on autofix PRs during PR iteration
when tool calls fail potentially due to out of date github app
permissions

logic for passing "warnings" back from group ai autofix GET endpoint
specifically for failed tool calls potentially due to out of date github app
permissions
like the slack integration we want to have nudges / buttons for the
github integration so users can easily be notified that some installation
is out of date, and so they can update it

part of this is updating the serializer for integrations to pass an
"out of date" field to let the frontend know that the integration needs
to be updated based on logic that runs in the backend that has easy access to
options not exposed through the API

also moving around the slack scope class definition bc it was causing a circular
import issue
we recently implemented nudges + buttons in the integration settings pages
for updating the slack app if it was out of date and now we're doing the
same for users' github app installations

the implementation is pretty much the same except we have a different modal
in this one since we're directing the user to a specific URL instead of
having them go through the install flow again
@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 Jul 7, 2026
@github-actions

github-actions Bot commented Jul 7, 2026

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

github-actions Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

📊 Type Coverage Diff

Metric Before After Delta
Coverage 93.91% 93.91% ±0%
Typed 134,010 134,019 🟢 +9
Untyped 8,691 8,691 ±0
🔍 1 new type safety issue introduced

Non-null assertions (!) (1 new)

File Line Detail
static/app/utils/integrations/useAutoOpenPermissionsModal.tsx 87 outdatedConfiguration!

This is informational only and does not block the PR.

@joseph-sentry joseph-sentry marked this pull request as ready for review July 7, 2026 16:29
@joseph-sentry joseph-sentry requested review from a team as code owners July 7, 2026 16:29
@getsentry getsentry deleted a comment from github-actions Bot Jul 7, 2026
Comment thread static/app/views/settings/organizationIntegrations/integrationDetailedView.tsx Outdated
Comment thread static/app/views/settings/organizationIntegrations/integrationDetailedView.tsx Outdated

@alexsohn1126 alexsohn1126 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Seems good to me, thanks 🙏

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

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.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 608d8bb. Configure here.

Comment thread static/app/utils/integrations/useAutoOpenPermissionsModal.tsx
Comment thread static/app/utils/integrations/useAutoOpenPermissionsModal.tsx Outdated
@joseph-sentry joseph-sentry merged commit ae93bf7 into master Jul 7, 2026
78 checks passed
@joseph-sentry joseph-sentry deleted the joey--gh-integration-nudge-fe branch July 7, 2026 18:36
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.

2 participants