Skip to content

Commit 0ab4e90

Browse files
authored
fix(commit_context): Enable new Java logic (#90474)
In #90415, I added the correct logic to derive filenames for Java frames. This allows commit_context to take advantage of it (it's behind a feature flag and we need to pass the `organization` value).
1 parent 42983a0 commit 0ab4e90

File tree

3 files changed

+15
-2
lines changed

3 files changed

+15
-2
lines changed

src/sentry/integrations/utils/commit_context.py

+9-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
)
2424
from sentry.models.commit import Commit
2525
from sentry.models.commitauthor import CommitAuthor
26+
from sentry.models.organization import Organization
2627
from sentry.shared_integrations.exceptions import ApiError
2728
from sentry.utils import metrics
2829
from sentry.utils.committers import get_stacktrace_path_from_event_frame
@@ -63,6 +64,7 @@ def find_commit_context_for_event_all_frames(
6364
platform=platform,
6465
sdk_name=sdk_name,
6566
extra=extra,
67+
organization=Organization.objects.get(id=organization_id),
6668
)
6769

6870
file_blames, integration_to_install_mapping = _get_blames_from_all_integrations(
@@ -171,6 +173,7 @@ def _generate_integration_to_files_mapping(
171173
platform: str,
172174
sdk_name: str | None,
173175
extra: Mapping[str, Any],
176+
organization: Organization,
174177
) -> tuple[dict[int, list[SourceLineInfo]], int]:
175178
"""
176179
Because a single stack trace can be mapped to multiple integrations,
@@ -195,7 +198,11 @@ def _generate_integration_to_files_mapping(
195198
continue
196199

197200
src_path = convert_stacktrace_frame_path_to_source_path(
198-
frame=frame, platform=platform, sdk_name=sdk_name, code_mapping=code_mapping
201+
frame=frame,
202+
platform=platform,
203+
sdk_name=sdk_name,
204+
code_mapping=code_mapping,
205+
organization=organization,
199206
)
200207

201208
if not src_path:
@@ -379,6 +386,7 @@ def _record_commit_context_all_frames_analytics(
379386
platform=platform,
380387
sdk_name=sdk_name,
381388
code_mapping=selected_blame.code_mapping,
389+
organization=Organization.objects.get(id=organization_id),
382390
)
383391
== selected_blame.path
384392
),

src/sentry/issues/auto_source_code_config/code_mapping.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -387,7 +387,7 @@ def convert_stacktrace_frame_path_to_source_path(
387387
code_mapping: RepositoryProjectPathConfig,
388388
platform: str | None,
389389
sdk_name: str | None,
390-
organization: Organization | None = None,
390+
organization: Organization | None,
391391
) -> str | None:
392392
"""
393393
Applies the given code mapping to the given stacktrace frame and returns the source path.

tests/sentry/issues/auto_source_code_config/test_code_mapping.py

+5
Original file line numberDiff line numberDiff line change
@@ -477,6 +477,7 @@ def test_convert_stacktrace_frame_path_to_source_path_empty(self) -> None:
477477
code_mapping=self.code_mapping_empty,
478478
platform="python",
479479
sdk_name="sentry.python",
480+
organization=self.organization,
480481
)
481482
== "src/sentry/file.py"
482483
)
@@ -490,6 +491,7 @@ def test_convert_stacktrace_frame_path_to_source_path_abs_path(self) -> None:
490491
code_mapping=self.code_mapping_abs_path,
491492
platform="python",
492493
sdk_name="sentry.python",
494+
organization=self.organization,
493495
)
494496
== "src/sentry/folder/file.py"
495497
)
@@ -504,6 +506,7 @@ def test_convert_stacktrace_frame_path_to_source_path_java(self) -> None:
504506
code_mapping=self.code_mapping_file,
505507
platform="java",
506508
sdk_name="sentry.java",
509+
organization=self.organization,
507510
)
508511
== "src/sentry/module/File.java"
509512
)
@@ -546,6 +549,7 @@ def test_convert_stacktrace_frame_path_to_source_path_java_no_source_context(sel
546549
code_mapping=code_mapping,
547550
platform="java",
548551
sdk_name="sentry.java.android",
552+
organization=self.organization,
549553
)
550554
== expected_path
551555
)
@@ -584,6 +588,7 @@ def test_convert_stacktrace_frame_path_to_source_path_backslashes(self) -> None:
584588
code_mapping=self.code_mapping_backslash,
585589
platform="rust",
586590
sdk_name="sentry.rust",
591+
organization=self.organization,
587592
)
588593
== "src/sentry/folder/file.rs"
589594
)

0 commit comments

Comments
 (0)