Skip to content

Add replay recording segments API helpers#54

Merged
tustanivsky merged 3 commits into
mainfrom
feat/replay-recording-segments
Jul 17, 2026
Merged

Add replay recording segments API helpers#54
tustanivsky merged 3 commits into
mainfrom
feat/replay-recording-segments

Conversation

@tustanivsky

Copy link
Copy Markdown
Collaborator

This PR adds API helpers for fetching a session replay's rrweb recording data, so integration tests can assert on recording contents (e.g. embedded breadcrumbs):

  • Get-SentryReplayRecordingSegments (sentry-api-client): fetches the recording segments of a replay via the recording-segments/?download=true endpoint; the response is a JSON array with one entry per segment, each entry being the segment's list of rrweb events.
  • Get-SentryTestReplayRecordingSegments (Integration.TestUtils): polling wrapper following the Get-SentryTestReplay pattern, saving the fetched recording to the test output directory.

Testing

Verified end-to-end by getsentry/sentry-unreal#1480, which uses these helpers to assert that breadcrumbs are embedded in crash replay recordings — the Session Replay integration test context passes on Windows against the live Sentry API.

Adds Get-SentryReplayRecordingSegments to fetch the rrweb recording
data of a session replay, plus a polling Get-SentryTestReplayRecordingSegments
test util, so integration tests can assert on recording contents
(e.g. embedded breadcrumbs).
Comment thread sentry-api-client/Public/Get-SentryReplayRecordingSegments.ps1 Outdated
Pipeline enumeration collapses a single-segment response into its inner
rrweb event list, so callers received a flat event list instead of one
entry per segment. Re-wrap that case and return with the comma operator,
matching the other test util helpers.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 6dac008. Configure here.

Comment thread sentry-api-client/Public/Get-SentryReplayRecordingSegments.ps1 Outdated
Comment thread utils/Integration.TestUtils.psm1 Outdated
Wrap the API call in @() so an empty segments response yields an empty
array instead of a one-element array containing null, letting the test
util keep polling. Serialize the saved artifact via -InputObject so a
single-segment recording keeps its array-of-segments nesting.
Comment thread sentry-api-client/Public/Get-SentryReplayRecordingSegments.ps1
Comment thread utils/Integration.TestUtils.psm1
@tustanivsky
tustanivsky merged commit 4526c9c into main Jul 17, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants