# Fetch Releases

> Fetch available OpenShift releases from the Sippy API Use when this capability is needed.

- Skill: `tomevault-io/fetch-releases` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/fetch-releases`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/fetch-releases/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/fetch-releases

---


# Fetch Releases

This skill fetches the list of available OpenShift releases from the Sippy API. It can return all OCP releases or just the latest version.

## When to Use This Skill

Use this skill when you need to:

- Determine the latest OCP release version
- Get a list of all available OCP releases
- Provide a default release version when the user hasn't specified one

## Prerequisites

1. **Python 3**: Python 3.6 or later
   - Check: `python3 --version`
   - Uses only standard library (no external dependencies)

2. **Network Access**: Must be able to reach the public Sippy API
   - Check: `curl -s https://sippy.dptools.openshift.org/api/releases | head -c 100`

## Implementation Steps

### Step 1: Get the Latest Release

To get just the latest OCP release version:

```bash
release=$(python3 plugins/ci/skills/fetch-releases/fetch_releases.py --latest)
echo "$release"
# Output: 4.22
```

### Step 2: List All Releases

To list all available OCP releases:

```bash
# JSON format (includes GA dates)
python3 plugins/ci/skills/fetch-releases/fetch_releases.py --format json

# Simple list, one per line
python3 plugins/ci/skills/fetch-releases/fetch_releases.py --format list
```

### Step 3: Use with Other Skills

The primary use case is providing a default release to other skills:

```bash
# Determine release
release="${user_specified_release:-$(python3 plugins/ci/skills/fetch-releases/fetch_releases.py --latest)}"

# Use with fetch-test-report
python3 plugins/ci/skills/fetch-test-report/fetch_test_report.py "<test_name>" --release "$release"
```

## Output Format

### --latest

Prints a single release version string:

```
4.22
```

### --format json (default)

```json
[
  {"release": "4.22"},
  {"release": "4.21", "ga": "2025-06-17T00:00:00Z"},
  {"release": "4.20", "ga": "2025-10-21T00:00:00Z"},
  {"release": "4.19", "ga": "2025-06-17T00:00:00Z"}
]
```

Releases without a `ga` field are still in development.

### --format list

```
4.22
4.21
4.20
4.19
4.18
```

## Error Handling

1. **Network Error**: If the Sippy API is unreachable, the script prints an error to stderr and exits with code 1.
2. **No Releases**: If no standard OCP releases are found, exits with code 1.

**Exit Codes:**
- `0`: Success
- `1`: Error

## Notes

- Uses the public Sippy API at `https://sippy.dptools.openshift.org/api/releases` (no port-forward needed)
- Filters out non-standard releases (okd, aro, presubmits, etc.) — only returns releases matching `X.Y` format
- The API returns releases in order with the latest first
- This skill is based on the same API as the `teams` plugin's `get-release-dates` skill

## See Also

- Related Skill: `fetch-test-report` (uses release to query test data)
- Related Skill (teams plugin): `get-release-dates` (fetches detailed release dates and metadata)

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/openshift-eng) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-11 -->

