Query and return raw JIRA bug data for a specific project
/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_jiras.pyThis skill provides functionality to query JIRA bugs for a specified project and return raw issue data. It uses the JIRA REST API to fetch complete bug information with all fields and metadata, without performing any summarization.
Use this skill when you need to:
summarize-jiras)Python 3 Installation
which python3JIRA Authentication
JIRA_URL: Base URL for JIRA instance (e.g., "https://issues.redhat.com")JIRA_PERSONAL_TOKEN: Your JIRA bearer token or personal access tokenNetwork Access
First, ensure Python 3 is available:
python3 --version
If Python 3 is not installed, guide the user through installation for their platform.
Check that required environment variables are set:
# Verify JIRA credentials are configured
echo "JIRA_URL: ${JIRA_URL}"
echo "JIRA_PERSONAL_TOKEN: ${JIRA_PERSONAL_TOKEN:+***set***}"
If any are missing, guide the user to set them:
export JIRA_URL="https://issues.redhat.com"
export JIRA_PERSONAL_TOKEN="your-token-here"
The script is located at:
plugins/component-health/skills/list-jiras/list_jiras.py
Execute the script with appropriate arguments:
# Basic usage - all open bugs in a project
python3 plugins/component-health/skills/list-jiras/list_jiras.py \
--project OCPBUGS
# Filter by component
python3 plugins/component-health/skills/list-jiras/list_jiras.py \
--project OCPBUGS \
--component "kube-apiserver"
# Filter by multiple components
python3 plugins/component-health/skills/list-jiras/list_jiras.py \
--project OCPBUGS \
--component "kube-apiserver" "Management Console"
# Include closed bugs
python3 plugins/component-health/skills/list-jiras/list_jiras.py \
--project OCPBUGS \
--include-closed
# Filter by status
python3 plugins/component-health/skills/list-jiras/list_jiras.py \
--project OCPBUGS \
--status New "In Progress"
# Set maximum results limit (default 100)
python3 plugins/component-health/skills/list-jiras/list_jiras.py \
--project OCPBUGS \
--limit 500
The script outputs JSON data with the following structure:
{
"project": "OCPBUGS",
"total_count": 1500,
"fetched_count": 100,
"query": "project = OCPBUGS AND (status != Closed OR (status = Closed AND resolved >= \"2025-10-11\"))",
"filters": {
"components": null,
"statuses": null,
"include_closed": false,
"limit": 100
},
"issues": [
{
"key": "OCPBUGS-12345",
"fields": {
"summary": "Bug title here",
"status": {
"name": "New",
"id": "1"
},
"priority": {
"name": "Major",
"id": "3"
},
"components": [
{"name": "kube-apiserver", "id": "12345"}
],
"assignee": {
"displayName": "John Doe",
"emailAddress": "jdoe@example.com"
},
"created": "2025-11-01T10:30:00.000+0000",
"updated": "2025-11-05T14:20:00.000+0000",
"resolutiondate": null,
"versions": [
{"name": "4.21"}
],
"fixVersions": [
{"name": "4.22"}
],
"customfield_12319940": "4.22.0"
}
},
...more issues...
],
"note": "Showing first 100 of 1500 total results. Increase --limit for more data."
}
Field Descriptions:
project: The JIRA project queriedtotal_count: Total number of matching issues in JIRA (from search results)fetched_count: Number of issues actually fetched (limited by --limit parameter)query: The JQL query executed (includes filter for recently closed bugs)filters: Applied filters (components, statuses, include_closed, limit)issues: Array of raw JIRA issue objects, each containing:
key: Issue key (e.g., "OCPBUGS-12345")fields: Object containing all JIRA fields for the issue:
summary: Issue title/summarystatus: Status object with name and IDpriority: Priority object with name and IDcomponents: Array of component objectsassignee: Assignee object with user detailscreated: Creation timestampupdated: Last updated timestampresolutiondate: Resolution timestamp (null if not closed)versions: Affects Version/s arrayfixVersions: Fix Version/s arraycustomfield_12319940: Target Version (custom field)note: Informational message if results are truncatedImportant Notes:
--limit)total_count represents all matching issues in JIRA--limit parameter to fetch more issuesBased on the raw JIRA data:
/component-health:summarize-jiras if they need summary statisticsAuthentication Errors
Network Errors
URLError or connection timeoutInvalid Project
Missing Environment Variables
Rate Limiting
Enable verbose output by examining stderr:
python3 plugins/component-health/skills/list-jiras/list_jiras.py \
--project OCPBUGS 2>&1 | tee debug.log
--project: JIRA project key to query
--component: Filter by component names
--component "kube-apiserver" "Management Console"--status: Filter by status values
--status New "In Progress" Verified--include-closed: Include closed bugs in the results
--limit: Maximum number of issues to fetch
The script outputs JSON with metadata and raw issue data:
{
"project": "OCPBUGS",
"total_count": 5430,
"fetched_count": 100,
"query": "project = OCPBUGS AND (status != Closed OR (status = Closed AND resolved >= \"2025-10-11\"))",
"filters": {
"components": null,
"statuses": null,
"include_closed": false,
"limit": 100
},
"issues": [
{
"key": "OCPBUGS-12345",
"fields": {
"summary": "Example bug",
"status": {"name": "New"},
"priority": {"name": "Major"},
"components": [{"name": "kube-apiserver"}],
"created": "2025-11-01T10:30:00.000+0000",
...
}
},
...
],
"note": "Showing first 100 of 5430 total results. Increase --limit for more data."
}
python3 plugins/component-health/skills/list-jiras/list_jiras.py \
--project OCPBUGS
Expected Output: JSON containing raw issue data for all open bugs in OCPBUGS project
python3 plugins/component-health/skills/list-jiras/list_jiras.py \
--project OCPBUGS \
--component "kube-apiserver"
Expected Output: JSON containing raw issue data for the kube-apiserver component only
python3 plugins/component-health/skills/list-jiras/list_jiras.py \
--project OCPBUGS \
--include-closed \
--limit 500
Expected Output: JSON containing raw issue data for both open and closed bugs (up to 500 issues)
python3 plugins/component-health/skills/list-jiras/list_jiras.py \
--project OCPBUGS \
--component "kube-apiserver" "etcd" "Networking"
Expected Output: JSON containing raw issue data for bugs in specified components
This skill is designed to:
summarize-jiras)summarize-jiras: Calculate summary statistics from JIRA datalist-regressions: Fetch regression data for releasesanalyze-regressions: Grade component health based on regressionsget-release-dates: Fetch OpenShift release datesurllib and json modules (no external dependencies)/component-health:summarize-jiras if you need summary statistics instead of raw dataUse 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.