Fetch component names from Sippy component readiness API
/plugin marketplace add openshift-eng/ai-helpers/plugin install component-health@ai-helpersThis skill inherits all available tools. When active, it can use any tool Claude has access to.
list_components.pyThis skill provides functionality to fetch a list of all component names tracked in the Sippy component readiness system for a specific OpenShift release.
Use this skill when you need to:
Python 3 Installation
which python3Network Access
sippy.dptools.openshift.orgFirst, ensure Python 3 is available:
python3 --version
If Python 3 is not installed, guide the user through installation for their platform.
The script is located at:
plugins/component-health/skills/list-components/list_components.py
Execute the script with the release parameter:
# Get components for release 4.21
python3 plugins/component-health/skills/list-components/list_components.py \
--release 4.21
# Get components for release 4.20
python3 plugins/component-health/skills/list-components/list_components.py \
--release 4.20
Important: The script automatically appends "-main" to the release version to construct the view parameter (e.g., "4.21" becomes "4.21-main").
The script outputs JSON data with the following structure:
{
"release": "4.21",
"view": "4.21-main",
"component_count": 42,
"components": [
"API",
"Build",
"Cloud Compute",
"Cluster Version Operator",
"Etcd",
"Image Registry",
"Installer",
"Kubernetes",
"Management Console",
"Monitoring",
"Networking",
"OLM",
"Storage",
"etcd",
"kube-apiserver",
"..."
]
}
Field Descriptions:
release: The release identifier that was queriedview: The constructed view parameter used in the API call (release + "-main")component_count: Total number of unique components foundcomponents: Alphabetically sorted array of unique component namesIf View Not Found:
If the release view doesn't exist, the script will return an HTTP 404 error:
HTTP Error 404: Not Found
View '4.99-main' not found. Please check the release version.
Based on the component list, you can:
The script handles several error scenarios:
Network Errors: If unable to reach Sippy API
Error: URL Error: [reason]
HTTP Errors: If API returns an error status
Error: HTTP Error 404: Not Found
View '4.99-main' not found. Please check the release version.
Invalid Release: Script returns exit code 1 with error message
Parsing Errors: If API response is malformed
Error: Failed to fetch components: [details]
The script outputs JSON to stdout with:
Diagnostic messages (like "Fetching components from...") are written to stderr, so they don't interfere with JSON parsing.
The script queries the Sippy component readiness API:
https://sippy.dptools.openshift.org/api/component_readiness?view={release}-mainThe API response structure includes:
{
"rows": [
{
"component": "Networking",
...
},
{
"component": "Monitoring",
...
}
],
...
}
The script:
component field from each rowpython3 plugins/component-health/skills/list-components/list_components.py \
--release 4.21
Output:
{
"release": "4.21",
"view": "4.21-main",
"component_count": 42,
"components": ["API", "Build", "Etcd", "..."]
}
python3 plugins/component-health/skills/list-components/list_components.py \
--release 99.99
Output (to stderr):
Fetching components from: https://sippy.dptools.openshift.org/api/component_readiness?view=99.99-main
HTTP Error 404: Not Found
View '99.99-main' not found. Please check the release version.
Failed to fetch components: HTTP Error 404: Not Found
Exit code: 1
This skill can be used in conjunction with other component-health skills:
Example Integration:
# Get all components for 4.21
COMPONENTS=$(python3 plugins/component-health/skills/list-components/list_components.py \
--release 4.21 | jq -r '.components[]')
# Analyze each component
for component in $COMPONENTS; do
echo "Analyzing $component..."
# Use component in other commands
done
plugins/component-health/skills/list-regressions/SKILL.mdplugins/component-health/skills/get-release-dates/SKILL.md/component-health:list-regressions (for regression data)/component-health:analyze (for health grading)plugins/component-health/README.mdUse when working with Payload CMS projects (payload.config.ts, collections, fields, hooks, access control, Payload API). Use when debugging validation errors, security issues, relationship queries, transactions, or hook behavior.