Output Markdown to the Overview Tab (PipelineRuns & TaskRuns)
This guide shows you how to surface human‑readable reports in the Overview tab of both PipelineRuns and TaskRuns by writing Markdown into a Task Result named overview-markdown.
TOC
Prerequisites
- Tekton Pipelines installed on your cluster.
- Optional but recommended: Tekton Results deployed so your summaries remain queryable even after old TaskRuns/PipelineRuns are garbage‑collected.
Why Tekton Results? If your cluster prunes runs aggressively, the in‑cluster TaskRun/PipelineRun objects (and their results) may disappear. Tekton Results provides a central store so historical Overview reports remain accessible.
How it works
- The UI reads a Task's result with the exact name
overview-markdown.
- Whatever Markdown you write into that result file will be rendered in the run's Overview tab.
- In a Pipeline, each Task can produce its own
overview-markdown, and the Overview tab shows them grouped by Task.
- You do not need to write to a Pipeline result for the Overview tab; write to the Task's
overview-markdown instead.
Limits: A single Task's result value is limited to 4 KB by default. Keep summaries concise; link out to larger artifacts when needed. If you want to configure the result size limit, you can refer to Result Limit Exceeded When Writing Tekton Task Results.
Steps
1. Define a Task result named overview-markdown
Create (or update) your Task so it declares a string result with that exact name.
In one of the Task's steps, write Markdown to $(results.overview-markdown.path).
Example Task (replace <image> as needed):
apiVersion: tekton.dev/v1
kind: Task
metadata:
name: demo-markdown-overview
spec:
results:
- name: overview-markdown
description: "Markdown content displayed in the Overview tab."
type: string
steps:
- name: write-markdown
image: <image>
script: |
#!/bin/bash
# Write Markdown to the result path.
cat >"$(results.overview-markdown.path)" <<'EOF'
# Demo Overview
**Status:** ✅ Success
**Artifacts**
- Image: `ghcr.io/example/app:v1.2.3`
- SBOM: `sbom.spdx.json`
**Notes**
- Lint passed.
- 0 critical vulnerabilities found.
_Generated by **demo-markdown-overview**._
EOF
Keep the Markdown short and focused. A single Task's result value is limited to 4 KB by default. For long reports:
- Upload the full artifact (e.g., HTML, JSON, PDF) to your storage or artifact repository.
- Put a link in the Markdown (e.g.,
[Full report](https://artifact.example.com/run/123/report.html)).
If you want to configure the result size limit, you can refer to Result Limit Exceeded When Writing Tekton Task Results.
2. Run the Task
Create a TaskRun referencing your Task, wait for it to complete.
Example TaskRun:
apiVersion: tekton.dev/v1
kind: TaskRun
metadata:
name: demo-markdown-overview-run
spec:
taskRef:
name: demo-markdown-overview
3. View the overview
After TaskRun completes, open the TaskRun's Overview tab to see the rendered Markdown.
If nothing renders, check the step logs to confirm the file was written to $(results.overview-markdown.path) and that the result name is correct.
4. (Optional) Use it in Pipelines
In a Pipeline, each Task can output its own overview-markdown. The Overview tab will display separate sections per Task (e.g., lint, scan, build).
You do not need to the Pipeline's results for this feature. Only Task results are rendered in the Overview tab.
Example Pipeline (replace <lint-image> <scan-image> as needed):
apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
name: pipeline-with-summaries
spec:
tasks:
- name: lint
taskSpec:
results:
- name: overview-markdown
description: "Lint overview"
type: string
steps:
- name: run-lint
image: <lint-image>
script: |
#!/bin/bash
cat >"$(results.overview-markdown.path)" <<'EOF'
## Lint Overview
- Files checked: **128**
- Issues: **0**
- Tool: `golangci-lint 1.57.2`
EOF
- name: scan
runAfter: [lint]
taskSpec:
results:
- name: overview-markdown
description: "Security scan overview"
type: string
steps:
- name: run-scan
image: <scan-image>
script: |
#!/bin/bash
cat >"$(results.overview-markdown.path)" <<'EOF'
## Security Scan
**Findings**
- Critical: **0**
- High: **1** (CVE-2025-XXXX)
- Medium: **3**
EOF
Example PipelineRun:
apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
name: pipeline-with-summaries-run
spec:
pipelineRef:
name: pipeline-with-summaries
Open the PipelineRun's Overview tab. You should see two Markdown sections: lint and scan.
Tips
- Exact name matters: The result must be named
overview-markdown (case‑sensitive).
- Write to the right place: Always write to
$(results.overview-markdown.path). You don't need a Pipeline‑level result.
- Size limit: A single Task result value is capped at 4 KB by default. If you want to configure the result size limit, you can refer to Result Limit Exceeded When Writing Tekton Task Results.
Troubleshooting
- Nothing shows in the Overview tab
- Check the result name: it must be exactly
overview-markdown.
- Verify the step wrote to
$(results.overview-markdown.path).
- Confirm your UI version supports this feature.
- Pod logs show termination message overflow