Skip to content

ref(seer-billing): Stop writing OrganizationContributors.integration_id and mark it pending deletion - #120767

Draft
srest2021 wants to merge 1 commit into
masterfrom
srest2021/CW-1539-remove-integration-id
Draft

ref(seer-billing): Stop writing OrganizationContributors.integration_id and mark it pending deletion#120767
srest2021 wants to merge 1 commit into
masterfrom
srest2021/CW-1539-remove-integration-id

Conversation

@srest2021

Copy link
Copy Markdown
Member

Relates to CW-1539

Migration of OrganizationContributors uniqueness to (organization, provider, hostname, external_identifier) is complete, so integration_id is no longer read or written anywhere. This PR aims to drop the column safely per https://develop.sentry.dev/backend/application-domains/database-migrations/.

Stop writing integration_id, remove the field from the model, and add a deploy-time migration that drops the NOT NULL constraint and marks the field pending deletion (MOVE_TO_PENDING).

Followup PR to drop the column altogether:

…id and mark it pending deletion

Migrate OrganizationContributors uniqueness to (organization, provider,
hostname, external_identifier) is complete, so integration_id is no longer
read or written anywhere. This is the first of two deploys to drop the column
safely per the column-deletion runbook.

Stop writing integration_id (contributor_seats get_or_create defaults, the
test factory), remove the field from the model, and add a deploy-time
migration that drops the NOT NULL constraint and marks the field pending
deletion (MOVE_TO_PENDING). A follow-up migration performs the physical drop.

The getsentry provider backfill job -- the last remaining reader of the
column -- is removed separately and must be in production first.

Refs CW-1539
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@linear-code

linear-code Bot commented Jul 28, 2026

Copy link
Copy Markdown

CW-1539

@github-actions github-actions Bot added the Scope: Backend Automatically applied to PRs that change backend components label Jul 28, 2026
@github-actions

Copy link
Copy Markdown
Contributor

This PR has a migration; here is the generated SQL for src/sentry/migrations/1147_organizationcontributors_remove_integration_id.py

for 1147_organizationcontributors_remove_integration_id in sentry

--
-- Alter field integration_id on organizationcontributors
--
ALTER TABLE "sentry_organizationcontributors" ALTER COLUMN "integration_id" DROP NOT NULL;
--
-- Moved organizationcontributors.integration_id field to pending deletion state
--
-- (no-op)

@github-actions

github-actions Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Backend Test Failures

Failures on 9b89778 in this run:

tests/sentry/seer/code_review/webhooks/test_check_run.py::CheckRunEventWebhookTest::test_check_run_skips_when_hide_ai_features_enabledlog
[gw0] linux -- Python 3.13.1 /home/runner/work/sentry/sentry/.venv/bin/python3
tests/sentry/seer/code_review/webhooks/test_check_run.py:128: in test_check_run_skips_when_hide_ai_features_enabled
    self._send_webhook_event(
src/sentry/testutils/helpers/github.py:206: in _send_webhook_event
    OrganizationContributors.objects.get_or_create(
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/manager.py:87: in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:948: in get_or_create
    return self.get(**kwargs), False
           ^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:621: in get
    clone = self._chain() if self.query.combinator else self.filter(*args, **kwargs)
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1495: in filter
    return self._filter_or_exclude(False, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1513: in _filter_or_exclude
    clone._filter_or_exclude_inplace(negate, args, kwargs)
.venv/lib/python3.13/site-packages/django/db/models/query.py:1523: in _filter_or_exclude_inplace
    self._query.add_q(Q(*args, **kwargs))
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1648: in add_q
    clause, _ = self._add_q(q_object, can_reuse)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1680: in _add_q
    child_clause, needed_inner = self.build_filter(
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1528: in build_filter
    lookups, parts, reffed_expression = self.solve_lookup_type(arg, summarize)
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1335: in solve_lookup_type
    _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1813: in names_to_path
    raise FieldError(
E   django.core.exceptions.FieldError: Cannot resolve keyword 'integration_id' into field. Choices are: alias, date_added, date_updated, external_identifier, hostname, id, num_actions, organization, organization_id, organizationcontributoraction, provider
tests/sentry/seer/code_review/webhooks/test_check_run.py::CheckRunEventWebhookTest::test_check_run_fails_when_external_id_missinglog
[gw1] linux -- Python 3.13.1 /home/runner/work/sentry/sentry/.venv/bin/python3
tests/sentry/seer/code_review/webhooks/test_check_run.py:65: in test_check_run_fails_when_external_id_missing
    self._send_webhook_event(
src/sentry/testutils/helpers/github.py:206: in _send_webhook_event
    OrganizationContributors.objects.get_or_create(
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/manager.py:87: in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:948: in get_or_create
    return self.get(**kwargs), False
           ^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:621: in get
    clone = self._chain() if self.query.combinator else self.filter(*args, **kwargs)
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1495: in filter
    return self._filter_or_exclude(False, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1513: in _filter_or_exclude
    clone._filter_or_exclude_inplace(negate, args, kwargs)
.venv/lib/python3.13/site-packages/django/db/models/query.py:1523: in _filter_or_exclude_inplace
    self._query.add_q(Q(*args, **kwargs))
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1648: in add_q
    clause, _ = self._add_q(q_object, can_reuse)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1680: in _add_q
    child_clause, needed_inner = self.build_filter(
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1528: in build_filter
    lookups, parts, reffed_expression = self.solve_lookup_type(arg, summarize)
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1335: in solve_lookup_type
    _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1813: in names_to_path
    raise FieldError(
E   django.core.exceptions.FieldError: Cannot resolve keyword 'integration_id' into field. Choices are: alias, date_added, date_updated, external_identifier, hostname, id, num_actions, organization, organization_id, organizationcontributoraction, provider
tests/sentry/seer/code_review/webhooks/test_check_run.py::CheckRunEventWebhookTest::test_base_caselog
[gw0] linux -- Python 3.13.1 /home/runner/work/sentry/sentry/.venv/bin/python3
tests/sentry/seer/code_review/webhooks/test_check_run.py:20: in test_base_case
    self._send_webhook_event(
src/sentry/testutils/helpers/github.py:206: in _send_webhook_event
    OrganizationContributors.objects.get_or_create(
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/manager.py:87: in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:948: in get_or_create
    return self.get(**kwargs), False
           ^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:621: in get
    clone = self._chain() if self.query.combinator else self.filter(*args, **kwargs)
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1495: in filter
    return self._filter_or_exclude(False, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1513: in _filter_or_exclude
    clone._filter_or_exclude_inplace(negate, args, kwargs)
.venv/lib/python3.13/site-packages/django/db/models/query.py:1523: in _filter_or_exclude_inplace
    self._query.add_q(Q(*args, **kwargs))
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1648: in add_q
    clause, _ = self._add_q(q_object, can_reuse)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1680: in _add_q
    child_clause, needed_inner = self.build_filter(
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1528: in build_filter
    lookups, parts, reffed_expression = self.solve_lookup_type(arg, summarize)
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1335: in solve_lookup_type
    _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1813: in names_to_path
    raise FieldError(
E   django.core.exceptions.FieldError: Cannot resolve keyword 'integration_id' into field. Choices are: alias, date_added, date_updated, external_identifier, hostname, id, num_actions, organization, organization_id, organizationcontributoraction, provider
tests/sentry/seer/code_review/webhooks/test_pull_request.py::PullRequestEventWebhookTest::test_validation_happens_before_task_scheduling_pr_closedlog
[gw1] linux -- Python 3.13.1 /home/runner/work/sentry/sentry/.venv/bin/python3
tests/sentry/seer/code_review/webhooks/test_pull_request.py:409: in test_validation_happens_before_task_scheduling_pr_closed
    self._send_webhook_event(
src/sentry/testutils/helpers/github.py:206: in _send_webhook_event
    OrganizationContributors.objects.get_or_create(
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/manager.py:87: in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:948: in get_or_create
    return self.get(**kwargs), False
           ^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:621: in get
    clone = self._chain() if self.query.combinator else self.filter(*args, **kwargs)
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1495: in filter
    return self._filter_or_exclude(False, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1513: in _filter_or_exclude
    clone._filter_or_exclude_inplace(negate, args, kwargs)
.venv/lib/python3.13/site-packages/django/db/models/query.py:1523: in _filter_or_exclude_inplace
    self._query.add_q(Q(*args, **kwargs))
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1648: in add_q
    clause, _ = self._add_q(q_object, can_reuse)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1680: in _add_q
    child_clause, needed_inner = self.build_filter(
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1528: in build_filter
    lookups, parts, reffed_expression = self.solve_lookup_type(arg, summarize)
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1335: in solve_lookup_type
    _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1813: in names_to_path
    raise FieldError(
E   django.core.exceptions.FieldError: Cannot resolve keyword 'integration_id' into field. Choices are: alias, date_added, date_updated, external_identifier, hostname, id, num_actions, organization, organization_id, organizationcontributoraction, provider
tests/sentry/seer/code_review/webhooks/test_issue_comment.py::IssueCommentEventWebhookTest::test_skips_when_no_review_commandlog
[gw1] linux -- Python 3.13.1 /home/runner/work/sentry/sentry/.venv/bin/python3
tests/sentry/seer/code_review/webhooks/test_issue_comment.py:117: in test_skips_when_no_review_command
    response = self._send_issue_comment_event(event)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
tests/sentry/seer/code_review/webhooks/test_issue_comment.py:58: in _send_issue_comment_event
    return self._send_webhook_event(GithubWebhookType.ISSUE_COMMENT, event_data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
src/sentry/testutils/helpers/github.py:206: in _send_webhook_event
    OrganizationContributors.objects.get_or_create(
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/manager.py:87: in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:948: in get_or_create
    return self.get(**kwargs), False
           ^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:621: in get
    clone = self._chain() if self.query.combinator else self.filter(*args, **kwargs)
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1495: in filter
    return self._filter_or_exclude(False, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1513: in _filter_or_exclude
    clone._filter_or_exclude_inplace(negate, args, kwargs)
.venv/lib/python3.13/site-packages/django/db/models/query.py:1523: in _filter_or_exclude_inplace
    self._query.add_q(Q(*args, **kwargs))
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1648: in add_q
    clause, _ = self._add_q(q_object, can_reuse)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1680: in _add_q
    child_clause, needed_inner = self.build_filter(
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1528: in build_filter
    lookups, parts, reffed_expression = self.solve_lookup_type(arg, summarize)
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1335: in solve_lookup_type
    _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1813: in names_to_path
    raise FieldError(
E   django.core.exceptions.FieldError: Cannot resolve keyword 'integration_id' into field. Choices are: alias, date_added, date_updated, external_identifier, hostname, id, num_actions, organization, organization_id, organizationcontributoraction, provider
tests/sentry/seer/code_review/webhooks/test_pull_request.py::PullRequestEventWebhookTest::test_pull_request_ready_for_review_actionlog
[gw1] linux -- Python 3.13.1 /home/runner/work/sentry/sentry/.venv/bin/python3
tests/sentry/seer/code_review/webhooks/test_pull_request.py:153: in test_pull_request_ready_for_review_action
    self._send_webhook_event(
src/sentry/testutils/helpers/github.py:206: in _send_webhook_event
    OrganizationContributors.objects.get_or_create(
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/manager.py:87: in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:948: in get_or_create
    return self.get(**kwargs), False
           ^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:621: in get
    clone = self._chain() if self.query.combinator else self.filter(*args, **kwargs)
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1495: in filter
    return self._filter_or_exclude(False, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1513: in _filter_or_exclude
    clone._filter_or_exclude_inplace(negate, args, kwargs)
.venv/lib/python3.13/site-packages/django/db/models/query.py:1523: in _filter_or_exclude_inplace
    self._query.add_q(Q(*args, **kwargs))
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1648: in add_q
    clause, _ = self._add_q(q_object, can_reuse)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1680: in _add_q
    child_clause, needed_inner = self.build_filter(
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1528: in build_filter
    lookups, parts, reffed_expression = self.solve_lookup_type(arg, summarize)
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1335: in solve_lookup_type
    _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1813: in names_to_path
    raise FieldError(
E   django.core.exceptions.FieldError: Cannot resolve keyword 'integration_id' into field. Choices are: alias, date_added, date_updated, external_identifier, hostname, id, num_actions, organization, organization_id, organizationcontributoraction, provider
tests/sentry/seer/code_review/webhooks/test_pull_request.py::PullRequestEventWebhookTest::test_pull_request_ready_for_review_filtered_when_trigger_disabled_post_galog
[gw1] linux -- Python 3.13.1 /home/runner/work/sentry/sentry/.venv/bin/python3
tests/sentry/seer/code_review/webhooks/test_pull_request.py:290: in test_pull_request_ready_for_review_filtered_when_trigger_disabled_post_ga
    self._send_webhook_event(GithubWebhookType.PULL_REQUEST, orjson.dumps(event))
src/sentry/testutils/helpers/github.py:206: in _send_webhook_event
    OrganizationContributors.objects.get_or_create(
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/manager.py:87: in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:948: in get_or_create
    return self.get(**kwargs), False
           ^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:621: in get
    clone = self._chain() if self.query.combinator else self.filter(*args, **kwargs)
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1495: in filter
    return self._filter_or_exclude(False, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1513: in _filter_or_exclude
    clone._filter_or_exclude_inplace(negate, args, kwargs)
.venv/lib/python3.13/site-packages/django/db/models/query.py:1523: in _filter_or_exclude_inplace
    self._query.add_q(Q(*args, **kwargs))
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1648: in add_q
    clause, _ = self._add_q(q_object, can_reuse)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1680: in _add_q
    child_clause, needed_inner = self.build_filter(
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1528: in build_filter
    lookups, parts, reffed_expression = self.solve_lookup_type(arg, summarize)
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1335: in solve_lookup_type
    _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1813: in names_to_path
    raise FieldError(
E   django.core.exceptions.FieldError: Cannot resolve keyword 'integration_id' into field. Choices are: alias, date_added, date_updated, external_identifier, hostname, id, num_actions, organization, organization_id, organizationcontributoraction, provider
tests/sentry/seer/code_review/webhooks/test_pull_request.py::PullRequestEventWebhookTest::test_pull_request_synchronize_filtered_when_trigger_disabled_post_galog
[gw1] linux -- Python 3.13.1 /home/runner/work/sentry/sentry/.venv/bin/python3
tests/sentry/seer/code_review/webhooks/test_pull_request.py:275: in test_pull_request_synchronize_filtered_when_trigger_disabled_post_ga
    self._send_webhook_event(GithubWebhookType.PULL_REQUEST, orjson.dumps(event))
src/sentry/testutils/helpers/github.py:206: in _send_webhook_event
    OrganizationContributors.objects.get_or_create(
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/manager.py:87: in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:948: in get_or_create
    return self.get(**kwargs), False
           ^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:621: in get
    clone = self._chain() if self.query.combinator else self.filter(*args, **kwargs)
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1495: in filter
    return self._filter_or_exclude(False, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1513: in _filter_or_exclude
    clone._filter_or_exclude_inplace(negate, args, kwargs)
.venv/lib/python3.13/site-packages/django/db/models/query.py:1523: in _filter_or_exclude_inplace
    self._query.add_q(Q(*args, **kwargs))
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1648: in add_q
    clause, _ = self._add_q(q_object, can_reuse)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1680: in _add_q
    child_clause, needed_inner = self.build_filter(
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1528: in build_filter
    lookups, parts, reffed_expression = self.solve_lookup_type(arg, summarize)
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1335: in solve_lookup_type
    _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1813: in names_to_path
    raise FieldError(
E   django.core.exceptions.FieldError: Cannot resolve keyword 'integration_id' into field. Choices are: alias, date_added, date_updated, external_identifier, hostname, id, num_actions, organization, organization_id, organizationcontributoraction, provider
tests/sentry/seer/code_review/webhooks/test_pull_request.py::PullRequestEventWebhookTest::test_pull_request_invalid_enum_actionlog
[gw1] linux -- Python 3.13.1 /home/runner/work/sentry/sentry/.venv/bin/python3
tests/sentry/seer/code_review/webhooks/test_pull_request.py:194: in test_pull_request_invalid_enum_action
    self._send_webhook_event(
src/sentry/testutils/helpers/github.py:206: in _send_webhook_event
    OrganizationContributors.objects.get_or_create(
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/manager.py:87: in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:948: in get_or_create
    return self.get(**kwargs), False
           ^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:621: in get
    clone = self._chain() if self.query.combinator else self.filter(*args, **kwargs)
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1495: in filter
    return self._filter_or_exclude(False, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1513: in _filter_or_exclude
    clone._filter_or_exclude_inplace(negate, args, kwargs)
.venv/lib/python3.13/site-packages/django/db/models/query.py:1523: in _filter_or_exclude_inplace
    self._query.add_q(Q(*args, **kwargs))
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1648: in add_q
    clause, _ = self._add_q(q_object, can_reuse)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1680: in _add_q
    child_clause, needed_inner = self.build_filter(
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1528: in build_filter
    lookups, parts, reffed_expression = self.solve_lookup_type(arg, summarize)
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1335: in solve_lookup_type
    _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1813: in names_to_path
    raise FieldError(
E   django.core.exceptions.FieldError: Cannot resolve keyword 'integration_id' into field. Choices are: alias, date_added, date_updated, external_identifier, hostname, id, num_actions, organization, organization_id, organizationcontributoraction, provider
tests/sentry/seer/code_review/webhooks/test_pull_request.py::PullRequestEventWebhookTest::test_pull_request_opened_filtered_when_trigger_disabled_post_galog
[gw1] linux -- Python 3.13.1 /home/runner/work/sentry/sentry/.venv/bin/python3
tests/sentry/seer/code_review/webhooks/test_pull_request.py:260: in test_pull_request_opened_filtered_when_trigger_disabled_post_ga
    self._send_webhook_event(GithubWebhookType.PULL_REQUEST, orjson.dumps(event))
src/sentry/testutils/helpers/github.py:206: in _send_webhook_event
    OrganizationContributors.objects.get_or_create(
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/manager.py:87: in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:948: in get_or_create
    return self.get(**kwargs), False
           ^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:621: in get
    clone = self._chain() if self.query.combinator else self.filter(*args, **kwargs)
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1495: in filter
    return self._filter_or_exclude(False, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1513: in _filter_or_exclude
    clone._filter_or_exclude_inplace(negate, args, kwargs)
.venv/lib/python3.13/site-packages/django/db/models/query.py:1523: in _filter_or_exclude_inplace
    self._query.add_q(Q(*args, **kwargs))
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1648: in add_q
    clause, _ = self._add_q(q_object, can_reuse)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1680: in _add_q
    child_clause, needed_inner = self.build_filter(
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1528: in build_filter
    lookups, parts, reffed_expression = self.solve_lookup_type(arg, summarize)
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1335: in solve_lookup_type
    _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1813: in names_to_path
    raise FieldError(
E   django.core.exceptions.FieldError: Cannot resolve keyword 'integration_id' into field. Choices are: alias, date_added, date_updated, external_identifier, hostname, id, num_actions, organization, organization_id, organizationcontributoraction, provider
tests/sentry/seer/code_review/webhooks/test_pull_request.py::PullRequestEventWebhookTest::test_pull_request_skips_unsupported_actionlog
[gw1] linux -- Python 3.13.1 /home/runner/work/sentry/sentry/.venv/bin/python3
tests/sentry/seer/code_review/webhooks/test_pull_request.py:102: in test_pull_request_skips_unsupported_action
    self._send_webhook_event(
src/sentry/testutils/helpers/github.py:206: in _send_webhook_event
    OrganizationContributors.objects.get_or_create(
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/manager.py:87: in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:948: in get_or_create
    return self.get(**kwargs), False
           ^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:621: in get
    clone = self._chain() if self.query.combinator else self.filter(*args, **kwargs)
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1495: in filter
    return self._filter_or_exclude(False, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1513: in _filter_or_exclude
    clone._filter_or_exclude_inplace(negate, args, kwargs)
.venv/lib/python3.13/site-packages/django/db/models/query.py:1523: in _filter_or_exclude_inplace
    self._query.add_q(Q(*args, **kwargs))
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1648: in add_q
    clause, _ = self._add_q(q_object, can_reuse)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1680: in _add_q
    child_clause, needed_inner = self.build_filter(
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1528: in build_filter
    lookups, parts, reffed_expression = self.solve_lookup_type(arg, summarize)
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1335: in solve_lookup_type
    _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1813: in names_to_path
    raise FieldError(
E   django.core.exceptions.FieldError: Cannot resolve keyword 'integration_id' into field. Choices are: alias, date_added, date_updated, external_identifier, hostname, id, num_actions, organization, organization_id, organizationcontributoraction, provider
tests/sentry/seer/code_review/webhooks/test_pull_request.py::PullRequestEventWebhookTest::test_validation_happens_before_task_scheduling_pr_reviewlog
[gw1] linux -- Python 3.13.1 /home/runner/work/sentry/sentry/.venv/bin/python3
tests/sentry/seer/code_review/webhooks/test_pull_request.py:438: in test_validation_happens_before_task_scheduling_pr_review
    self._send_webhook_event(
src/sentry/testutils/helpers/github.py:206: in _send_webhook_event
    OrganizationContributors.objects.get_or_create(
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/manager.py:87: in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:948: in get_or_create
    return self.get(**kwargs), False
           ^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:621: in get
    clone = self._chain() if self.query.combinator else self.filter(*args, **kwargs)
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1495: in filter
    return self._filter_or_exclude(False, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1513: in _filter_or_exclude
    clone._filter_or_exclude_inplace(negate, args, kwargs)
.venv/lib/python3.13/site-packages/django/db/models/query.py:1523: in _filter_or_exclude_inplace
    self._query.add_q(Q(*args, **kwargs))
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1648: in add_q
    clause, _ = self._add_q(q_object, can_reuse)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1680: in _add_q
    child_clause, needed_inner = self.build_filter(
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1528: in build_filter
    lookups, parts, reffed_expression = self.solve_lookup_type(arg, summarize)
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1335: in solve_lookup_type
    _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1813: in names_to_path
    raise FieldError(
E   django.core.exceptions.FieldError: Cannot resolve keyword 'integration_id' into field. Choices are: alias, date_added, date_updated, external_identifier, hostname, id, num_actions, organization, organization_id, organizationcontributoraction, provider
tests/sentry/seer/code_review/webhooks/test_pull_request.py::PullRequestEventWebhookTest::test_pull_request_opened_uses_review_request_endpointlog
[gw0] linux -- Python 3.13.1 /home/runner/work/sentry/sentry/.venv/bin/python3
tests/sentry/seer/code_review/webhooks/test_pull_request.py:67: in test_pull_request_opened_uses_review_request_endpoint
    self._send_webhook_event(
src/sentry/testutils/helpers/github.py:206: in _send_webhook_event
    OrganizationContributors.objects.get_or_create(
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/manager.py:87: in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:948: in get_or_create
    return self.get(**kwargs), False
           ^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:621: in get
    clone = self._chain() if self.query.combinator else self.filter(*args, **kwargs)
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1495: in filter
    return self._filter_or_exclude(False, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1513: in _filter_or_exclude
    clone._filter_or_exclude_inplace(negate, args, kwargs)
.venv/lib/python3.13/site-packages/django/db/models/query.py:1523: in _filter_or_exclude_inplace
    self._query.add_q(Q(*args, **kwargs))
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1648: in add_q
    clause, _ = self._add_q(q_object, can_reuse)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1680: in _add_q
    child_clause, needed_inner = self.build_filter(
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1528: in build_filter
    lookups, parts, reffed_expression = self.solve_lookup_type(arg, summarize)
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1335: in solve_lookup_type
    _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1813: in names_to_path
    raise FieldError(
E   django.core.exceptions.FieldError: Cannot resolve keyword 'integration_id' into field. Choices are: alias, date_added, date_updated, external_identifier, hostname, id, num_actions, organization, organization_id, organizationcontributoraction, provider
tests/sentry/seer/code_review/webhooks/test_pull_request.py::PullRequestEventWebhookTest::test_pull_request_invalid_action_typelog
[gw1] linux -- Python 3.13.1 /home/runner/work/sentry/sentry/.venv/bin/python3
tests/sentry/seer/code_review/webhooks/test_pull_request.py:128: in test_pull_request_invalid_action_type
    self._send_webhook_event(
src/sentry/testutils/helpers/github.py:206: in _send_webhook_event
    OrganizationContributors.objects.get_or_create(
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/manager.py:87: in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:948: in get_or_create
    return self.get(**kwargs), False
           ^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:621: in get
    clone = self._chain() if self.query.combinator else self.filter(*args, **kwargs)
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1495: in filter
    return self._filter_or_exclude(False, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1513: in _filter_or_exclude
    clone._filter_or_exclude_inplace(negate, args, kwargs)
.venv/lib/python3.13/site-packages/django/db/models/query.py:1523: in _filter_or_exclude_inplace
    self._query.add_q(Q(*args, **kwargs))
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1648: in add_q
    clause, _ = self._add_q(q_object, can_reuse)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1680: in _add_q
    child_clause, needed_inner = self.build_filter(
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1528: in build_filter
    lookups, parts, reffed_expression = self.solve_lookup_type(arg, summarize)
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1335: in solve_lookup_type
    _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1813: in names_to_path
    raise FieldError(
E   django.core.exceptions.FieldError: Cannot resolve keyword 'integration_id' into field. Choices are: alias, date_added, date_updated, external_identifier, hostname, id, num_actions, organization, organization_id, organizationcontributoraction, provider
tests/sentry/seer/code_review/webhooks/test_check_run.py::CheckRunEventWebhookTest::test_check_run_enqueues_task_for_processinglog
[gw0] linux -- Python 3.13.1 /home/runner/work/sentry/sentry/.venv/bin/python3
tests/sentry/seer/code_review/webhooks/test_check_run.py:101: in test_check_run_enqueues_task_for_processing
    self._send_webhook_event(
src/sentry/testutils/helpers/github.py:206: in _send_webhook_event
    OrganizationContributors.objects.get_or_create(
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/manager.py:87: in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:948: in get_or_create
    return self.get(**kwargs), False
           ^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:621: in get
    clone = self._chain() if self.query.combinator else self.filter(*args, **kwargs)
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1495: in filter
    return self._filter_or_exclude(False, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1513: in _filter_or_exclude
    clone._filter_or_exclude_inplace(negate, args, kwargs)
.venv/lib/python3.13/site-packages/django/db/models/query.py:1523: in _filter_or_exclude_inplace
    self._query.add_q(Q(*args, **kwargs))
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1648: in add_q
    clause, _ = self._add_q(q_object, can_reuse)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1680: in _add_q
    child_clause, needed_inner = self.build_filter(
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1528: in build_filter
    lookups, parts, reffed_expression = self.solve_lookup_type(arg, summarize)
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1335: in solve_lookup_type
    _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1813: in names_to_path
    raise FieldError(
E   django.core.exceptions.FieldError: Cannot resolve keyword 'integration_id' into field. Choices are: alias, date_added, date_updated, external_identifier, hostname, id, num_actions, organization, organization_id, organizationcontributoraction, provider
tests/sentry/seer/code_review/webhooks/test_check_run.py::CheckRunEventWebhookTest::test_check_run_fails_when_action_missinglog
[gw0] linux -- Python 3.13.1 /home/runner/work/sentry/sentry/.venv/bin/python3
tests/sentry/seer/code_review/webhooks/test_check_run.py:49: in test_check_run_fails_when_action_missing
    self._send_webhook_event(
src/sentry/testutils/helpers/github.py:206: in _send_webhook_event
    OrganizationContributors.objects.get_or_create(
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/manager.py:87: in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:948: in get_or_create
    return self.get(**kwargs), False
           ^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:621: in get
    clone = self._chain() if self.query.combinator else self.filter(*args, **kwargs)
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1495: in filter
    return self._filter_or_exclude(False, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1513: in _filter_or_exclude
    clone._filter_or_exclude_inplace(negate, args, kwargs)
.venv/lib/python3.13/site-packages/django/db/models/query.py:1523: in _filter_or_exclude_inplace
    self._query.add_q(Q(*args, **kwargs))
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1648: in add_q
    clause, _ = self._add_q(q_object, can_reuse)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1680: in _add_q
    child_clause, needed_inner = self.build_filter(
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1528: in build_filter
    lookups, parts, reffed_expression = self.solve_lookup_type(arg, summarize)
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1335: in solve_lookup_type
    _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1813: in names_to_path
    raise FieldError(
E   django.core.exceptions.FieldError: Cannot resolve keyword 'integration_id' into field. Choices are: alias, date_added, date_updated, external_identifier, hostname, id, num_actions, organization, organization_id, organizationcontributoraction, provider
tests/sentry/seer/code_review/webhooks/test_pull_request.py::PullRequestEventWebhookTest::test_pull_request_missing_action_fieldlog
[gw0] linux -- Python 3.13.1 /home/runner/work/sentry/sentry/.venv/bin/python3
tests/sentry/seer/code_review/webhooks/test_pull_request.py:115: in test_pull_request_missing_action_field
    self._send_webhook_event(
src/sentry/testutils/helpers/github.py:206: in _send_webhook_event
    OrganizationContributors.objects.get_or_create(
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/manager.py:87: in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:948: in get_or_create
    return self.get(**kwargs), False
           ^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:621: in get
    clone = self._chain() if self.query.combinator else self.filter(*args, **kwargs)
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1495: in filter
    return self._filter_or_exclude(False, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1513: in _filter_or_exclude
    clone._filter_or_exclude_inplace(negate, args, kwargs)
.venv/lib/python3.13/site-packages/django/db/models/query.py:1523: in _filter_or_exclude_inplace
    self._query.add_q(Q(*args, **kwargs))
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1648: in add_q
    clause, _ = self._add_q(q_object, can_reuse)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1680: in _add_q
    child_clause, needed_inner = self.build_filter(
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1528: in build_filter
    lookups, parts, reffed_expression = self.solve_lookup_type(arg, summarize)
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1335: in solve_lookup_type
    _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1813: in names_to_path
    raise FieldError(
E   django.core.exceptions.FieldError: Cannot resolve keyword 'integration_id' into field. Choices are: alias, date_added, date_updated, external_identifier, hostname, id, num_actions, organization, organization_id, organizationcontributoraction, provider
tests/sentry/seer/code_review/webhooks/test_issue_comment.py::IssueCommentEventWebhookTest::test_skips_when_code_review_features_are_missinglog
[gw1] linux -- Python 3.13.1 /home/runner/work/sentry/sentry/.venv/bin/python3
tests/sentry/seer/code_review/webhooks/test_issue_comment.py:108: in test_skips_when_code_review_features_are_missing
    response = self._send_issue_comment_event(event)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
tests/sentry/seer/code_review/webhooks/test_issue_comment.py:58: in _send_issue_comment_event
    return self._send_webhook_event(GithubWebhookType.ISSUE_COMMENT, event_data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
src/sentry/testutils/helpers/github.py:206: in _send_webhook_event
    OrganizationContributors.objects.get_or_create(
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/manager.py:87: in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:948: in get_or_create
    return self.get(**kwargs), False
           ^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:621: in get
    clone = self._chain() if self.query.combinator else self.filter(*args, **kwargs)
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1495: in filter
    return self._filter_or_exclude(False, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1513: in _filter_or_exclude
    clone._filter_or_exclude_inplace(negate, args, kwargs)
.venv/lib/python3.13/site-packages/django/db/models/query.py:1523: in _filter_or_exclude_inplace
    self._query.add_q(Q(*args, **kwargs))
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1648: in add_q
    clause, _ = self._add_q(q_object, can_reuse)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1680: in _add_q
    child_clause, needed_inner = self.build_filter(
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1528: in build_filter
    lookups, parts, reffed_expression = self.solve_lookup_type(arg, summarize)
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1335: in solve_lookup_type
    _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1813: in names_to_path
    raise FieldError(
E   django.core.exceptions.FieldError: Cannot resolve keyword 'integration_id' into field. Choices are: alias, date_added, date_updated, external_identifier, hostname, id, num_actions, organization, organization_id, organizationcontributoraction, provider
tests/sentry/seer/code_review/webhooks/test_pull_request.py::PullRequestEventWebhookTest::test_pull_request_blocks_draft_for_ready_for_review_actionlog
[gw0] linux -- Python 3.13.1 /home/runner/work/sentry/sentry/.venv/bin/python3
tests/sentry/seer/code_review/webhooks/test_pull_request.py:208: in test_pull_request_blocks_draft_for_ready_for_review_action
    response = self._send_webhook_event(
src/sentry/testutils/helpers/github.py:206: in _send_webhook_event
    OrganizationContributors.objects.get_or_create(
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/manager.py:87: in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:948: in get_or_create
    return self.get(**kwargs), False
           ^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:621: in get
    clone = self._chain() if self.query.combinator else self.filter(*args, **kwargs)
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1495: in filter
    return self._filter_or_exclude(False, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1513: in _filter_or_exclude
    clone._filter_or_exclude_inplace(negate, args, kwargs)
.venv/lib/python3.13/site-packages/django/db/models/query.py:1523: in _filter_or_exclude_inplace
    self._query.add_q(Q(*args, **kwargs))
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1648: in add_q
    clause, _ = self._add_q(q_object, can_reuse)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1680: in _add_q
    child_clause, needed_inner = self.build_filter(
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1528: in build_filter
    lookups, parts, reffed_expression = self.solve_lookup_type(arg, summarize)
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1335: in solve_lookup_type
    _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1813: in names_to_path
    raise FieldError(
E   django.core.exceptions.FieldError: Cannot resolve keyword 'integration_id' into field. Choices are: alias, date_added, date_updated, external_identifier, hostname, id, num_actions, organization, organization_id, organizationcontributoraction, provider
tests/sentry/seer/code_review/webhooks/test_pull_request.py::PullRequestEventWebhookTest::test_pull_request_skips_when_code_review_disabledlog
[gw0] linux -- Python 3.13.1 /home/runner/work/sentry/sentry/.venv/bin/python3
tests/sentry/seer/code_review/webhooks/test_pull_request.py:140: in test_pull_request_skips_when_code_review_disabled
    self._send_webhook_event(
src/sentry/testutils/helpers/github.py:206: in _send_webhook_event
    OrganizationContributors.objects.get_or_create(
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/manager.py:87: in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
src/sentry/silo/base.py:157: in override
    return original_method(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:948: in get_or_create
    return self.get(**kwargs), False
           ^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:621: in get
    clone = self._chain() if self.query.combinator else self.filter(*args, **kwargs)
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1495: in filter
    return self._filter_or_exclude(False, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/query.py:1513: in _filter_or_exclude
    clone._filter_or_exclude_inplace(negate, args, kwargs)
.venv/lib/python3.13/site-packages/django/db/models/query.py:1523: in _filter_or_exclude_inplace
    self._query.add_q(Q(*args, **kwargs))
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1648: in add_q
    clause, _ = self._add_q(q_object, can_reuse)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1680: in _add_q
    child_clause, needed_inner = self.build_filter(
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1528: in build_filter
    lookups, parts, reffed_expression = self.solve_lookup_type(arg, summarize)
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1335: in solve_lookup_type
    _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.13/site-packages/django/db/models/sql/query.py:1813: in names_to_path
    raise FieldError(
E   django.core.exceptions.FieldError: Cannot resolve keyword 'integration_id' into field. Choices are: alias, date_added, date_updated, external_identifier, hostname, id, num_actions, organization, organization_id, organizationcontributoraction, provider
tests/sentry/seer/code_review/webhooks/test_pull_request.py::PullRequestEventWebhookTest::test_pull_request_blocks_draft_for_synchronize_actionlog
[gw0] linux -- Python 3.13.1 /home/runner/work/sentry/sentry/.venv/bin/python3
tests/sentry/seer/code_review/webhooks/test_pull_request.py:224: in test_pull_request_blocks_draft_for_synchronize_action
    response 

... (truncated due to GitHub comment size limit)

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.

1 participant