Skip to content

chore(api): deprecate last plugin webhook endpoints#107296

Merged
cvxluo merged 2 commits intomasterfrom
cvxluo/more-plugin-deprecation-cells
Feb 2, 2026
Merged

chore(api): deprecate last plugin webhook endpoints#107296
cvxluo merged 2 commits intomasterfrom
cvxluo/more-plugin-deprecation-cells

Conversation

@cvxluo
Copy link
Contributor

@cvxluo cvxluo commented Jan 29, 2026

Deprecate sentry-plugins-github-webhook and sentry-plugins-bitbucket-webhook. Similar to #106601.

Refs https://www.notion.so/sentry/Cell-safe-API-endpoints-2a38b10e4b5d8036931fd6781e01eb23?source=copy_link

Add deprecation decorator to GitHub and Bitbucket plugin webhook endpoints
(sentry-plugins-github-webhook and sentry-plugins-bitbucket-webhook) for
cell API deprecation.


Co-authored-by: Claude <noreply@anthropic.com>
@github-actions github-actions bot added the Scope: Backend Automatically applied to PRs that change backend components label Jan 29, 2026
@cvxluo cvxluo marked this pull request as ready for review January 29, 2026 21:26
@cvxluo cvxluo requested a review from a team as a code owner January 29, 2026 21:26
@cvxluo cvxluo requested review from a team, cathteng and markstory January 29, 2026 21:26
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.


return super().dispatch(request, *args, **kwargs)

@deprecated(CELL_API_DEPRECATION_DATE, url_names=["sentry-plugins-bitbucket-webhook"])
Copy link
Contributor

Choose a reason for hiding this comment

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

DRF Response incompatible with plain Django View

High Severity

The @deprecated decorator is being applied to plain Django View subclasses, but during brownout periods it returns a DRF Response object. DRF's Response requires accepted_renderer to be set (normally done by DRF's APIView content negotiation), but plain Django Views don't have this machinery. After the deprecation date, brownouts will cause an AssertionError: .accepted_renderer not set on Response crash instead of returning a 410 Gone response. Both BitbucketPluginWebhookEndpoint and GithubPluginWebhookEndpoint inherit from Django's View, not DRF's APIView.

Additional Locations (1)

Fix in Cursor Fix in Web

@cvxluo cvxluo requested a review from a team February 2, 2026 19:51
@cvxluo cvxluo merged commit aa8fcad into master Feb 2, 2026
66 checks passed
@cvxluo cvxluo deleted the cvxluo/more-plugin-deprecation-cells branch February 2, 2026 21:25
@github-actions github-actions bot locked and limited conversation to collaborators Feb 18, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

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