Agent skill
querying-jira-programmatically
Run Jira MCP searches (Rovo or JQL) via mcpc-backed Python wrappers with cached tool schemas and file-backed outputs. Use when Codex needs deterministic Jira queries using @jira and mcpc (no direct HTTP).
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/querying-jira-programmatically
Metadata
Additional technical details for this skill
- version
- 0.1.0
SKILL.md
Querying Jira Programmatically
Overview
- Code Mode skill for querying Jira through MCP: Rovo
searchandsearchJiraIssuesUsingJql, with generic tool caller and cached schemas. - Uses mcpc wrappers (supports MCPC_BIN/POWERSHELL_EXE for WSL Windows keyring) and writes outputs to disk (
results/+.mcpc-skill-caches/). - Scope: queries/read-only; no edits/transitions by default.
Quick Start (examples)
- Rovo search:
python <CODEX_HOME>/skills/querying-jira-programmatically/scripts/jira_search.py --query "incident backlog" - JQL search:
python <CODEX_HOME>/skills/querying-jira-programmatically/scripts/jira_search_jql.py --jql "project = ABC ORDER BY updated DESC" --max-results 25 - Any tool (cached schemas):
python <CODEX_HOME>/skills/querying-jira-programmatically/scripts/jira_call_tool.py --tool search --arg query:="AI" --refresh-cache - WSL bridge: prefix with
MCPC_BIN="<TOOL_HOME>"(optionalPOWERSHELL_EXE).
Prereqs & Auth
- Tools:
mcpcon PATH; Python 3.11+. - Manual login only:
mcpc https://mcp.atlassian.com/v1/mcp login --profile <name>(defaultdefault). - Session defaults:
@jirasession, serverhttps://mcp.atlassian.com/v1/mcp, profile fromMCP_PROFILEordefault. - WSL tip: reuse Windows keyring by exporting
MCPC_BIN="<TOOL_HOME>"; setPOWERSHELL_EXEfor a specific PowerShell if needed.
Trust / Permissions
- Always: Read caches/references; inspect templates; view cached schemas on disk.
- Ask: Any mcpc call (network); any tool call that mutates Jira (edits, transitions, create, comments); packaging.
- Never: Direct HTTP or credential exposure; destructive actions without explicit user direction.
Canonical Loop
- Clarify query (Rovo vs JQL). Optionally fill
templates/plan.search.jsonortemplates/plan.jql.json. - Ensure auth (scripts run tools-list preflight; if missing, user must login).
- Use scripted wrappers:
jira_search.py(Rovo),jira_search_jql.py(JQL), orjira_call_tool.py(any tool). - Inspect outputs under
results/and cached schemas under.mcpc-skill-caches/querying-jira-programmatically/mcp_tools/. Reuse files instead of re-running. - Keep payloads out of chat; reference file paths.
Scripts (execute, don't call tools directly)
- scripts/jira_search.py: Rovo search via
search.
Flags:--query(required),--content-type jira|confluence|all(default jira),--output(defaultresults/jira.search.json),--session/@jira,--profile,--server. Writes payload; prints count + key/url summary when possible. - scripts/jira_search_jql.py: JQL search via
searchJiraIssuesUsingJql.
Flags:--jql(required),--cloud-id(default cached for this Jira instance),--max-results(default 50),--pages(follow nextPageToken),--output(defaultresults/jira.jql.json), optional--raw-output,--no-output,--timestamp-output,--session/@jira,--profile,--server. Parsescontent[0].textJSON string when present; writes parsed payload (overwrites by default) and pretty-prints key/summary/status. - scripts/jira_call_tool.py: Generic mcpc caller with cached
mcp_tools/tools-list.jsonandmcp_tools/<tool>.jsonunder.mcpc-skill-caches/....
Flags:--tool <name>(required), repeatable--arg key:=value,--output(defaultresults/<tool>.json),--timestamp-output,--refresh-cache,--session/@jira,--profile,--server. Warns if tool missing from cached list; always writes output JSON. - scripts/jira_common.py: Shared auth preflight (
tools-list), MCPC_BIN/PowerShell resolution, cache/results root detection, file writers. - scripts/jira_team_workload.py: Group issues by assignee for a project/team (membersOf).
Flags:--projector--jql(one required),--team,--cloud-id(default set),--max-results,--output,--summary-output, optional--raw-output,--no-output,--no-summary,--timestamp-output. - scripts/jira_unassigned.py: Find open unassigned issues.
Flags:--projector--jql,--include-done,--cloud-id,--max-results,--output, optional--raw-output,--no-output,--timestamp-output. - scripts/jira_backfill_analysis.py: Fetch “backfill/backlog” items (label or text match) and summarize patterns by status/type/priority.
Flags:--projector--jql,--label(else text~"backfill"),--include-done,--cloud-id,--max-results,--output,--summary-output, optional--raw-output,--no-output,--no-summary,--timestamp-output.
Templates
templates/plan.search.json: Rovo search plan scaffold (query, content_type, expected outputs).templates/plan.jql.json: JQL search plan scaffold (jql, expected outputs).
References
references/usage.md: Quick commands, MCPC_BIN tip, cache locations.- Runtime caches:
.mcpc-skill-caches/querying-jira-programmatically/mcp_tools/(tools-list + per-tool schemas). Should be gitignored; regenerate anytime.
Outputs & Restart
- Outputs land in
results/; caches in.mcpc-skill-caches/querying-jira-programmatically/mcp_tools/. - To resume, reuse existing
results/*.jsoninstead of re-calling MCP when possible.
Packaging
- Validate + package when done:
python <REPO_ROOT>/skills/creating-mcp-code-mode-skills/scripts/package_skill.py <REPO_ROOT>/skills/querying-jira-programmatically dist
Didn't find tool you were looking for?