Skip to content

feat: jira utilities#24

Merged
adrianriobo merged 1 commit intoaipcc-cicd:mainfrom
adrianriobo:jira-utilites
Apr 13, 2026
Merged

feat: jira utilities#24
adrianriobo merged 1 commit intoaipcc-cicd:mainfrom
adrianriobo:jira-utilites

Conversation

@adrianriobo
Copy link
Copy Markdown
Contributor

@adrianriobo adrianriobo commented Apr 6, 2026

Fixes #26

@adrianriobo adrianriobo force-pushed the jira-utilites branch 2 times, most recently from 7b50213 to 2f0b338 Compare April 6, 2026 20:11
@adrianriobo adrianriobo changed the title WIP: feat: jira utilities feat: jira utilities Apr 6, 2026
@adrianriobo adrianriobo force-pushed the jira-utilites branch 7 times, most recently from 3f2ee8e to 8757c6a Compare April 13, 2026 10:56
Copy link
Copy Markdown
Contributor

@Victoremepunto Victoremepunto left a comment

Choose a reason for hiding this comment

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

Review: jira-utilities skill

Thanks for putting this together — the code is well-structured, the test coverage is solid, and the cve_tracker.py script in particular adds real value with its deduplication and release-grouping logic.

That said, I have a concern about the overall approach for the CRUD operations.

MCP overlap

We already have the Atlassian MCP server configured, which provides 40+ native Jira tools to Claude Code — jira_get_issue, jira_search, jira_create_issue, jira_update_issue, jira_create_issue_link, jira_get_sprints_from_board, jira_get_agile_boards, etc. These tools are already authenticated, require no additional setup (no env vars, no pip installs), and work out of the box.

Six of the eight scripts in this PR (get_issue.py, search_issues.py, create_issue.py, update_issue.py, link_issues.py, get_board.py, get_sprint.py) replicate what the MCP already provides, but with additional overhead:

  • Environment variables to configure (JIRA_BASE_URL, JIRA_TOKEN, JIRA_EMAIL, JIRA_AUTH_TYPE)
  • Python dependency to install (requests)
  • A custom REST client (client.py) to maintain
  • Separate authentication to manage

That's ~2,500 lines of code (plus tests) for functionality we already have natively.

What adds genuine value

  • cve_tracker.py — This is the standout. CVE deduplication across variants, due-date clustering, and release estimate summaries are real business logic that no MCP tool provides. This is exactly the kind of thing a skill should do.
  • A SKILL.md with Jira workflow knowledge — Teaching Claude how to work with our Jira setup (field conventions, sprint lookup patterns, CVE tracking workflows) is valuable regardless of whether scripts or MCP tools are used underneath.

Suggestion

Consider restructuring the skill to:

  1. Keep cve_tracker.py — it's genuinely useful and has no MCP equivalent
  2. Keep the SKILL.md — but have it reference MCP tools for basic operations (get, search, create, update, link) instead of custom scripts
  3. Drop the CRUD wrapper scripts and client.py — the MCP handles these better with less overhead
  4. If cve_tracker.py needs to run outside of Claude (e.g., in CI), the client.py could be kept as a minimal dependency for that script only, rather than as a general-purpose client

This way the skill focuses on what skills do best — domain-specific workflows and analysis logic — while leveraging MCP for atomic Jira operations.

Happy to discuss further if there's a use case I'm missing (e.g., Data Center support, environments without MCP, CI/CD usage).

@adrianriobo
Copy link
Copy Markdown
Contributor Author

@Victoremepunto I created a follow up to ensure track of usage for remote MCP, can you approve this one I would love to release new version for claudio with this skill in

Copy link
Copy Markdown
Contributor

@jrusz jrusz left a comment

Choose a reason for hiding this comment

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

Reviewed the core functionality — overall looks solid, well-structured, and follows existing skill patterns nicely. Found two bugs in update_issue.py that would silently corrupt data or fail on Jira Cloud. Both were verified against the live redhat.atlassian.net API.

Comment thread claudio-plugin/skills/jira-utilities/scripts/jira/update_issue.py
Comment thread claudio-plugin/skills/jira-utilities/scripts/jira/update_issue.py
first version for jira utilites skill, the skill offers integration to find and create cards in Jira
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

Signed-off-by: Adrian Riobo <ariobolo@redhat.com>
Copy link
Copy Markdown
Contributor

@jrusz jrusz left a comment

Choose a reason for hiding this comment

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

LGTM

@adrianriobo adrianriobo merged commit 7a4c9c0 into aipcc-cicd:main Apr 13, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feat] Jira skill

3 participants