diff --git a/src/sentry/api/endpoints/organization_releases.py b/src/sentry/api/endpoints/organization_releases.py index bde8654f36301d..4bf1900b56d2bb 100644 --- a/src/sentry/api/endpoints/organization_releases.py +++ b/src/sentry/api/endpoints/organization_releases.py @@ -127,7 +127,7 @@ def _filter_releases_by_query(queryset, organization, query, filter_params): elif value_o == "latest": latest_releases = get_latest_release( projects=filter_params["project_id"], - environments=filter_params.get("environment"), + environments=filter_params.get("environment_objects"), organization_id=organization.id, ) query_q = Q(version__in=latest_releases) diff --git a/tests/sentry/api/endpoints/test_organization_releases.py b/tests/sentry/api/endpoints/test_organization_releases.py index ec8720a1974318..a9582136e46dc0 100644 --- a/tests/sentry/api/endpoints/test_organization_releases.py +++ b/tests/sentry/api/endpoints/test_organization_releases.py @@ -396,6 +396,32 @@ def test_latest_release_filter(self) -> None: ], ) + def test_latest_release_filter_with_environment(self) -> None: + self.login_as(user=self.user) + + project = self.create_project(teams=[self.team], organization=self.organization) + environment = self.create_environment(name="production", project=project) + older_release = self.create_release(version="1.0.0", project=project) + latest_release = self.create_release(version="2.0.0", project=project) + ReleaseProjectEnvironment.objects.create( + project_id=project.id, + release_id=older_release.id, + environment_id=environment.id, + ) + ReleaseProjectEnvironment.objects.create( + project_id=project.id, + release_id=latest_release.id, + environment_id=environment.id, + ) + + response = self.get_success_response( + self.organization.slug, + query=f"{RELEASE_ALIAS}:latest", + environment=environment.name, + ) + + self.assert_expected_versions(response, [latest_release]) + def test_query_filter_suffix(self) -> None: user = self.create_user(is_staff=False, is_superuser=False) org = self.organization