Detailed implementation guide for validating proposed release blockers
/plugin marketplace add openshift-eng/ai-helpers/plugin install jira@ai-helpersThis skill inherits all available tools. When active, it can use any tool Claude has access to.
This skill provides detailed implementation guidance for the /jira:validate-blockers command, which helps release managers make data-driven blocker approval/rejection decisions.
This skill is invoked automatically when the /jira:validate-blockers command is executed. It provides step-by-step implementation details for:
mcp__atlassian__jira_*Parse command-line arguments:
--bug flag value (optional, for single bug validation mode)Project:
Validate inputs:
--bug nor target-version is provided, error out with message: "Error: Either target-version or --bug must be provided. Usage: /jira:validate-blockers [target-version] [component-filter] [--bug issue-key]"Determine query mode:
Single bug mode (if --bug is provided):
mcp__atlassian__jira_get_issue to fetch the single bugVersion + component mode (if both target version and component are provided):
Version only mode (if only target version provided):
Base JQL for proposed blockers:
project = OCPBUGS AND type = Bug AND "Release Blocker" = Proposed
IMPORTANT: Use "Release Blocker" = Proposed NOT cf[12319743]. The field ID customfield_12319743 is the Release Blocker field, but in JQL use the field name.
Version filter construction:
When target version is provided (e.g., "4.21"), expand to search for both X.Y and X.Y.0:
AND ("Target Version" in (4.21, 4.21.0) OR "Target Backport Versions" in (4.21, 4.21.0) OR affectedVersion in (4.21, 4.21.0))
Status exclusion filter:
Always exclude already-fixed bugs:
AND status not in (Closed, "Release Pending", Verified, ON_QA)
Component filter construction:
No component specified:
Single component:
AND component = "{COMPONENT}"
Multiple components (comma-separated):
AND component IN ({COMPONENT_LIST})
Final JQL examples:
Version only (4.21):
project = OCPBUGS AND type = Bug AND "Release Blocker" = Proposed AND ("Target Version" in (4.21, 4.21.0) OR "Target Backport Versions" in (4.21, 4.21.0) OR affectedVersion in (4.21, 4.21.0)) AND status not in (Closed, "Release Pending", Verified, ON_QA)
Version + component (4.21, "Hypershift"):
project = OCPBUGS AND type = Bug AND "Release Blocker" = Proposed AND ("Target Version" in (4.21, 4.21.0) OR "Target Backport Versions" in (4.21, 4.21.0) OR affectedVersion in (4.21, 4.21.0)) AND status not in (Closed, "Release Pending", Verified, ON_QA) AND component = "Hypershift"
Version + multiple components (4.21, "Hypershift,CVO"):
project = OCPBUGS AND type = Bug AND "Release Blocker" = Proposed AND ("Target Version" in (4.21, 4.21.0) OR "Target Backport Versions" in (4.21, 4.21.0) OR affectedVersion in (4.21, 4.21.0)) AND status not in (Closed, "Release Pending", Verified, ON_QA) AND component IN ("Hypershift", "Cluster Version Operator")
Use MCP tools to fetch proposed blockers:
For version/component mode, use mcp__atlassian__jira_search:
Parse the response to extract:
Custom fields to include:
customfield_12319743 - Release Blocker status (should be "Proposed")customfield_12319940 - Target VersionFor single bug mode (--bug flag), use mcp__atlassian__jira_get_issue:
Handle query results:
Analyze each proposed blocker using Red Hat OpenShift release blocker criteria.
Red Hat OpenShift Release Blocker Criteria:
Based on the official OpenShift blocker definition, bugs should be approved as release blockers when they meet these criteria:
Automatic/Strong Blockers (Recommend APPROVE):
Never Blockers (Recommend REJECT):
ci-fail, ci-only, test-flakeWorkaround Assessment (may affect recommendation):
An acceptable workaround must meet ALL three criteria:
If a workaround doesn't meet all three criteria, it's NOT an acceptable workaround.
For each proposed blocker:
ci-fail, ci-only, test-flakeexpand="renderedFields" to get comment textUse MCP tools:
mcp__atlassian__jira_get_issue with expand="renderedFields" to get commentsCreate comprehensive Markdown report with all blocker validation results.
Report Structure:
# 🚫 Release Blocker Validation Report
**Components**: {component list or "All"} | **Project**: OCPBUGS | **Proposed Blockers**: {count} | **Generated**: {timestamp}
## Summary
- ✅ **Recommend APPROVE**: X
- ❌ **Recommend REJECT**: Y
- ⚠️ **Needs DISCUSSION**: Z
---
## Blocker Analysis
### {BUG-KEY}: {Summary} {VERDICT}
**Recommendation**: {APPROVE/REJECT/DISCUSS} - {One-line justification}
**Criteria Matched**:
- {✅/❌} {Criterion name}
- {✅/❌} {Criterion name}
- ...
**Justification**:
{Detailed explanation of why this bug should or shouldn't be a blocker}
**Suggested Action**: {What to do next}
---
[Repeat for each proposed blocker]
---
## Next Steps
1. Review APPROVE recommendations - add to blocker list
2. Review REJECT recommendations - remove blocker status
3. Discuss unclear cases in triage meeting
Special case for single bug mode:
When --bug flag is used, adapt the report to focus on a single bug:
Invalid issue ID (single bug mode):
Invalid arguments:
No proposed blockers found:
MCP tool errors:
mcp__atlassian__jira_search fails, display JQL query and error messagemcp__atlassian__jira_get_issue fails:
https://issues.redhat.com/browse/{issue-key}Large result sets (>50 blockers):
mcp__atlassian__jira_search with appropriate limits (avoid pagination when possible)Version only (4.21):
project = OCPBUGS AND type = Bug AND "Release Blocker" = Proposed AND ("Target Version" in (4.21, 4.21.0) OR "Target Backport Versions" in (4.21, 4.21.0) OR affectedVersion in (4.21, 4.21.0)) AND status not in (Closed, "Release Pending", Verified, ON_QA)
Version + single component (4.21, "Hypershift"):
project = OCPBUGS AND type = Bug AND "Release Blocker" = Proposed AND ("Target Version" in (4.21, 4.21.0) OR "Target Backport Versions" in (4.21, 4.21.0) OR affectedVersion in (4.21, 4.21.0)) AND status not in (Closed, "Release Pending", Verified, ON_QA) AND component = "Hypershift"
Version + multiple components (4.21, multiple):
project = OCPBUGS AND type = Bug AND "Release Blocker" = Proposed AND ("Target Version" in (4.21, 4.21.0) OR "Target Backport Versions" in (4.21, 4.21.0) OR affectedVersion in (4.21, 4.21.0)) AND status not in (Closed, "Release Pending", Verified, ON_QA) AND component IN ("Hypershift", "Cluster Version Operator")
Field IDs Reference:
customfield_12319743 (use "Release Blocker" in JQL)customfield_12319940 (use "Target Version" in JQL)