Skip to content

ci:analyze-disruption: find matching Jira cards - #669

Merged
openshift-merge-bot[bot] merged 4 commits into
openshift-eng:mainfrom
smg247:feat/analyze-disruption-jira-lookup
Aug 3, 2026
Merged

ci:analyze-disruption: find matching Jira cards#669
openshift-merge-bot[bot] merged 4 commits into
openshift-eng:mainfrom
smg247:feat/analyze-disruption-jira-lookup

Conversation

@smg247

@smg247 smg247 commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Summary

  • After analyzing disruption, the skill now automatically searches TRT and OCPBUGS for existing Jira cards that may already track the same disruption pattern
  • Searches include both cards labeled disruption (high confidence) and a broader text search to catch unlabeled cards
  • Results include both open and closed cards — closed cards provide context from prior investigations into the same pattern
  • If no match is found, offers to interactively file a new OCPBUGS bug with the disruption label via the jira:create skill
  • Adds --skip-jira escape hatch to opt out of the search

Details

Adds a new Step 10: Known Disruption Issue Lookup to the analyze-disruption skill with three sub-steps:

  1. Search — two JQL queries per disrupted backend: one targeting labels = "disruption", one broader text ~ "disruption {backend}". Results grouped into Open and Previously Resolved sections.
  2. Present & label — shows results in the report, flags unlabeled cards, offers to add the disruption label.
  3. File — if nothing matches, proposes a bug with summary/description derived from the analysis for user review before creation.

Gracefully degrades when Jira MCP is unavailable.

Summary by CodeRabbit

  • New Features

    • Added an optional --skip-jira flag for disruption analysis.
    • Reports now include a “Known Disruption Issues” section for single- and multi-run analyses.
    • Analyses can find related disruption issues, display open and resolved results, update labels, and support interactive issue creation.
    • Added graceful handling when issue-tracking tools or authentication are unavailable.
  • Chores

    • Updated plugin versions to 0.0.80.
    • Improved marketplace plugin description formatting.

smg247 and others added 3 commits August 3, 2026 13:16
After analyzing disruption, the skill now automatically searches TRT and
OCPBUGS for existing cards labeled "disruption" (plus a broader search
for unlabeled cards). Results appear in a new "Known Disruption Issues"
report section. If no match is found, offers interactive bug filing via
jira:create with the "disruption" label. Adds --skip-jira escape hatch.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Closed cards may have been closed prematurely or document prior
investigations that provide context for recurring disruption patterns.
Results are grouped into Open and Previously Resolved sections.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@openshift-ci
openshift-ci Bot requested review from LuboTerifaj and rvanderp3 August 3, 2026 17:23
@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Aug 3, 2026
@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 2c0256e0-98b3-4a76-b4ff-84f792c048c0

📥 Commits

Reviewing files that changed from the base of the PR and between 95e77c5 and 838d3a8.

📒 Files selected for processing (1)
  • plugins/ci/skills/analyze-disruption/SKILL.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • plugins/ci/skills/analyze-disruption/SKILL.md

Walkthrough

The CI disruption analysis skill now searches Jira for known issues, reports results, supports issue labeling and creation, and handles unavailable Jira tools. The CI plugin version increases to 0.0.80, and the PatternFly description uses an escaped em dash.

Changes

CI disruption analysis

Layer / File(s) Summary
Jira-backed disruption workflow
plugins/ci/skills/analyze-disruption/SKILL.md
Adds the optional --skip-jira flag, known-issue report sections, Jira searches across TRT and OCPBUGS, issue labeling, interactive bug creation, report updates, and handling for unavailable or unauthenticated Jira tools.

Plugin metadata

Layer / File(s) Summary
Plugin metadata version update
.claude-plugin/marketplace.json, plugins/ci/.claude-plugin/plugin.json
Updates the CI plugin version from 0.0.79 to 0.0.80 and escapes the PatternFly description em dash.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant AnalyzeDisruptionSkill
  participant TRT
  participant OCPBUGS
  participant AnalysisReport
  AnalyzeDisruptionSkill->>TRT: Search disruption cards
  AnalyzeDisruptionSkill->>OCPBUGS: Search disruption bugs
  TRT-->>AnalyzeDisruptionSkill: Return matching issues
  OCPBUGS-->>AnalyzeDisruptionSkill: Return matching issues
  AnalyzeDisruptionSkill->>AnalysisReport: Add known issues
  AnalyzeDisruptionSkill->>OCPBUGS: Label or create issue
  OCPBUGS-->>AnalysisReport: Update report
Loading

Possibly related PRs

Suggested labels: ready-for-human-review

Suggested reviewers: luboterifaj, rvanderp3, stleerh

🚥 Pre-merge checks | ✅ 9 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Ai-Helpers Overlap Detection ❓ Inconclusive Pending repository and open-PR comparison evidence. Inspect the changed skill, related repository content, and open PRs before assigning an overlap score.
✅ Passed checks (9 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the analyze-disruption skill and its main change: finding matching Jira cards.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
No Real People Names In Style References ✅ Passed The PR changes only analyze-disruption/SKILL.md; added text contains no real person names or style references, and examples use technical terms such as Azure and OCPBUGS.
No Assumed Git Remote Names ✅ Passed The PR diff adds no Git remote commands or hardcoded origin/upstream names. The only occurrence is pre-existing origin-ci-test, a GCS path, not a Git remote.
Git Push Safety Rules ✅ Passed The aggregate PR diff adds no git push or force-push command; Jira bug creation requires explicit user confirmation.
No Untrusted Mcp Servers ✅ Passed The PR adds no MCP installation, package, or server configuration. It only uses the existing Jira MCP tools; the Atlassian .mcp.json is unchanged and no dependency files were added.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🧹 Nitpick comments (1)
plugins/ci/skills/analyze-disruption/SKILL.md (1)

525-529: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Coordinate with pull request #655 before merge

Overlap is MODERATE (60–84%). Pull request #655 is the only same-file candidate. Both changes add existing-disruption or bug discovery, but #655 uses component-scoped lookup while #669 uses backend-name JQL lookup and interactive filing. Consolidate the shared guidance or define the step boundary. Other candidates are LOW because they change different files.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@plugins/ci/skills/analyze-disruption/SKILL.md` around lines 525 - 529, Update
the “Known Disruption Issue Lookup” guidance to coordinate with pull request
`#655` by clearly defining the boundary between component-scoped lookup and
backend-name JQL lookup, or consolidating their shared existing-disruption and
bug-discovery guidance. Preserve the --skip-jira behavior and interactive filing
flow for this step.

Sources: Coding guidelines, Learnings

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@plugins/ci/skills/analyze-disruption/SKILL.md`:
- Around line 541-543: Update the four fenced code blocks in the disruption
analysis documentation, including the JQL and prompt examples near the
referenced sections, to declare an appropriate language identifier such as text
or jql. Keep each block’s content unchanged while resolving the markdownlint
MD040 warnings.
- Around line 30-32: Update Step 1 to parse and retain --skip-jira as a boolean
option alongside --backends, then update the Step 10 Jira-search condition to
bypass the lookup when this flag is set while preserving the existing search
behavior otherwise.
- Around line 536-549: Update the Jira search flow around the two queries using
searchJiraIssuesUsingJql so open and closed issues are collected independently
instead of relying on one mixed-status maxResults: 10 page. Add appropriate
status filters to separate active and resolved results, or paginate via
nextPageToken until both groups are gathered, then deduplicate while preserving
matches for the Previously Resolved section.
- Around line 551-552: Update the Jira query guidance to request the resolution
field and explicitly map it into the closed-card results’ Resolution column;
otherwise rename that column to Status. Preserve the existing query limits,
other fields, and deduplication behavior.

---

Nitpick comments:
In `@plugins/ci/skills/analyze-disruption/SKILL.md`:
- Around line 525-529: Update the “Known Disruption Issue Lookup” guidance to
coordinate with pull request `#655` by clearly defining the boundary between
component-scoped lookup and backend-name JQL lookup, or consolidating their
shared existing-disruption and bug-discovery guidance. Preserve the --skip-jira
behavior and interactive filing flow for this step.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: c65363d8-97b6-4fda-87c5-a75097b8f2e5

📥 Commits

Reviewing files that changed from the base of the PR and between e5724b4 and 95e77c5.

📒 Files selected for processing (3)
  • .claude-plugin/marketplace.json
  • plugins/ci/.claude-plugin/plugin.json
  • plugins/ci/skills/analyze-disruption/SKILL.md

Comment thread plugins/ci/skills/analyze-disruption/SKILL.md
Comment thread plugins/ci/skills/analyze-disruption/SKILL.md
Comment thread plugins/ci/skills/analyze-disruption/SKILL.md
Comment thread plugins/ci/skills/analyze-disruption/SKILL.md Outdated
- Add language identifiers to fenced code blocks (jql, text, markdown)
- Parse --skip-jira flag in Step 1 alongside --backends
- Split into 4 separate queries (open/closed x labeled/broad) so
  maxResults doesn't let one category crowd out the other
- Add resolution field to query results and table example

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@neisw

neisw commented Aug 3, 2026

Copy link
Copy Markdown

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Aug 3, 2026
@openshift-ci

openshift-ci Bot commented Aug 3, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: neisw, smg247

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-merge-bot
openshift-merge-bot Bot merged commit dcbd264 into openshift-eng:main Aug 3, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants