tracker.yml Reports¶
Pipeline authors can include a tracker.yml file in the workflow's output directory to define reports that Tracker will display in the Reports tab on the run detail page.
Format¶
reports:
"<pattern>":
display: "<display name>"
"<pattern>":
display: "<display name>"
Each key under reports is a glob pattern matched against published output files (relative to the output directory). The display field is the human-readable name shown in the Reports dropdown.
Example¶
reports:
"multiqc/multiqc_report.html":
display: "MultiQC Report"
"**/VEP/**/summary.html":
display: "VEP Summary"
"results/*_coverage.pdf":
display: "Coverage Report"
Pattern Matching¶
Patterns use standard glob syntax and are matched against output file paths relative to the run's output_dir.
| Pattern | Matches |
|---|---|
multiqc_report.html |
Exact filename in output root |
multiqc/multiqc_report.html |
Exact path relative to output dir |
*_report.html |
Any file ending in _report.html in output root |
**/*.html |
Any .html file at any depth |
**/VEP/**/summary.html |
summary.html under any VEP subdirectory |
results/sample?.csv |
Single-character wildcard (e.g., sample1.csv, sampleA.csv) |
Glob Syntax Reference¶
| Symbol | Meaning |
|---|---|
* |
Matches any characters within a single path segment |
** |
Matches zero or more path segments (recursive) |
? |
Matches exactly one character |
Disambiguation¶
When a pattern matches multiple files, Tracker automatically appends the minimum differentiating path segment to the display name. For example:
reports:
"**/VEP/**/summary.html":
display: "VEP Summary"
If this matches:
reports/VEP/strelka/sample1/summary.htmlreports/VEP/strelka/sample2/summary.html
The Reports dropdown will show:
- VEP Summary (sample1)
- VEP Summary (sample2)
This disambiguation is automatic -- you do not need to handle it in your tracker.yml.
How It Works¶
- When a workflow completes (succeeded or failed), Tracker fetches
<output_dir>/tracker.ymlfrom S3. - Each pattern is matched against the run's published Output records.
- Matched files become entries in the Reports tab with the specified display names.
- The resolved reports are stored in the run's metadata (JSONB).
Tip
The file can be written from the Nextflow script layer (e.g., in workflow.onComplete), but it's best to publish it from a task so that it also appears in Tracker's output browser.
Supported Preview Formats¶
The Reports tab previews files directly in the browser based on their extension:
| Format | Extensions | Rendering | Max Size |
|---|---|---|---|
| HTML | .html |
Iframe (full rendering) | 25 MB |
.pdf |
Iframe (browser PDF viewer) | 25 MB | |
| CSV/TSV | .csv, .tsv |
Formatted table with auto-detected delimiter | 25 MB |
| Images | .png, .jpg, .gif, .svg, .webp |
Inline image | 25 MB |
| JSON | .json |
Pretty-printed code block | 25 MB |
| Text | .txt, .log, .yaml |
Code block | 25 MB |
Files exceeding 25 MB will not be previewed inline but can still be downloaded.
Deep Linking¶
Share a link to a specific report using the URL hash #reports:N, where N is the 0-based report index:
https://tracker.292967571998.natera.io/runs/daq-large-test-d37b9cd/#reports:1
This opens the run detail page with the Reports tab active and the second report selected.
Note
For more on how reports appear in the Tracker UI, see Reports in the User Guide.