A Claude Code plugin providing comprehensive Jira integration through two specialized skills.
| Skill | Purpose |
|---|---|
jira-communication |
API operations via Python CLI scripts |
jira-syntax |
Wiki markup syntax, templates, validation |
Each skill has its own SKILL.md with trigger conditions and usage instructions. Claude Code auto-discovers and activates skills based on context.
The skills contained in this plugin follow the Agent Skills open standard originally developed by Anthropic and released for cross-platform use.
Supported Platforms:
- ✅ Claude Code (Anthropic)
- ✅ Cursor
- ✅ GitHub Copilot
- ✅ Other skills-compatible AI agents
Skills are portable packages of procedural knowledge that work across any AI agent supporting the Agent Skills specification.
- Zero MCP overhead - Scripts invoked via Bash, no tool descriptions loaded
- Fast execution - No Docker container spin-up
- Full API coverage - All common Jira operations supported
- Jira Server/DC + Cloud - Works with both deployment types
Each release provides multiple packages to match your AI agent platform:
| Package | Use Case |
|---|---|
jira-integration-plugin-vX.X.X.zip |
Full plugin - Platforms supporting multi-skill plugins |
jira-communication-skill-vX.X.X.zip |
Standalone skill - Platforms requiring single SKILL.md per package |
jira-syntax-skill-vX.X.X.zip |
Standalone skill - Wiki markup only (no API scripts) |
Download from Releases.
Skills follow the Agent Skills specification. Installation varies by platform:
Multi-skill platforms (e.g., Claude Code CLI):
# Install the full plugin containing both skills
claude plugins install path/to/jira-integration-plugin-vX.X.X.zipSingle-skill platforms (e.g., Claude Desktop, Cursor, GitHub Copilot):
- Download the standalone skill ZIP (
jira-communication-skill-*.ziporjira-syntax-skill-*.zip) - Import via your platform's skill/extension management
Refer to your AI agent's documentation for specific installation instructions.
-
Install uv (Python package runner):
curl -LsSf https://astral.sh/uv/install.sh | sh -
Configure credentials in
~/.env.jira:JIRA_URL=https://your-instance.atlassian.net JIRA_USERNAME=your-email@example.com JIRA_API_TOKEN=your-api-tokenFor Jira Server/DC with Personal Access Token:
JIRA_URL=https://jira.yourcompany.com JIRA_PERSONAL_TOKEN=your-personal-access-token -
Validate setup:
uv run scripts/core/jira-validate.py --verbose
Note: Run commands from
skills/jira-communication/, or prefix paths withskills/jira-communication/from the repo root.
# Search issues
uv run scripts/core/jira-search.py query "project = PROJ AND status = 'In Progress'"
# Get issue details
uv run scripts/core/jira-issue.py get PROJ-123
# Add worklog
uv run scripts/core/jira-worklog.py add PROJ-123 "2h 30m" -c "Code review"
# Create issue
uv run scripts/workflow/jira-create.py issue PROJ "Fix bug" --type Bug --priority High| Script | Commands | Usage |
|---|---|---|
jira-setup.py |
(default) | Interactive credential setup |
jira-validate.py |
(default) | Validate environment setup |
jira-issue.py |
get, update | Get and update issues |
jira-search.py |
query | JQL search |
jira-worklog.py |
add, list | Time tracking |
jira-attachment.py |
download | Download issue attachments |
| Script | Commands | Usage |
|---|---|---|
jira-create.py |
issue | Create new issues |
jira-transition.py |
list, do | Change issue status |
jira-comment.py |
add, list | Issue comments |
jira-sprint.py |
list, issues, current | Sprint operations |
jira-board.py |
list, issues | Board operations |
| Script | Commands | Usage |
|---|---|---|
jira-fields.py |
search, list | Find field IDs |
jira-user.py |
me, get | User information |
jira-link.py |
create, list-types | Issue linking |
All scripts support:
--json- Output as JSON--quiet/-q- Minimal output--env-file PATH- Custom environment file--debug- Show detailed errors--help- Show command help
Write operations also support:
--dry-run- Preview changes without executing
# Find open bugs in project
uv run scripts/core/jira-search.py query "project = PROJ AND type = Bug AND status != Done"
# Find my assigned issues
uv run scripts/core/jira-search.py query "assignee = currentUser()"
# Output as JSON for processing
uv run scripts/core/jira-search.py query "project = PROJ" --json --max-results 100# Get issue details
uv run scripts/core/jira-issue.py get PROJ-123
# Update issue fields (dry-run first)
uv run scripts/core/jira-issue.py update PROJ-123 --labels "urgent,backend" --dry-run
# Create new issue
uv run scripts/workflow/jira-create.py issue PROJ "Implement feature X" --type Story --priority Medium# Log time worked
uv run scripts/core/jira-worklog.py add PROJ-123 "2h 30m" -c "Implemented core logic"
# View worklogs
uv run scripts/core/jira-worklog.py list PROJ-123# List available transitions
uv run scripts/workflow/jira-transition.py list PROJ-123
# Transition issue (dry-run first)
uv run scripts/workflow/jira-transition.py do PROJ-123 "In Progress" --dry-run
# Execute transition
uv run scripts/workflow/jira-transition.py do PROJ-123 "In Progress"# Add comment
uv run scripts/workflow/jira-comment.py add PROJ-123 "Investigation complete - root cause identified"
# List recent comments
uv run scripts/workflow/jira-comment.py list PROJ-123 --limit 5# List boards for project
uv run scripts/workflow/jira-board.py list --project PROJ
# Get board issues
uv run scripts/workflow/jira-board.py issues 42
# List sprints
uv run scripts/workflow/jira-sprint.py list 42 --state active
# Get sprint issues
uv run scripts/workflow/jira-sprint.py issues 123
# Get current sprint
uv run scripts/workflow/jira-sprint.py current 42# Search for custom fields
uv run scripts/utility/jira-fields.py search "story points"
# List all custom fields
uv run scripts/utility/jira-fields.py list --type custom
# Get current user info
uv run scripts/utility/jira-user.py me
# List available link types
uv run scripts/utility/jira-link.py list-types
# Create issue link
uv run scripts/utility/jira-link.py create PROJ-123 PROJ-456 --type "Blocks" --dry-run- jira-syntax - Jira wiki markup validation and templates (unchanged)
Install uv:
curl -LsSf https://astral.sh/uv/install.sh | shCreate ~/.env.jira with your credentials.
- Verify JIRA_URL is correct
- For Cloud: JIRA_USERNAME is your email
- For Server/DC: Use JIRA_PERSONAL_TOKEN instead
- Regenerate your API token if expired
Run scripts from the skill directory:
cd skills/jira-communication
uv run scripts/core/jira-issue.py get PROJ-123MIT
Developed and maintained by Netresearch DTT GmbH.
Made with ❤️ for Open Source by Netresearch