Claude-skill-registry Get Release Dates
Fetch OpenShift release dates and metadata from Sippy API
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/get-release-dates" ~/.claude/skills/majiayu000-claude-skill-registry-get-release-dates && rm -rf "$T"
skills/data/get-release-dates/SKILL.mdGet Release Dates
This skill provides functionality to fetch OpenShift release information including GA dates and development start dates from the Sippy API.
When to Use This Skill
Use this skill when you need to:
- Get GA (General Availability) date for a specific OpenShift release
- Find when development started for a release
- Identify the previous release in the sequence
- Validate if a release exists in Sippy
- Determine if a release is in development or has GA'd
Prerequisites
-
Python 3 Installation
- Check if installed:
which python3 - Python 3.6 or later is required
- Comes pre-installed on most systems
- Check if installed:
-
Network Access
- The script requires network access to reach the Sippy API
- Ensure you can make HTTPS requests to
sippy.dptools.openshift.org
Implementation Steps
Step 1: Verify Prerequisites
First, ensure Python 3 is available:
python3 --version
If Python 3 is not installed, guide the user through installation for their platform.
Step 2: Locate the Script
The script is located at:
plugins/component-health/skills/get-release-dates/get_release_dates.py
Step 3: Run the Script
Execute the script with the release parameter:
# Get dates for release 4.21 python3 plugins/component-health/skills/get-release-dates/get_release_dates.py \ --release 4.21 # Get dates for release 4.20 python3 plugins/component-health/skills/get-release-dates/get_release_dates.py \ --release 4.20
Step 4: Process the Output
The script outputs JSON data with the following structure:
{ "release": "4.21", "found": true, "ga": "2026-02-17T00:00:00Z", "development_start": "2025-09-02T00:00:00Z", "previous_release": "4.20" }
Field Descriptions:
: The release identifier that was queriedrelease
: Boolean indicating if the release exists in Sippyfound
: GA (General Availability) date. If null, the release is still in development.ga
: When development started for this releasedevelopment_start
: The previous release in the sequence (empty string if none)previous_release
If Release Not Found:
{ "release": "99.99", "found": false }
Release Status - Development vs GA'd:
- In Development: If
isga
, the release is still under active developmentnull{ "release": "4.21", "found": true, "development_start": "2025-09-02T00:00:00Z", "previous_release": "4.20" } - GA'd (Released): If
has a timestamp, the release has reached General Availabilityga{ "release": "4.17", "found": true, "ga": "2024-10-01T00:00:00Z", "development_start": "2024-05-17T00:00:00Z", "previous_release": "4.16" }
Step 5: Use the Information
Based on the release dates:
- Determine release status: Check if release is in development or GA'd
- If
isga
: Release is still in developmentnull - If
has a timestamp: Release has reached General Availabilityga
- If
- Determine release timeline: Use
anddevelopment_start
datesga- Calculate time in development:
-gadevelopment_start - For in-development releases: Calculate time since
development_start
- Calculate time in development:
- Find related releases: Use
to navigate the release sequenceprevious_release - Validate release: Check
field before using the release in other operationsfound
Error Handling
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 -
Invalid Release: Script returns exit code 1 with
in outputfound: false -
Parsing Errors: If API response is malformed
Error: Failed to fetch release dates: [details]
Output Format
The script outputs JSON to stdout with:
- Success: Exit code 0, JSON with
found: true - Release Not Found: Exit code 1, JSON with
found: false - Error: Exit code 1, error message to stderr
API Details
The script queries the Sippy releases API:
- URL: https://sippy.dptools.openshift.org/api/releases
- Method: GET
- Response: JSON containing all releases and their metadata
The full API response includes:
: Array of all available release identifiersreleases
: Simple mapping of release to GA datega_dates
: Detailed mapping with GA and development_start datesdates
: Extended attributes including previous releaserelease_attrs
Examples
Example 1: Get Current Development Release
python3 plugins/component-health/skills/get-release-dates/get_release_dates.py \ --release 4.21
Output:
{ "release": "4.21", "found": true, "development_start": "2025-09-02T00:00:00Z", "previous_release": "4.20" }
Example 2: Get GA'd Release
python3 plugins/component-health/skills/get-release-dates/get_release_dates.py \ --release 4.17
Output:
{ "release": "4.17", "found": true, "ga": "2024-10-01T00:00:00Z", "development_start": "2024-05-17T00:00:00Z", "previous_release": "4.16" }
Example 3: Query Non-Existent Release
python3 plugins/component-health/skills/get-release-dates/get_release_dates.py \ --release 99.99
Output:
{ "release": "99.99", "found": false }
Exit code: 1
Integration with Other Commands
This skill can be used in conjunction with other component-health skills:
- Before analyzing regressions: Verify the release exists
- Timeline context: Understand how long a release has been in development
- Release status: Determine if a release is in development or has GA'd
- Release navigation: Find previous/next releases in the sequence
Notes
- The script uses Python's standard library only (no external dependencies)
- API responses are cached by Sippy, so repeated calls are fast
- Release identifiers are case-sensitive (use "4.21" not "4.21.0")
- OKD releases are suffixed with "-okd" (e.g., "4.21-okd")
- ARO releases have special identifiers (e.g., "aro-production")
- "Presubmits" is a special release for pull request data
See Also
- Skill Documentation:
plugins/component-health/skills/list-regressions/SKILL.md - Sippy API: https://sippy.dptools.openshift.org/api/releases
- Component Health Plugin:
plugins/component-health/README.md