Jira Integration Plugin
A plugin that works Jira from the agent terminal: JQL search, issues, sprints, worklogs and wiki markup validation
- 90 ★ on the repository
- Last commit
Broad access
Why this level
- Writes to a live Jira: creates and changes issues, statuses and comments and logs time as you
- Keeps Jira credentials in an environment file read by the agent scripts
Install
- Works in
Manual install
/plugin install jira-integration@netresearch-claude-code-marketplaceFirst run `/plugin marketplace add netresearch/claude-code-marketplace`.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- Writes to a live Jira: creates and changes issues, statuses and comments and logs time as you
- Keeps Jira credentials in an environment file read by the agent scripts
This is third-party code. Review the repository files before installing.
What it does
The plugin holds two skills. `jira-communication` runs Python scripts against the Jira API: JQL search (`jira-search.py`), reading and updating issues (`jira-issue.py`), issue creation, status transitions, comments, sprints, boards, issue links, field ID lookup and attachment download. `jira-syntax` knows Jira wiki markup, description templates and validates markup before it is sent. Scripts run through Bash with `uv run`, so tool descriptions take no context as an MCP server would, and no container needs to start. Jira Server, Data Center and Cloud are supported. Every script has `--json`, `--quiet` and `--env-file` flags, and write commands accept `--dry-run` to show changes without applying them. `jira-setup.py` configures credentials interactively and `jira-validate.py` checks the environment.
Who it is for. Developers and team leads on Jira Server, Data Center or Cloud who manage issues, sprints and time tracking from a Claude Code or Cursor session.
Good fit when
- You need all open bugs of a project found and triaged in an agent session
- An issue must be created, moved to another status and commented without opening a browser
- You need to log time with `jira-worklog.py add PROJ-123 "2h 30m"`
- An issue description is written in Jira wiki markup and must be validated before sending
Not a fit when
- The team works in Linear, YouTrack or another tracker: the plugin knows Jira only
- You want an MCP server with described tools: the plugin deliberately works through Bash and scripts
- The machine has no `uv` and Python and they cannot be installed
Example request
Find my open issues in the current sprint of project PROJ and log 2h 30m on PROJ-123 with a note about code reviewLimitations
- Python 3.11 or newer and `uv` are required, along with access to your Jira instance with credentials that `jira-setup.py` configures.
- Scripts run through the agent's Bash, so the agent needs permission to run commands.
- Installing with `npx skills` installs `SKILL.md`-based skills only and skips hooks; hooks need the marketplace or the skills directory.
- The license is dual, MIT for code and CC-BY-SA-4.0 for materials, and the GitHub license field shows it as undefined.
How to disable. If installed from the skills directory, delete `~/.claude/skills/jira-integration`. For the marketplace run `/plugin uninstall jira-integration@netresearch-claude-code-marketplace`.
FAQ
How do I install the Jira plugin in Claude Code?
From the marketplace: `/plugin marketplace add netresearch/claude-code-marketplace`, then `/plugin install jira-integration@netresearch-claude-code-marketplace`. You can also clone into `~/.claude/skills/jira-integration`.
Which Jira versions are supported?
Jira Server, Data Center and Cloud. The scripts use the API, and the deployment type is set in the environment configuration.
How is it different from a Jira MCP server?
It runs Python scripts through Bash and loads no tool descriptions into context. An MCP server keeps tools permanently attached but spends context on their descriptions.
How do I preview changes before they go to Jira?
Add `--dry-run` to a write command: the script shows what would change and sends nothing. `jira-validate.py` checks the environment.
Does the plugin work in Cursor and Copilot?
Yes, the skills follow the open Agent Skills format, so Cursor, GitHub Copilot and other compatible agents read them. `npx skills add` installs the two skills separately.
Discussion
No questions or reviews yet.
Related
PluginsJira CLI displays issues and sprints as tables or script data, keeping work-item queries in the terminal beside source code.
Jira MCP in Go: an agent searches issues by JQL, runs sprints, comments and worklogs and sees an issue's branches and pull requests on Cloud and Server
An MCP server for Jira and Confluence, cloud and self-hosted: search, create and edit issues and pages
A Redmine plugin with AI chat, issue summaries and an MCP server: an external agent works with Redmine issues via an API key.
Atlassian's official cloud MCP server for Jira, Confluence, Jira Service Management, Bitbucket, Compass and Loom, with skills
Official Astravue plugin and MCP server: 87 tools for tasks, projects, time tracking and 8 ready planning skills.
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| Jira Integration Plugin (this card) | no | 90 | ||
| Jira MCP | no | key is optional | 96 | a Go MCP server with permanently attached tools, while this plugin works through Bash scripts with no context load |
| Jira CLI | no | 6,069 | a terminal tool for people with issue tables, while this plugin gives an agent skills, JSON scripts and markup validation |
README in short
The README describes a plugin of two skills and lists compatible platforms and benefits: no MCP, fast start and full API coverage. Six install routes follow, then a quick start with four command examples and script tables by group. Common options and scenario examples close it.
README badge
Original SKILL.md
---
# SPDX-License-Identifier: CC-BY-SA-4.0
# SPDX-FileCopyrightText: Netresearch DTT GmbH
name: jira-communication
description: "Use when handling Jira issues, sprints, boards, links, fields, worklogs, attachments, or users, or on any Jira intent without a key (\"create/find a ticket\", \"pick a project\"). Auto-triggers on Jira URLs and issue keys (PROJ-123). Also use when MCP Atlassian tools fail or are unavailable for Jira Server/DC."
license: "(MIT AND CC-BY-SA-4.0). See LICENSE-MIT and LICENSE-CC-BY-SA-4.0"
compatibility: "Requires python 3.11+, uv. Jira Server/DC or Cloud instance with API access."
metadata:
author: Netresearch DTT GmbH
version: "4.3.3"
repository: https://github.com/netresearch/jira-skill
allowed-tools: Bash(uv run ${CLAUDE_SKILL_DIR}/scripts/*) Bash(${CLAUDE_SKILL_DIR}/scripts/*) Read Write
---
# Jira Communication
CLI scripts via `uv run`, all supporting `--help`, `--json`, `--quiet`, `--debug`.
## Auto-Trigger
On Jira URL or issue key (PROJ-123), pick by **intent** — each is one call:
| Intent | Tool |
|---|---|
| triage / work on ticket | `jira-issue.py work KEY` |
| start QA review | `jira-issue.py qa KEY` |
| QA-fail follow-up | `jira-issue.py qa-fail KEY` |
| field-only lookup | `jira-issue.py get KEY --fields ...` |
| change status | `jira-issue.py act KEY` → `jira-transition.py do` |
| audit / sibling discovery / "am I reviewing my own work?" | `jira-qa-gather.py KEY` |
Auth issues → `jira-setup.py`. **Anti-pattern:** `get` + `comment list` — use the matching verb.
**`work` flags a ticket you have not taken:** when it is not assigned to you, or its status says nobody works on it (To Do category, a review status such as QA, or resolved), a `!! CLAIM KEY` notice on stderr (`claim` in `--json`) lists the commands — `jira-issue.py update KEY --assignee me`, then the start or reopen transition from `jira-transition.py list KEY`. Run them before your first comment, measurement or edit. `jira-comment.py add` warns once before posting when the ticket is neither yours nor in a working status; it still posts.
## Scripts
Under `${CLAUDE_SKILL_DIR}/scripts/{core,workflow,utility}/`.
**Core**: `jira-issue.py`, `jira-search.py`, `jira-worklog.py`, `jira-attachment.py`, `jira-setup.py`, `jira-validate.py`
**Workflow**: `jira-create.py`, `jira-transition.py`, `jira-comment.py`, `jira-move.py`, `jira-sprint.py`, `jira-board.py`, `jira-version.py`, `tempo-account.py`
**Utility**: `jira-user.py`, `jira-fields.py`, `jira-link.py`, `jira-weblink.py`, `jira-worklog-query.py`, `jira-watchers.py`, `jira-qa-gather.py`
## Execution Style