| name | gather-failures |
| description | Fetch Jenkins build failures and generate a context file for analysis |
| user-invocable | true |
Gather Failures
Fetch test failure data from a Jenkins build, sync repo clones, resolve test and product code, and save a context file.
Usage
/gather-failures <job-path> --build <number> [--limit N] [--type TYPE]
<job-path> (required) — full Jenkins job path: <team>/<ipv4|ipv6>/<component> (e.g. proton/ipv4/sat-stream-rhel9-Insights-Advisor)
--build <number> (required) — the Jenkins build number (e.g. --build 35)
Examples:
/gather-failures proton/ipv4/sat-stream-rhel9-Insights-Advisor --build 35
/gather-failures proton/ipv4/sat-stream-rhel9-RHCloud --build 1019
/gather-failures proton/ipv4/sat-stream-rhel9-RHCloud --build 1019 --limit 5
Instructions
Step 1: Run houston analyze
houston analyze "<job-path>" --build <number> --verbose 2>&1
Parse the job path and --build number from the user's arguments. If the user passes extra flags like --limit or --type, include them.
If houston fails, report the error and stop.
Step 2: Read the context file
Houston will print the path to the context file (e.g. resources/analysis/<job>/<build>/context.md). Read the entire file. It may be large — use offset/limit parameters to read in chunks.
The context file contains:
- Build metadata (job name, build number, result, URL)
- For each failure: test ID, error type, exception, stacktrace, stdout/stderr
- Resolved test source code, fixtures, and imported entities
- Product code references from foreman, katello, and foreman_rh_cloud repos
Step 3: Summarize for the user
Print a summary:
- Build result and URL
- Total number of failures
- List of failed test names grouped by test file
- What product component was detected (from CaseComponent)
- Path to the context file for further analysis with
/analyze-failures