Skip to content

chore(launchpad): Return artifact URL upon creation #97558

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

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

NicoHinderling
Copy link
Contributor

Instead of just returning the artifact id, lets return the full URL

@NicoHinderling NicoHinderling requested a review from a team as a code owner August 10, 2025 18:58
@github-actions github-actions bot added the Scope: Backend Automatically applied to PRs that change backend components label Aug 10, 2025
cursor[bot]

This comment was marked as outdated.

Copy link

codecov bot commented Aug 10, 2025

❌ 3 Tests Failed:

Tests completed Failed Passed Skipped
27029 3 27026 593
View the top 3 failed test(s) by shortest run time
tests.sentry.preprod.api.endpoints.test_organization_preprod_artifact_assemble.ProjectPreprodArtifactAssembleTest::test_assemble_basic
Stack Traces | 2.29s run time
#x1B[1m#x1B[.../api/endpoints/test_organization_preprod_artifact_assemble.py#x1B[0m:379: in test_assemble_basic
    assert response.data["artifactId"] == artifact_id
#x1B[1m#x1B[31mE   KeyError: 'artifactId'#x1B[0m
tests.sentry.preprod.api.endpoints.test_organization_preprod_artifact_assemble.ProjectPreprodArtifactAssembleTest::test_assemble_with_metadata
Stack Traces | 2.29s run time
#x1B[1m#x1B[.../api/endpoints/test_organization_preprod_artifact_assemble.py#x1B[0m:445: in test_assemble_with_metadata
    assert response.data["artifactId"] == artifact_id
#x1B[1m#x1B[31mE   KeyError: 'artifactId'#x1B[0m
tests.snuba.api.endpoints.test_organization_trace.OrganizationEventsTraceEndpointTest::test_with_uptime_results
Stack Traces | 28.2s run time
#x1B[1m#x1B[.../api/endpoints/test_organization_trace.py#x1B[0m:581: in test_with_uptime_results
    self.assert_expected_results(
#x1B[1m#x1B[.../api/endpoints/test_organization_trace.py#x1B[0m:485: in assert_expected_results
    assert (
#x1B[1m#x1B[31mE   AssertionError: Span 0 differs (excluding children)#x1B[0m
#x1B[1m#x1B[31mE   assert {'additional_...733600.5, ...} == {'additional_...733600.3, ...}#x1B[0m
#x1B[1m#x1B[31mE     #x1B[0m
#x1B[1m#x1B[31mE     Omitting 15 identical items, use -vv to show#x1B[0m
#x1B[1m#x1B[31mE     Differing items:#x1B[0m
#x1B[1m#x1B[31mE     {'end_timestamp': 1754733600.5} != {'end_timestamp': 1754733600.3}#x1B[0m
#x1B[1m#x1B[31mE     {'duration': 500.0} != {'duration': 300.0}#x1B[0m
#x1B[1m#x1B[31mE     {'name': 'https://www.example.com'} != {'name': 'https://example.com'}#x1B[0m
#x1B[1m#x1B[31mE     {'additional_attributes': {'actual_check_time_us': 1754733600005000, 'check_duration_us': 500000, 'check_status': 'success', 'guid': 'check-123', ...}} != {'additional_attributes': {'actual_check_time_us': 1754733600005000, 'check_duration_us': 300000, 'check_status': 'success', 'guid': 'check-123', ...}}#x1B[0m
#x1B[1m#x1B[31mE     {'event_id': '0376838e1e6b4ea7ce412b47e9c2dcb5'} != {'event_id': '4eadb8390d8331a9ec4244eb701db0e4'}#x1B[0m
#x1B[1m#x1B[31mE     {'description': 'Uptime Check [success] - https://www.example.com (200)'} != {'description': 'Uptime Check [success] - https://example.com (301)'}#x1B[0m
#x1B[1m#x1B[31mE     #x1B[0m
#x1B[1m#x1B[31mE     Full diff:#x1B[0m
#x1B[1m#x1B[31mE       {#x1B[0m
#x1B[1m#x1B[31mE           'additional_attributes': {#x1B[0m
#x1B[1m#x1B[31mE               'actual_check_time_us': 1754733600005000,#x1B[0m
#x1B[1m#x1B[31mE     -         'check_duration_us': 300000,#x1B[0m
#x1B[1m#x1B[31mE     ?                              ^#x1B[0m
#x1B[1m#x1B[31mE     +         'check_duration_us': 500000,#x1B[0m
#x1B[1m#x1B[31mE     ?                              ^#x1B[0m
#x1B[1m#x1B[31mE               'check_status': 'success',#x1B[0m
#x1B[1m#x1B[31mE               'guid': 'check-123',#x1B[0m
#x1B[1m#x1B[31mE     -         'http_status_code': 301,#x1B[0m
#x1B[1m#x1B[31mE     ?                             ^ ^#x1B[0m
#x1B[1m#x1B[31mE     +         'http_status_code': 200,#x1B[0m
#x1B[1m#x1B[31mE     ?                             ^ ^#x1B[0m
#x1B[1m#x1B[31mE     -         'id': '4eadb8390d8331a9ec4244eb701db0e4',#x1B[0m
#x1B[1m#x1B[31mE     +         'id': '0376838e1e6b4ea7ce412b47e9c2dcb5',#x1B[0m
#x1B[1m#x1B[31mE               'original_url': 'https://example.com',#x1B[0m
#x1B[1m#x1B[31mE               'region': 'default',#x1B[0m
#x1B[1m#x1B[31mE               'request_duration_us': 125000,#x1B[0m
#x1B[1m#x1B[31mE     -         'request_sequence': 0,#x1B[0m
#x1B[1m#x1B[31mE     ?                             ^#x1B[0m
#x1B[1m#x1B[31mE     +         'request_sequence': 1,#x1B[0m
#x1B[1m#x1B[31mE     ?                             ^#x1B[0m
#x1B[1m#x1B[31mE               'request_type': 'GET',#x1B[0m
#x1B[1m#x1B[31mE     -         'request_url': 'https://example.com',#x1B[0m
#x1B[1m#x1B[31mE     +         'request_url': 'https://www.example.com',#x1B[0m
#x1B[1m#x1B[31mE     ?                                 ++++#x1B[0m
#x1B[1m#x1B[31mE               'scheduled_check_time_us': 1754733600000000,#x1B[0m
#x1B[1m#x1B[31mE     -         'span_id': '1fe57c224aad4214',#x1B[0m
#x1B[1m#x1B[31mE     +         'span_id': '998931637e9941cb',#x1B[0m
#x1B[1m#x1B[31mE               'subscription_id': 'sub-456',#x1B[0m
#x1B[1m#x1B[31mE               'trace': '25ff32b98cd04ce4938eb807b1c54742',#x1B[0m
#x1B[1m#x1B[31mE           },#x1B[0m
#x1B[1m#x1B[31mE     -     'description': 'Uptime Check [success] - https://example.com (301)',#x1B[0m
#x1B[1m#x1B[31mE     ?                                                                   ^ ^#x1B[0m
#x1B[1m#x1B[31mE     +     'description': 'Uptime Check [success] - https://www.example.com (200)',#x1B[0m
#x1B[1m#x1B[31mE     ?                                                      ++++             ^ ^#x1B[0m
#x1B[1m#x1B[31mE     -     'duration': 300.0,#x1B[0m
#x1B[1m#x1B[31mE     ?                 ^#x1B[0m
#x1B[1m#x1B[31mE     +     'duration': 500.0,#x1B[0m
#x1B[1m#x1B[31mE     ?                 ^#x1B[0m
#x1B[1m#x1B[31mE     -     'end_timestamp': 1754733600.3,#x1B[0m
#x1B[1m#x1B[31mE     ?                                 ^#x1B[0m
#x1B[1m#x1B[31mE     +     'end_timestamp': 1754733600.5,#x1B[0m
#x1B[1m#x1B[31mE     ?                                 ^#x1B[0m
#x1B[1m#x1B[31mE           'errors': [],#x1B[0m
#x1B[1m#x1B[31mE     -     'event_id': '4eadb8390d8331a9ec4244eb701db0e4',#x1B[0m
#x1B[1m#x1B[31mE     +     'event_id': '0376838e1e6b4ea7ce412b47e9c2dcb5',#x1B[0m
#x1B[1m#x1B[31mE           'event_type': 'uptime',#x1B[0m
#x1B[1m#x1B[31mE           'is_transaction': False,#x1B[0m
#x1B[1m#x1B[31mE           'measurements': {},#x1B[0m
#x1B[1m#x1B[31mE     -     'name': 'https://example.com',#x1B[0m
#x1B[1m#x1B[31mE     +     'name': 'https://www.example.com',#x1B[0m
#x1B[1m#x1B[31mE     ?                      ++++#x1B[0m
#x1B[1m#x1B[31mE           'occurrences': [],#x1B[0m
#x1B[1m#x1B[31mE           'op': 'uptime.request',#x1B[0m
#x1B[1m#x1B[31mE           'parent_span_id': None,#x1B[0m
#x1B[1m#x1B[31mE           'profile_id': '',#x1B[0m
#x1B[1m#x1B[31mE           'profiler_id': '',#x1B[0m
#x1B[1m#x1B[31mE           'project_id': 4556569633095682,#x1B[0m
#x1B[1m#x1B[31mE           'project_slug': 'bar',#x1B[0m
#x1B[1m#x1B[31mE           'sdk_name': 'uptime-monitor',#x1B[0m
#x1B[1m#x1B[31mE           'start_timestamp': 1754733600.0,#x1B[0m
#x1B[1m#x1B[31mE           'transaction': 'uptime.check',#x1B[0m
#x1B[1m#x1B[31mE           'transaction_id': '25ff32b98cd04ce4938eb807b1c54742',#x1B[0m
#x1B[1m#x1B[31mE       }#x1B[0m

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Scope: Backend Automatically applied to PRs that change backend components
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant