Skip to content

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 <[email protected]>
@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

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