plugins/ci/skills/fetch-job-run-summary/SKILL.md
Fetch a Prow job run summary from Sippy showing all failed tests grouped by SIG with error messages
npx skillsauth add openshift-eng/ai-helpers fetch-job-run-summaryInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill fetches a summary of a Prow job run from the Sippy API, listing all tests that failed (excluding flakes) along with their error messages.
Use this skill when you need to:
https://sippy.dptools.openshift.orgscript_path="plugins/ci/skills/fetch-job-run-summary/fetch_job_run_summary.py"
# Text output (AI-readable)
python3 "$script_path" <prow_job_run_id>
# JSON output (structured)
python3 "$script_path" <prow_job_run_id> --format json
| Parameter | Required | Description |
|-----------|----------|-------------|
| prow_job_run_id | Yes | The Prow job run ID (numeric, e.g., 2030845545290928128) |
| --format | No | Output format: text (default) or json |
The job run ID can be extracted from a Prow job URL:
https://prow.ci.openshift.org/view/gs/test-platform-results/logs/<job-name>/<job_run_id>
The last path segment is the job run ID.
Endpoint: https://sippy.dptools.openshift.org/api/job/run/summary
Query Parameter: prow_job_run_id (required)
Response Fields:
| Field | Type | Description |
|-------|------|-------------|
| id | int | Prow job run ID |
| name | string | Full job name |
| release | string | OpenShift release (e.g., 4.22) |
| cluster | string | Build cluster (e.g., build01) |
| url | string | Prow job URL |
| startTime | string | ISO 8601 start time |
| durationSeconds | int | Job duration in seconds |
| overallResult | string | S (success) or F (failure) |
| reason | string | Human-readable result reason |
| infrastructureFailure | bool | Whether this was an infrastructure failure |
| testCount | int | Total number of tests run |
| testFailureCount | int | Number of failed tests |
| testFailures | dict | Map of test name to error message (excludes flakes) |
| variants | list | Job variant tags |
The Sippy API automatically handles flake detection. When a test has both a failure and a pass in the same job run's junit results (the standard flake pattern), it is not included in testFailures. Only true failures — tests that failed without a corresponding pass — appear in the results.
The text output is structured for AI consumption with:
Structured JSON with the same data:
{
"success": true,
"job_name": "periodic-ci-openshift-hypershift-...",
"job_run_id": "2030845545290928128",
"release": "4.22",
"test_count": 3827,
"failure_count": 400,
"pass_rate": 89.5,
"failed_tests": [
{"test_name": "[sig-cli] example test name", "error": "error message..."}
],
"dominant_error_patterns": [
{"pattern": "stale GroupVersion discovery: ...", "count": 50, "percentage": 12.5}
]
}
# Get the summary of a job run that triggered mass test failures
python3 plugins/ci/skills/fetch-job-run-summary/fetch_job_run_summary.py 2030845545290928128
# Fetch summaries for a failing and passing run to diff
python3 plugins/ci/skills/fetch-job-run-summary/fetch_job_run_summary.py 2030845545290928128 --format json > failing.json
python3 plugins/ci/skills/fetch-job-run-summary/fetch_job_run_summary.py 2030845542774345728 --format json > passing.json
testFailureCount may be slightly higher than the number of entries in testFailures due to internal deduplicationfetch-test-runs skill insteadfetch-test-runs - Fetch raw outputs for a specific test across multiple job runsfetch-regression-details - Fetch Component Readiness regression detailsci:prow-job-analysis - Comprehensive analysis of test and install failures in a Prow jobtools
Analyze a JIRA issue and create a pull request to solve it. Use when the user wants to implement a fix or feature described in a Jira issue, push a branch, and open a draft PR.
development
Use when a deeper level of code review is requested. Multi-agent panel code review with specialist reviewers and forced runtime reproducers for all BLOCKING bug findings. Optionally posts to GitHub/GitLab as a PENDING review.
development
Review agentic documentation — verify claims locally against source code first, then use chai-bot for cross-repo and cross-functional verification
development
Use this skill when debugging a failed Prow CI job.