mcpField
R
rhdh-jira-api

rhdh-jira-api

github.com/redhat-developerProductivity1955 installsUpdated 1d ago
Repository

About rhdh-jira-api

A reference skill for reading and working with Jira through `acli` and documented API fallbacks. It centralizes commands, field IDs, query patterns, workflow rules, and scripts while leaving decisions and writes to other skills.

Key features

  1. 01`acli` command guidance
  2. 02JQL and sprint query patterns
  3. 03Jira field and workflow references
  4. 04Scripts for issue data and reports
  5. 05Credential-safe command guidance

Use cases

  1. 01Checking Jira access and authentication
  2. 02Searching issues with JQL
  3. 03Retrieving custom-field values
  4. 04Reading sprint report data

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/redhat-developer/rhdh-skills --skill rhdh-jira-api

After installing, type/rhdh-jira-apiin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

agents/
openai.yaml
references/
acli-commands.md
auth.md
fields.md
graphql-queries.md
jql-patterns.md
rest-api-fallback.md
workflows.md
scripts/
adf_milestones.py
greenhopper.py
jira-wiki-to-adf.py
parse_issues.py
setup.py
validate_components.py
validate_field_ids.py

Details

From the project README

RHDH Jira API

One home for talking to Jira. The command syntax, the field IDs, the query patterns, and the workflow rules live here so that the create, refine, update, and sprint skills carry none of their own copies.

This skill reads. It never decides what to file and never approves a write — though it does define exactly what a write costs, because the payload shapes are here.

Route by question

QuestionLoad
Is Jira reachable? Is acli authenticated?references/auth.md, then uv run scripts/setup.py --json
Which acli flag does this, and what breaks?references/acli-commands.md
What JQL answers this? Which board or sprint?references/jql-patterns.md
Which custom field, label, link type, component, or priority?references/fields.md
How do I create or query a private (Security Level) issue?references/fields.md (Private issues; also jql-patterns / acli-commands)
What must be true before this status transition?references/workflows.md
I need a relationship-heavy bulk read or a team rosterreferences/graphql-queries.md
acli cannot read or set this fieldreferences/rest-api-fallback.md
Sprint report or burndown-chart numbersreferences/rest-api-fallback.md, then uv run scripts/greenhopper.py

Load the one branch the question needs.

The two traps that produce wrong answers

Both fail silently, and both have burned this pack before.

Default page size is 30. Rows past the thirtieth are dropped with no warning, so a query that should return 140 issues quietly returns 30 and every count built on it is wrong. Pass --limit 500 or --paginate on every bulk search, and use --count first when the total matters.

Custom fields are absent unless you ask for them. search --json and view KEY --json return only assignee, issuetype, priority, status, and summary. Story Points, Team, Size, and Sprint come back empty — which looks exactly like a field nobody set. Enrich with scripts/parse_issues.py --enrich or view KEY --fields '*all' --json before claiming any of them is missing.

A field you could not retrieve is reported as unretrieved, never as empty.

Bundled scripts

Run these from this skill's directory.

ScriptPurpose
scripts/setup.pyCapability and auth detection; --json reports token_file_found / token_file_status without printing file contents
scripts/parse_issues.pyEnrich, flatten, select, filter, or CSV-export acli JSON
scripts/greenhopper.pyGET Greenhopper sprintreport / scopechange using the local token file in-process
scripts/validate_components.pyCompare the documented component catalog against live Jira
scripts/jira-wiki-to-adf.pyConvert a filled wiki-markup template to ADF JSON

Stdlib only. Another skill invokes /rhdh-jira-api by name and lets this skill run them; it never reaches into this directory by path.

Writes

This skill does not perform writes, but the payloads live here because the field IDs do. It hands the caller a command or a payload, never an effect. Whichever skill owns the verb invokes /mutation-gate and runs it from there.

Credentials never appear in an argument, a preview, a log, or the answer. A command built here takes its credential from acli's own store, the local token-file adapter (in-process, never printed), or the authenticated host adapter at run time, so nothing this skill hands back carries one.

Boundary with the neighbouring skills

  • Opening new work is /rhdh-jira-create.
  • Judging whether existing work is ready is /rhdh-jira-refine.
  • Changing a field, status, assignee, comment, or link on a known key is /rhdh-jira-update.
  • Sprint carryover, velocity, and next-sprint capacity are /rhdh-jira-sprint-plan; the end-of-sprint summary is /rhdh-jira-sprint-report.
  • Whether a team can fit rhdh-X.Y-candidate Features through Code Freeze is /rhdh-release-capacity-plan.
  • Issue templates, the grill matrix, sizing scales, and decomposition rules are /rhdh-jira-authoring.
  • What is still open against a release is /rhdh-release-status.
  • Creating or repairing a credential is /setup-rhdh-skills.

Completion

A read is complete when every field the answer asserts was actually fetched. Report the exact JQL or command used, the number of issues returned, and whether the result was truncated — a truncated result is an incomplete answer, not a finding. Say which adapter produced each fact, acli or the host adapter. A field the API could not supply is named as unretrieved rather than reported as empty or carried over from an earlier query.

Comments

Markdown supported