{
  "slug": "sentry-cli-preprod-snapshots-upload-adds-vcs-parameters-53b3aa03b446",
  "title": "sentry-cli preprod snapshots upload adds VCS parameters",
  "tools": [
    "sentry-cli"
  ],
  "tags": [
    "agent"
  ],
  "introduced_at": "2026-03-10T18:10:22.000Z",
  "announced_at": "2026-03-10T18:10:22.000Z",
  "effective_at": null,
  "date_basis": "source-publication",
  "status": "unknown",
  "how": {
    "incantation": "When uploading preprod snapshots, use `build snapshots upload` and provide VCS metadata with the documented flags; the command also supports automatic metadata collection in most CI environments.",
    "examples": [
      "sentry-cli build snapshots upload --org <org> --project <project> <path> --app-id <app-id> --head-sha <head-sha> --base-sha <base-sha> --vcs-provider <provider> --head-repo-name <owner/repo> --base-repo-name <owner/repo> --head-ref <branch> --base-ref <branch> --pr-number <number>",
      "sentry-cli build snapshots upload --org <org> --project <project> <path> --app-id <app-id>"
    ],
    "gotchas": [
      "Version: 3.3.2",
      "Availability: preprod",
      "PATH (required): Folder containing images to upload.",
      "--app-id APP_ID (required): Application identifier.",
      "--org ORG / --project PROJECT: Organization ID/slug and project ID/slug; command resolves them from configuration if omitted.",
      "--head-sha SHA: VCS commit SHA; defaults to current commit.",
      "--base-sha SHA: Base VCS commit SHA; defaults to merge base of current and remote branch.",
      "--vcs-provider PROVIDER: VCS provider; defaults to current provider.",
      "--head-repo-name NAME: Head git repository name, e.g. `organization/repository`; defaults to current repository.",
      "--base-repo-name NAME: Base git repository name, e.g. `organization/repository`; defaults to current repository.",
      "--head-ref REF: Head branch/reference; defaults to current reference.",
      "--base-ref REF: Base branch/reference; defaults to merge base with remote tracking branch.",
      "--pr-number NUMBER: Pull request number; auto-detected in GitHub Actions pull_request workflows when omitted.",
      "--force-git-metadata: Force collection and sending of git metadata; conflicts with `--no-git-metadata`.",
      "--no-git-metadata: Disable collection and sending of git metadata; conflicts with `--force-git-metadata`.",
      "Prerequisite: Authenticate with a Sentry CLI configuration/token and select an organization and project; organization/project may come from config.",
      "Prerequisite: The command is marked experimental and may have breaking changes or be removed in any Sentry CLI release."
    ]
  },
  "why_it_matters": "Upload preprod build snapshots with VCS metadata from a coding repository.",
  "sources": [
    "https://github.com/getsentry/sentry-cli/releases/tag/3.3.2",
    "https://github.com/getsentry/sentry-cli/pull/3200",
    "https://github.com/getsentry/sentry-cli/blob/3.3.2/src/commands/build/snapshots.rs",
    "https://github.com/getsentry/sentry-cli/blob/3.3.2/src/utils/args.rs"
  ],
  "rank": 0.94017,
  "judge": {
    "publish": true,
    "judge_model": "codex-cli/gpt-6-luna+typesafe/jev-1.13.0",
    "prompt_version": "extract-v7+enrich-v1+judge-v2x3-rejudge+jev-publish-v1"
  },
  "review_state": "approved",
  "provenance": {
    "run_id": "ghtools-20261008",
    "verdict_id": "ghtools-20261008:ghtools-20261008-9e18375b8de87cee-0:rescue",
    "evidence_hash": "915179c7735283b9345ad36d1ab1c7a43a23ebe90ba6c09bc87aebecdf8e6cb1"
  },
  "review": {
    "draft_hash": "a64cae73ab64731ef34270b1fa863fe86067c637e8c77df39c2698d9582082a9",
    "reviewer": "publication-gate",
    "reviewed_at": "2026-10-07T00:00:00.000Z",
    "decision": "ghtools-20261008:rescue",
    "reason": "Rescue path: first rejected only because the extracted card lacked usage; judged again on the enriched card, 2 of 3 judge runs approved with p_yes >= 0.9 (mean 0.94 >= 0.9; 2 needed) and Jev gave 0.72 (>= 0.6 needed)."
  }
}
