Upload API

Upload test reports to Gaffer via REST API. Supports Playwright, Jest, Vitest, pytest, and JUnit XML formats with metadata tags for filtering and organization.

Gaffer's Upload API allows you to upload test reports from any CI/CD system or local environment. The API accepts multipart form data containing your test report files and optional metadata.

Endpoint

POST https://app.gaffer.sh/api/upload

Authentication

All requests must include your project's upload token in the X-API-Key header. You can find your upload token in your project settings.

Header Description
X-API-Key Your project upload token (required)
Content-Type multipart/form-data (set automatically by most HTTP clients)

Request Body

The request body must be multipart/form-data with the following fields:

Field Type Required Description
files File(s) Yes One or more test report files to upload. Include multiple files by repeating the field.
tags JSON string No Metadata tags as a JSON object (see below).

Tags

Tags are optional metadata that help you organize and filter your test runs. Pass them as a JSON string in the tags field.

Tag Recommended Description
commitSha Strongly recommended The git commit SHA associated with this test run.
branch Recommended The git branch name (e.g., main, feature/auth).
test_framework Optional The test framework used (e.g., playwright, jest, pytest).
test_suite Optional A label for the test suite (e.g., unit, integration, e2e).

You can also include any custom tags you like. All tag values must be strings.

File Size Limits

  • Per file: 50 MB maximum
  • Total upload: 100 MB maximum

Supported Report Formats

Gaffer supports a variety of test report formats:

  • Playwright HTML - Full HTML report with embedded data
  • Vitest HTML - Vitest HTML reporter output
  • Jest JSON - Native Jest JSON output (--json)
  • Jest HTML - jest-html-reporter output
  • pytest HTML - pytest-html plugin output
  • JUnit XML - Standard JUnit XML format
  • Vitest JSON - Vitest JSON reporter output

Example Request

Single File Upload

curl