Skip to content

Feature request: machine-readable output for build upload (e.g. --output-format json) with install/manifest URLs #3292

@joshdholtz

Description

@joshdholtz

sentry-cli build upload doesn't expose two URLs that are useful after a successful upload:

  1. The install page URL (https://<org>.sentry.io/preprod/install/<id>/)
  2. The itms-services:// manifest URL used by Sentry's QR code, which triggers the iOS install dialog when scanned

Today the CLI only prints the artifact URL (/preprod/size/<id>) as part of human-readable stdout. To get the install URL, callers have to regex stdout. To get the itms URL, callers have to make a follow-up GET /api/0/projects/{org}/{project}/files/installablepreprodartifact/?per_page=1 request to grab the artifact string id (e.g. 59MPiMQHr-eeHIF6) and construct the manifest URL themselves.

The assemble response (AssembleBuildResponse in src/api/data_types/chunking/build.rs) currently only has state, missingChunks, detail, and artifactUrl, so the CLI doesn't have the data to print install or itms URLs even if it wanted to.

Two changes that would address this:

  1. Add --output-format json to build upload, emitting the artifact URL (and any other fields) as structured output instead of formatted text.
  2. Extend the assemble response to include the installable artifact's string id (and ideally the install + manifest URLs), then surface them through the CLI.

Metadata

Metadata

Assignees

No one assigned
    No fields configured for issues without a type.

    Projects

    Status

    Waiting for: Product Owner

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions