Skip to main content
What you’ll learn
  • How to upload Playwright results from TeamCity to TestDino
  • How to install and configure the TestDino TeamCity Recipe
  • How to include screenshots, videos, and trace files in your upload
This guide walks through the complete setup of the TestDino TeamCity Recipe, including installation methods, configuration options, examples, and troubleshooting.

Quick Reference

The TestDino TeamCity Recipe uploads Playwright results after each build. This table shows what artifacts each option includes.
Upload OptionWhat It Includes
JSON onlyTest results, no artifacts
Image AttachmentsScreenshots
Video AttachmentsVideo recordings
Trace FilesPlaywright traces
Full JSON BundleEverything

Prerequisites

Before setting up, ensure you have:
  • A TestDino account with a project created
  • A TestDino API key (Generate API Keys)
  • A TeamCity project with Playwright tests
  • Playwright configured with JSON and HTML reporters in playwright.config.js:
playwright.config.js
// ...existing config

reporter: [
  ['html', { outputDir: './playwright-report' }],  // Optional
  ['json', { outputFile: './playwright-report/report.json' }],  // ✅ Required
]
TipWant to get started quickly? Clone the TestDino Example Repository — it includes sample tests and ready-to-use CI configs.

Installation Methods

This installs the plugin for all projects in your TeamCity instance.
  1. Go to TeamCity Administration
  2. Open Plugins
  3. Click Browse Plugins (JetBrains Marketplace)
  4. Search for “TestDino”
  5. Click Install
  6. Restart TeamCity if prompted
Best for administrators who want the recipe available across all projects.

Adding the Build Step

1

Open Build Steps

  1. Go to your TeamCity Build Configuration
  2. Click Build Steps
  3. Click Add build step
Adding a build step in TeamCity
2

Select the Runner

From the Runner Type dropdown, select TestDino - Upload Playwright Report.The recipe configuration form appears.Select TestDino runner in TeamCity
3

Configure and Save

Fill in the fields based on your setup (see Configuration Reference below), then click Save.

Configuration Reference

TeamCity configuration reference for TestDino
FieldDescriptionDefaultWhen to Use
Report DirectoryFolder containing your Playwright reports (JSON + HTML + artifacts)./playwright-reportChange this if your reports live somewhere else
TestDino API TokenYour project API key for authentication. Can also be set as TESTDINO_TOKEN environment variableRequiredAlways needed for secure uploads
HTML ReportsInclude the interactive HTML reportCheckboxTurn on when you want the full Playwright report UI in TestDino
Image AttachmentsInclude screenshots captured during test runsCheckboxHelpful for visual debugging and failure analysis
Video AttachmentsInclude video recordings of test executionsCheckboxGreat for debugging flaky tests or complex UI flows
Trace FilesInclude Playwright trace archivesCheckboxUse when you need step-by-step debugging with the trace viewer
File AttachmentsInclude extra files like .md, .pdf, .log, or .txtCheckboxUseful if your tests generate logs or documentation
Full JSON BundleUpload everything: JSON + HTML + images + videos + traces + filesCheckboxBest option for complete analytics in TestDino
Custom JSON Report PathOverride the default JSON file locationEmptySet this if your JSON report has a non-standard path
Custom HTML Report PathOverride the default HTML report folderEmptySet this if your HTML output is in a custom folder
Custom Trace DirectoryOverride the default trace folderEmptySet this if traces are stored separately
Verbose LoggingShow detailed debug output in build logsCheckboxTurn on when troubleshooting upload issues

Configuration Examples

Upload just the JSON report for quick analytics:
FieldValue
Report Directory./playwright-report
TestDino API Tokenyour-api-key
All checkboxesUnchecked

Using Environment Variables

Instead of entering your API token directly in the build step, use an environment variable for better security.
1

Setting the Token

  1. Go to your TeamCity Build Configuration
  2. Click Parameters
  3. Add a new parameter:
    • Name: env.TESTDINO_TOKEN
    • Value: Your API key
    • Type: Password
The recipe automatically reads TESTDINO_TOKEN from the environment. This keeps your key out of build logs and makes rotation easier.
2

Benefits

  • Token stays hidden in build logs
  • Easy to rotate without editing build steps
  • Shareable build configurations without exposing secrets

Running Your Build

With the recipe configured:
  1. Your Playwright tests run as usual
  2. Reports and artifacts are generated
  3. The TestDino recipe collects everything
  4. Files are uploaded to your TestDino project
  5. A confirmation message and link appear in the build log
TipClick the link to view your test run in TestDino.

Troubleshooting

Check your API token:
  • Verify the token is correct and hasn’t expired
  • Confirm the token belongs to the right TestDino project
  • Make sure you’ve entered it in the recipe or set TESTDINO_TOKEN in the environment
Verify your paths:
  • Check that your Playwright tests actually ran and generated output
  • Confirm the path matches your playwright.config.js settings
  • Try using an absolute path if relative paths aren’t working
Wait and refresh:
  • Uploads can take a few seconds to process
  • Check the build log for error messages
  • Verify your API token has access to the project
  • Click the Sync button in the TestDino Test Runs view
Enable the right checkboxes:
  • Screenshots → Image Attachments
  • Videos → Video Attachments
  • Traces → Trace Files
Or enable Full JSON Bundle to upload everything at once.
Reorder your build steps:
  • The TestDino step must run after your Playwright test step
  • Drag and drop to reorder in the Build Steps list
Turn on Verbose Logging in the recipe settings. This adds extra output to your build log that helps pinpoint where things go wrong.

Best Practices

  • Store the token in TeamCity parameters with password type
  • Avoid pasting tokens directly in build step fields
  • Rotate tokens periodically
  • For quick feedback, JSON-only is fastest
  • For debugging failures, add screenshots and traces
  • For full analysis, use the Full JSON Bundle option
Make sure the TestDino step runs after your Playwright tests finish. Consider setting the step to run “Even if build steps fail” so you can see failures in TestDino even when tests don’t pass.
If you customize Playwright’s output directories in playwright.config.js, update the recipe’s custom path fields to match.
Turn on verbose logging when first configuring the recipe. Once everything works, you can turn it off to keep build logs clean.

Next Steps

CI Optimization

Reduce CI time with smart reruns

Branch Mapping

Map branches to environments for organized test runs

Integrations

Connect Slack, Jira, Linear, Asana, and more

TestDino MCP

Access test results and fix issues with AI agents