Skip to content

fix(commit_context): Enable new Java logic #90474

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Apr 28, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion src/sentry/integrations/utils/commit_context.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
)
from sentry.models.commit import Commit
from sentry.models.commitauthor import CommitAuthor
from sentry.models.organization import Organization
from sentry.shared_integrations.exceptions import ApiError
from sentry.utils import metrics
from sentry.utils.committers import get_stacktrace_path_from_event_frame
Expand Down Expand Up @@ -63,6 +64,7 @@ def find_commit_context_for_event_all_frames(
platform=platform,
sdk_name=sdk_name,
extra=extra,
organization=Organization.objects.get(id=organization_id),
)

file_blames, integration_to_install_mapping = _get_blames_from_all_integrations(
Expand Down Expand Up @@ -171,6 +173,7 @@ def _generate_integration_to_files_mapping(
platform: str,
sdk_name: str | None,
extra: Mapping[str, Any],
organization: Organization,
) -> tuple[dict[int, list[SourceLineInfo]], int]:
"""
Because a single stack trace can be mapped to multiple integrations,
Expand All @@ -195,7 +198,11 @@ def _generate_integration_to_files_mapping(
continue

src_path = convert_stacktrace_frame_path_to_source_path(
frame=frame, platform=platform, sdk_name=sdk_name, code_mapping=code_mapping
frame=frame,
platform=platform,
sdk_name=sdk_name,
code_mapping=code_mapping,
organization=organization,
)

if not src_path:
Expand Down Expand Up @@ -379,6 +386,7 @@ def _record_commit_context_all_frames_analytics(
platform=platform,
sdk_name=sdk_name,
code_mapping=selected_blame.code_mapping,
organization=Organization.objects.get(id=organization_id),
)
== selected_blame.path
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -387,7 +387,7 @@ def convert_stacktrace_frame_path_to_source_path(
code_mapping: RepositoryProjectPathConfig,
platform: str | None,
sdk_name: str | None,
organization: Organization | None = None,
organization: Organization | None,
) -> str | None:
"""
Applies the given code mapping to the given stacktrace frame and returns the source path.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -477,6 +477,7 @@ def test_convert_stacktrace_frame_path_to_source_path_empty(self) -> None:
code_mapping=self.code_mapping_empty,
platform="python",
sdk_name="sentry.python",
organization=self.organization,
)
== "src/sentry/file.py"
)
Expand All @@ -490,6 +491,7 @@ def test_convert_stacktrace_frame_path_to_source_path_abs_path(self) -> None:
code_mapping=self.code_mapping_abs_path,
platform="python",
sdk_name="sentry.python",
organization=self.organization,
)
== "src/sentry/folder/file.py"
)
Expand All @@ -504,6 +506,7 @@ def test_convert_stacktrace_frame_path_to_source_path_java(self) -> None:
code_mapping=self.code_mapping_file,
platform="java",
sdk_name="sentry.java",
organization=self.organization,
)
== "src/sentry/module/File.java"
)
Expand Down Expand Up @@ -546,6 +549,7 @@ def test_convert_stacktrace_frame_path_to_source_path_java_no_source_context(sel
code_mapping=code_mapping,
platform="java",
sdk_name="sentry.java.android",
organization=self.organization,
)
== expected_path
)
Expand Down Expand Up @@ -584,6 +588,7 @@ def test_convert_stacktrace_frame_path_to_source_path_backslashes(self) -> None:
code_mapping=self.code_mapping_backslash,
platform="rust",
sdk_name="sentry.rust",
organization=self.organization,
)
== "src/sentry/folder/file.rs"
)
Expand Down
Loading