Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
ericfisherdev avatar

Update Issue

  • 1 installs
  • 1 repo stars
  • Updated April 10, 2026
  • ericfisherdev/claude-plugins

Updates Jira issues via a Python script supporting status transitions, assignee, labels, priority, and comments with cached lookups.

About

Updates existing Jira issues through a bundled Python script that caches users, priorities, and components, replacing direct Atlassian MCP edit calls. A developer uses it to change status, assignee, labels, priority, or add comments on a ticket.

  • Updates Jira issues via a Python script with cached users/priorities
  • Supports status transitions, assignee, labels, priority, and comments

Update Issue by the numbers

  • 1 all-time installs (skills.sh)
  • Ranked #2,476 of 3,282 Productivity & Planning skills by installs in the Skillselion catalog
  • Data as of Jul 8, 2026 (Skillselion catalog sync)
npx skills add https://github.com/ericfisherdev/claude-plugins --skill update-issue

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1
repo stars1
Last updatedApril 10, 2026
Repositoryericfisherdev/claude-plugins

What it does

Updates Jira issues via a Python script supporting status transitions, assignee, labels, priority, and comments with cached lookups.

Files

SKILL.mdMarkdownGitHub ↗

Jira Issue Update

IMPORTANT: Always use this skill's Python script for updating Jira issues. Do NOT use mcp__atlassian__editJiraIssue or mcp__atlassian__transitionJiraIssue - this skill uses a shared cache for users, priorities, and components, and provides better error messages.

Quick Start

Use the Python script at scripts/update_jira_issue.py:

# Update status
python scripts/update_jira_issue.py PROJ-123 --status "In Progress"

# Update assignee
python scripts/update_jira_issue.py PROJ-123 --assignee "John Smith"

# Add a comment
python scripts/update_jira_issue.py PROJ-123 --comment "Working on this now"

# Multiple updates at once
python scripts/update_jira_issue.py PROJ-123 \
  --status "In Progress" \
  --assignee "Jane Doe" \
  --priority High \
  --add-labels "urgent"

Update Options

OptionDescription
--summary, -sUpdate issue title
--description, -dUpdate issue description
--statusTransition to new status
--priorityUpdate priority (High, Medium, Low, etc.)
--assignee, -aUpdate assignee (partial name match)
--unassignRemove assignee
--labels, -lSet labels (replaces existing)
--add-labelsAdd labels to existing
--remove-labelsRemove specific labels
--components, -cSet components (replaces existing)
--commentAdd a comment
--format, -fOutput: compact (default), text, json

Status Transitions

Jira issues follow workflows. To change status, use --status:

# Transition to "In Progress"
python scripts/update_jira_issue.py PROJ-123 --status "In Progress"

# List available transitions
python scripts/update_jira_issue.py PROJ-123 --list-transitions

The script matches both transition names (e.g., "Start Progress") and target status names (e.g., "In Progress").

Common Workflows

Start Working on an Issue

python scripts/update_jira_issue.py PROJ-123 \
  --status "In Progress" \
  --assignee "me" \
  --comment "Starting work on this"

Complete an Issue

python scripts/update_jira_issue.py PROJ-123 \
  --status "Done" \
  --comment "Completed and deployed"

Reassign and Reprioritize

python scripts/update_jira_issue.py PROJ-123 \
  --assignee "Jane Doe" \
  --priority Critical \
  --add-labels "escalated"

Add Labels Without Replacing

# Add new labels while keeping existing ones
python scripts/update_jira_issue.py PROJ-123 --add-labels "reviewed,approved"

# Remove specific labels
python scripts/update_jira_issue.py PROJ-123 --remove-labels "needs-review"

Update Description

python scripts/update_jira_issue.py PROJ-123 \
  --description "Updated requirements: must support dark mode"

Output Formats

compact (default):

UPDATED|PROJ-123|Fix login bug|In Progress|Bug|P:High|@jsmith
Changes:status->In Progress,comment
URL:https://yoursite.atlassian.net/browse/PROJ-123

text:

Issue Updated: PROJ-123
Summary: Fix login bug
Status: In Progress
Type: Bug
Priority: High
Assignee: John Smith
Changes: status->In Progress, comment
URL: https://yoursite.atlassian.net/browse/PROJ-123

json:

{"key":"PROJ-123","summary":"Fix login bug","status":"In Progress","changes":["status->In Progress","comment"],"url":"..."}

Shared Cache

This skill shares a cache (~/.jira-tools-cache.json) with other jira-tools skills:

  • Users (for assignee lookups)
  • Priorities
  • Components

Manage cache via:

python shared/jira_cache.py info    # View cache status
python shared/jira_cache.py clear   # Clear cache

Environment Setup

Requires three environment variables:

  • JIRA_BASE_URL - e.g., https://yoursite.atlassian.net
  • JIRA_EMAIL - Your Jira account email
  • JIRA_API_TOKEN - API token from Atlassian account settings

Why Not Use Atlassian MCP Directly?

mcp__atlassian__editJiraIssue and mcp__atlassian__transitionJiraIssue:

  • Require looking up user account IDs separately
  • Require looking up transition IDs separately
  • No caching - repeated API calls for metadata
  • Verbose output wastes tokens

This skill's script:

  • Caches user/priority/component metadata
  • Accepts human-readable names (not IDs)
  • Automatically finds matching transitions
  • Returns token-efficient output

Always prefer this skill over direct MCP calls for Jira updates.

Reference

For detailed field options and error codes, see references/options-reference.md.

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.