Skip to content

⚡ Triggering CI Jobs On Demand

The HyperShift AI-assisted periodic jobs run on a schedule, but you can trigger them on demand via the Gangway API to process specific issues or run jobs immediately.


🔧 Setup

📦 Install the OpenShift Developer Plugin Bundle

Install the openshift-developer plugin bundle for Claude Code to get the CI, Jira, and code-review skills used by the HyperShift agentic workflows.

# Add the marketplaces (one-time)
claude plugin marketplace add openshift-eng/ai-helpers
claude plugin marketplace add RedHatProductSecurity/prodsec-skills

# Install the bundle
claude plugin install openshift-developer@ai-helpers

The openshift-developer bundle installs these plugins:

Plugin Purpose
ci OpenShift CI / Prow job analysis, gangway triggers (/ci:trigger-periodic, /ci:query-job-status)
jira Jira automation (/jira:solve, /jira:ready-to-solve)
code-review Pre-commit and PR review (/code-review:pr, /code-review:pre-commit-review)
golang Go development tools (gopls LSP, gofmt, golangci-lint)
git Git workflow automation and conventional commit formatting
prodsec-skills Product security guidance

💡 Non-Claude Code editors

The bundle can also be installed via APM for other editors:

apm install openshift-eng/ai-helpers/plugins/openshift-developer --global --target cursor

🔑 Authenticate to the CI Cluster

You need to be logged in to the app.ci cluster to use the Gangway API.

  1. Visit the app.ci console
  2. Log in with your Red Hat SSO credentials
  3. Click your username Copy login command
  4. Paste and run the oc login command in your terminal

Verify with:

oc whoami

🤖 Jira Agent

Full job name: periodic-ci-openshift-hypershift-main-periodic-jira-agent

🎯 Trigger for a Specific Issue

/ci:trigger-periodic periodic-ci-openshift-hypershift-main-periodic-jira-agent \
  MULTISTAGE_PARAM_OVERRIDE_JIRA_AGENT_ISSUE_KEY=CNTRLPLANE-1234
curl -s -X POST \
  -H "Authorization: Bearer $(oc whoami -t)" \
  -H "Content-Type: application/json" \
  -d '{
    "job_name": "periodic-ci-openshift-hypershift-main-periodic-jira-agent",
    "job_execution_type": "1",
    "pod_spec_options": {
      "envs": {
        "MULTISTAGE_PARAM_OVERRIDE_JIRA_AGENT_ISSUE_KEY": "CNTRLPLANE-1234"
      }
    }
  }' \
  https://gangway-ci.apps.ci.l2s4.p1.openshiftapps.com/v1/executions

Replace CNTRLPLANE-1234 with the Jira issue key you want the agent to process.

⚙ How the override works

Setting MULTISTAGE_PARAM_OVERRIDE_JIRA_AGENT_ISSUE_KEY overrides the JIRA_AGENT_ISSUE_KEY parameter in the multistage job. This tells the agent to skip its normal JQL query and process only the specified issue with key = <issue-key>.

🔄 Trigger with Default JQL

Run the agent with its normal JQL query (picks up labeled, unprocessed issues):

/ci:trigger-periodic periodic-ci-openshift-hypershift-main-periodic-jira-agent
curl -s -X POST \
  -H "Authorization: Bearer $(oc whoami -t)" \
  -H "Content-Type: application/json" \
  -d '{
    "job_name": "periodic-ci-openshift-hypershift-main-periodic-jira-agent",
    "job_execution_type": "1"
  }' \
  https://gangway-ci.apps.ci.l2s4.p1.openshiftapps.com/v1/executions

🔍 Checking Job Status

The Gangway API response includes an execution ID. Use it to check the job status:

/ci:query-job-status <execution-id>
curl -s -X GET \
  -H "Authorization: Bearer $(oc whoami -t)" \
  https://gangway-ci.apps.ci.l2s4.p1.openshiftapps.com/v1/executions/<execution-id>

Or find the run in the Prow job history .