From 6e9cda5cdf97500f4e6a05f5f1820e9922d7b0cf Mon Sep 17 00:00:00 2001 From: Rohan Agarwal Date: Fri, 18 Oct 2024 09:06:52 -0700 Subject: [PATCH 1/4] Allow autofix without FF if gen AI consent given --- src/sentry/api/endpoints/group_ai_autofix.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/sentry/api/endpoints/group_ai_autofix.py b/src/sentry/api/endpoints/group_ai_autofix.py index 74a1a07e816770..780946cd7000d8 100644 --- a/src/sentry/api/endpoints/group_ai_autofix.py +++ b/src/sentry/api/endpoints/group_ai_autofix.py @@ -163,6 +163,7 @@ def post(self, request: Request, group: Group) -> Response: if not ( features.has("projects:ai-autofix", group.project) or features.has("organizations:autofix", group.organization) + or group.organization.get_option("sentry:gen_ai_consent", False) ): return self._respond_with_error("AI Autofix is not enabled for this project.", 403) From 2298afb92b9ddc9d1905007e6323655d535e24fe Mon Sep 17 00:00:00 2001 From: Rohan Agarwal Date: Fri, 18 Oct 2024 09:50:35 -0700 Subject: [PATCH 2/4] Remove FF check in setup endpoint --- src/sentry/api/endpoints/group_autofix_setup_check.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/sentry/api/endpoints/group_autofix_setup_check.py b/src/sentry/api/endpoints/group_autofix_setup_check.py index 6f0d2e05a53476..96f1d5c20ee123 100644 --- a/src/sentry/api/endpoints/group_autofix_setup_check.py +++ b/src/sentry/api/endpoints/group_autofix_setup_check.py @@ -108,12 +108,6 @@ def get(self, request: Request, group: Group) -> Response: """ Checks if we are able to run Autofix on the given group. """ - if not ( - features.has("projects:ai-autofix", group.project) - or features.has("organizations:autofix", group.organization) - ): - return Response({"detail": "Feature not enabled for project"}, status=403) - org: Organization = request.organization has_gen_ai_consent = org.get_option("sentry:gen_ai_consent", False) From 4a7cc9b82d67548cbf916a09898e8a65e5495467 Mon Sep 17 00:00:00 2001 From: Rohan Agarwal Date: Fri, 18 Oct 2024 09:53:45 -0700 Subject: [PATCH 3/4] update --- src/sentry/api/endpoints/group_autofix_setup_check.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/sentry/api/endpoints/group_autofix_setup_check.py b/src/sentry/api/endpoints/group_autofix_setup_check.py index 96f1d5c20ee123..749617dfed453a 100644 --- a/src/sentry/api/endpoints/group_autofix_setup_check.py +++ b/src/sentry/api/endpoints/group_autofix_setup_check.py @@ -111,6 +111,13 @@ def get(self, request: Request, group: Group) -> Response: org: Organization = request.organization has_gen_ai_consent = org.get_option("sentry:gen_ai_consent", False) + if not ( + features.has("projects:ai-autofix", group.project) + or features.has("organizations:autofix", group.organization) + or has_gen_ai_consent + ): + return Response({"detail": "Feature not enabled for project"}, status=403) + is_codebase_indexing_disabled = features.has( "organizations:autofix-disable-codebase-indexing", group.organization, From e8d0ec84c3d8da894ed8bf8552368a065177595a Mon Sep 17 00:00:00 2001 From: Rohan Agarwal Date: Fri, 18 Oct 2024 10:20:37 -0700 Subject: [PATCH 4/4] update --- src/sentry/api/endpoints/group_autofix_setup_check.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/sentry/api/endpoints/group_autofix_setup_check.py b/src/sentry/api/endpoints/group_autofix_setup_check.py index 749617dfed453a..96f1d5c20ee123 100644 --- a/src/sentry/api/endpoints/group_autofix_setup_check.py +++ b/src/sentry/api/endpoints/group_autofix_setup_check.py @@ -111,13 +111,6 @@ def get(self, request: Request, group: Group) -> Response: org: Organization = request.organization has_gen_ai_consent = org.get_option("sentry:gen_ai_consent", False) - if not ( - features.has("projects:ai-autofix", group.project) - or features.has("organizations:autofix", group.organization) - or has_gen_ai_consent - ): - return Response({"detail": "Feature not enabled for project"}, status=403) - is_codebase_indexing_disabled = features.has( "organizations:autofix-disable-codebase-indexing", group.organization,