Skip to content

Commit 530e523

Browse files
committed
Scope ReleaseProjectEnvironment filter by project ids
1 parent a63d948 commit 530e523

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

src/sentry/api/endpoints/organization_releases.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -314,7 +314,9 @@ def get(self, request: Request, organization) -> Response:
314314

315315
queryset = Release.objects.filter(organization_id=organization.id)
316316
queryset = filter_releases_by_environments(
317-
queryset, [e.id for e in filter_params.get("environment_objects", [])]
317+
queryset,
318+
filter_params["project_id"],
319+
[e.id for e in filter_params.get("environment_objects", [])],
318320
)
319321
queryset = queryset.annotate(date=F("date_added"))
320322

@@ -673,7 +675,9 @@ def get(self, request: Request, organization) -> Response:
673675
queryset = add_date_filter_to_queryset(queryset, filter_params)
674676
queryset = filter_releases_by_projects(queryset, filter_params["project_id"])
675677
queryset = filter_releases_by_environments(
676-
queryset, [e.id for e in filter_params.get("environment_objects", [])]
678+
queryset,
679+
filter_params["project_id"],
680+
[e.id for e in filter_params.get("environment_objects", [])],
677681
)
678682
queryset = (
679683
queryset.annotate(date=F("date_added")).values("version", "date").order_by("-date")

src/sentry/models/release.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -837,7 +837,11 @@ def filter_releases_by_projects(queryset: QuerySetAny, project_ids: list[int]):
837837
)
838838

839839

840-
def filter_releases_by_environments(queryset: QuerySetAny, environment_ids: list[int]):
840+
def filter_releases_by_environments(
841+
queryset: QuerySetAny,
842+
project_ids: list[int],
843+
environment_ids: list[int],
844+
):
841845
"""Return a release queryset filtered by environments."""
842846
if not environment_ids:
843847
return queryset
@@ -847,6 +851,7 @@ def filter_releases_by_environments(queryset: QuerySetAny, environment_ids: list
847851
ReleaseProjectEnvironment.objects.filter(
848852
release=OuterRef("pk"),
849853
environment_id__in=environment_ids,
854+
project_id__in=project_ids,
850855
)
851856
)
852857
)

0 commit comments

Comments
 (0)