# Rhdh Prow Trigger

> Runs an RHDH nightly ProwJob on demand through the OpenShift CI Gangway REST API, for `periodic-ci-redhat-developer-rhdh-*-nightly` and `periodic-ci-redhat-developer-rhdh-plugin-export-overlays-*-nightly` jobs, with optional image registry/repo/tag, catalog-index, Helm chart, Playwright, fork, and Slack-alert overrides. Use for "trigger the nightly", "run the e2e job now", "kick off the AKS operator job on 1.9", RC or GA image verification runs, or listing the available nightly jobs and quay.io tags.

- Skill: `redhat-developer/rhdh-prow-trigger` (Agent Skill, multi-file: 5 files)
- Install (CLI): `npx skillmds@latest add redhat-developer/rhdh-prow-trigger`
- Raw SKILL.md: https://api.skillmd.com/api/skills/redhat-developer/rhdh-prow-trigger/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: redhat-developer (https://skillmd.com/u/redhat-developer)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/redhat-developer/rhdh-prow-trigger

---


# Trigger an RHDH nightly ProwJob

Execute a job that is already configured in `openshift/release`. This skill never
edits CI configuration: changing which jobs exist is `/rhdh-prow-jobs` for test
entries and pools, and `/rhdh-prow-release-branch` for a release branch's whole
job set.

## Route

Load `workflows/trigger-nightly.md`. It covers listing jobs, mapping a
natural-language request to a full job name, the override options, and execution.

## Authentication

`scripts/trigger_nightly_job.py` uses a dedicated kubeconfig at
`~/.config/openshift-ci/kubeconfig` so it never disturbs the user's current
cluster context. It consumes an existing `oc` session and never performs a login.

When `oc` is missing, the dedicated kubeconfig is absent, or the session has
expired, stop and tell the user to run `/setup-rhdh-skills openshift-ci`. Setup
owns login; this skill does not.

The public script hands `scripts/gangway_adapter.py` only a kubeconfig path and
the request payload. That adapter alone retrieves the transient credential and
authenticates the request, and returns credential-free response data. Keep
tokens out of arguments, output, and anything reported back.

## Execution rules

Triggering a job is an external write; `--dry-run` and `--list` are not. Follow
`/mutation-gate`, with the full job name as the target.

- Preview with `--dry-run` first. It prints the adapter request without
  executing.
- The preview carries the full command, the parameters, what the run will cost
  and touch, and how to abort it. Get explicit approval before running without
  `--dry-run`.
- GKE and OSD-GCP each share one cluster. Never start a second job on the same
  platform while one is running; warn the user before triggering either.
- Approval to inspect or dry-run is not approval to execute. Ask again.
- `--image-repo` requires `--tag`; `--tag` works alone. `--playwright-version` is
  overlay-only. Image, chart, and alert overrides are rejected for overlay jobs.

## Completion

A trigger is complete when the executed command is shown exactly as run, the
Gangway API response is reported, and the run URL or ID is stated prominently —
or, when the API returned no identifier, that absence is stated rather than
implied. A dry run is complete when the printed request is shown and it is clear
that nothing was executed. A failure is complete when the error is reported with
its likely cause, expired authentication being the common one, and the user is
pointed at `/setup-rhdh-skills openshift-ci` when the session is the problem. No
credential appears in any of it.

