Comparison

Allure Report Alternative: Hosted Test Reports, No Servers

An Allure Report alternative, no self-hosting. Gaffer hosts Playwright, Jest, pytest, JUnit XML, and CTRF test reports. A SaaS alternative to Allure TestOps.

On this page

You picked Allure for its HTML reports. Then you tried to share those reports with your team, and found that Allure Report produces static files and leaves hosting to you. Allure offers two ways past that: free, self-hosted storage for Allure 3, and the paid Allure TestOps. Gaffer is a third option. Each asks a small team to run something different: one container or Worker for Allure storage, four backing services for on-premise TestOps, one CI upload step for Gaffer.

Why Teams Look for an Allure Report Alternative

Allure Report is free and open source, and generates static HTML you host yourself. Allure TestOps is the paid product, at $39 per user/month with volume pricing for larger teams. Each comes with trade-offs:

Self-Hosting Complexity

This applies only to on-premise Allure TestOps. In the Cloud edition, Qameta hosts it for you. Running the on-premise edition means:

For small teams, this is a lot of overhead just to share test results.

CI Pipeline Integration

Allure requires adding the Allure commandline tool to your CI environment, generating reports, then uploading them somewhere your team can access. History needs its own step: Allure 3 uses a historyPath JSONL file, and Allure 2 copies the history directory between runs. This works, but it’s another moving part to maintain.

Report Hosting

Allure generates static HTML reports, but hosting them requires additional setup. Common approaches:

  • GitHub Pages (works but limited for private repos)
  • S3 + CloudFront (more infrastructure to manage)
  • Self-hosted web server (even more maintenance)
  • Allure Report Storage, which Allure 3 publishes to (free, Apache-2.0, self-hosted)

With Allure Report Storage, each report “gets a shareable URL”, with cross-run history grouped by repo and branch. It runs as a Docker container (bundled SQLite and local disk) or a Cloudflare Worker (D1 and R2), and Allure’s docs say: “Neither needs an external database or bucket by default”. Access is token-based, and the docs do not describe user accounts or roles. Nothing expires automatically; only explicit deletion removes reports.

What Does Each Option Ask a Small Team to Run?

Allure Report needs a static host, Allure 3 storage needs one container or Worker, on-premise TestOps needs four backing services, and TestOps Cloud and Gaffer need nothing hosted.

OptionWhat you runWhat you pay
Allure ReportAllure in CI, a static host, and a history stepFree software, plus your hosting
Allure 3 + Allure Report StorageAllure 3 in CI, plus one Docker container or Cloudflare WorkerFree software (Apache-2.0), plus your hosting
Allure TestOps CloudNothing hosted: Qameta runs it$39 per user/month
Allure TestOps on-premiseTestOps, PostgreSQL, RabbitMQ, Redis and S3-compatible storage$39 per user/month, plus your infrastructure
GafferOne CI upload step, nothing hosted$0, $15 or $49/month with unlimited users, plus $0.50/GB/month for storage overage on Pro and Team

Gaffer: Hosted Test Reporting

Gaffer takes a different approach: hosted test reporting with zero infrastructure.

No Self-Hosting

Gaffer is a SaaS platform. No servers to manage, no databases to configure, no updates to apply. Sign up and start uploading test results.

Simple CI Integration

One step in your CI pipeline:

- name: Upload to Gaffer
if: always()
uses: gaffer-sh/gaffer-uploader@v2
with:
gaffer_upload_token: ${{ secrets.GAFFER_PROJECT_TOKEN }}
report_path: ./test-results

Or with curl if you prefer:

Terminal window
curl -X POST https://app.gaffer.sh/api/upload \
-H "X-API-Key: $GAFFER_PROJECT_TOKEN" \
-F "files=@test-results/report.html"

One YAML step is all it takes: no additional tools in CI, no database, no server to maintain.

Instant Team Sharing

Every upload gets a URL for your team, and you can create a share link for anyone else. Send it in Slack, paste it in a PR, or bookmark it. No downloads, no zip files, no “let me spin up the report server.”

Built-in Flaky Test Detection

Gaffer automatically tracks test stability over time and identifies flaky tests by analyzing flip rates. No additional setup required: just upload your results. Full detail in flaky test detection.

Feature Comparison

FeatureAllure ReportAllure 3 + storageAllure TestOpsGaffer
Test reportsStatic HTML you hostPublished to your storage instanceHostedHosted
Historical trendshistoryPath file (Allure 3) or copied history directory (Allure 2)Cross-run history by repo and branchYesYes
Flaky test signalFlaky mark from tests history (needs history enabled), plus a changed-on-retry markSame marks, using the history it storesAutomatic (3+ status transitions in the last 10 runs)Flaky detection from flip rates
Team sharingThrough your static hostShareable URL, token-based accessYesTeam URL and share links
Self-hosting requiredYes, to shareYesOptional (Cloud or on-premise)No
Database requiredNoNo external database by default (bundled SQLite, or D1 on Cloudflare)Cloud: none to run. On-premise: PostgreSQLNo
PricingFreeFree (Apache-2.0)$39 per user/monthFlat-rate tiers, plus storage overage on Pro and Team

Framework Support

Both Allure and Gaffer support major test frameworks:

FrameworkAllureGaffer
PlaywrightYesYes
JestYesYes
VitestYesYes
pytestYesYes
JUnitYesYes (JUnit XML guide)
CypressYesYes (via CTRF)

Gaffer also supports CTRF (Common Test Report Format), which has adapters for many test frameworks.

When to Use Allure

Allure 3 with Allure Report Storage is the better choice if you:

  • Want a free, open-source, self-hosted report host
  • Can run one container or already use Cloudflare
  • Need report data to stay on your infrastructure
  • Already rely on Allure’s annotations (@Step, @Attachment)

When to Use Gaffer

Gaffer is probably a better fit if you:

  • Want test reporting without infrastructure overhead
  • Have a small team without dedicated DevOps
  • Want built-in Slack notifications and GitHub integration
  • Prefer flat-rate tiers with unlimited users over per-user pricing, and are fine with metered storage past your plan’s limit

Migration from Allure

Already using Allure? Gaffer works alongside your existing setup:

  1. Keep generating Allure reports if your team is used to them
  2. Add the Gaffer upload step to CI
  3. Use CTRF or JUnit XML format for Gaffer analytics
  4. Gradually shift to Gaffer for sharing and history

No big-bang migration required.

Other Comparisons

Evaluating multiple tools? See how Gaffer compares to ReportPortal, Currents.dev, TestDino, and Codecov Test Analytics. For a wider view, see 10 test reporting tools compared.

Try It

Gaffer’s free tier includes 500 MB storage and 7-day retention. Enough to evaluate whether it fits your workflow.