Get the FREE Ultimate OpenClaw Setup Guide →

jira-communication

Use Caution
npx machina-cli add skill netresearch/jira-skill/jira-communication --openclaw
Files (1)
SKILL.md
4.0 KB

Jira Communication

CLI scripts for Jira operations using uv run. All scripts support --help, --json, --quiet, --debug.

Paths are relative to skills/jira-communication/. Run from there or prefix accordingly.

Auto-Trigger

Trigger when user mentions:

  • Jira URLs: https://jira.*/browse/*, https://*.atlassian.net/browse/*
  • Issue keys: PROJ-123, NRS-4167

When triggered by URL → extract issue key → run jira-issue.py get PROJ-123

Auth Failure Handling

When auth fails, offer: uv run scripts/core/jira-setup.py (interactive credential setup)

Scripts

ScriptPurpose
scripts/core/jira-setup.pyInteractive credential config
scripts/core/jira-validate.pyVerify connection
scripts/core/jira-issue.pyGet/update issue details
scripts/core/jira-search.pySearch with JQL
scripts/core/jira-worklog.pyTime tracking
scripts/core/jira-attachment.pyDownload attachments
scripts/workflow/jira-create.pyCreate issues
scripts/workflow/jira-transition.pyChange status
scripts/workflow/jira-comment.pyAdd comments
scripts/workflow/jira-sprint.pyList sprints
scripts/workflow/jira-board.pyList boards
scripts/utility/jira-user.pyUser info
scripts/utility/jira-fields.pySearch fields
scripts/utility/jira-link.pyIssue links

Critical: Flag Ordering

Global flags MUST come before subcommand:

# Correct:  uv run scripts/core/jira-issue.py --json get PROJ-123
# Wrong:    uv run scripts/core/jira-issue.py get PROJ-123 --json

Quick Examples

uv run scripts/core/jira-validate.py --verbose
uv run scripts/core/jira-search.py query "assignee = currentUser()"
uv run scripts/core/jira-issue.py get PROJ-123
uv run scripts/core/jira-worklog.py add PROJ-123 2h --comment "Work done"
uv run scripts/workflow/jira-transition.py do PROJ-123 "In Progress" --dry-run

Related Skills

jira-syntax: For descriptions/comments. Jira uses wiki markup, NOT Markdown.

References

  • references/jql-quick-reference.md - JQL syntax
  • references/troubleshooting.md - Setup and auth issues

Authentication

Cloud: JIRA_URL + JIRA_USERNAME + JIRA_API_TOKEN Server/DC: JIRA_URL + JIRA_PERSONAL_TOKEN

Config via ~/.env.jira or env vars. Run jira-validate.py --verbose to verify.

Multi-Profile Support

When ~/.jira/profiles.json exists, multiple Jira instances are supported.

Profile resolution (automatic, priority order):

  1. --env-file PATH → legacy single-file behavior
  2. --profile NAME flag → use named profile directly
  3. Full Jira URL in input → match host to profile
  4. Issue key (e.g., WEB-1381) → match project prefix to profile
  5. .jira-profile file in working directory → use named profile
  6. Default profile from profiles.json
  7. Fallback to ~/.env.jira

When triggered by URL → extract host → match profile automatically:

# User mentions https://jira.meine-krankenkasse.de/browse/WEB-1381
# Profile "mkk" is automatically resolved from URL host match
uv run scripts/core/jira-issue.py get WEB-1381

When triggered by issue key only → check project mapping automatically:

# WEB is mapped to "mkk" profile → automatically resolved
uv run scripts/core/jira-issue.py get WEB-1381

If ambiguous → ask user which profile to use.

Profile management:

uv run scripts/core/jira-setup.py --profile mkk                    # Create profile
uv run scripts/core/jira-validate.py --profile mkk --verbose        # Validate profile
uv run scripts/core/jira-validate.py --all-profiles                 # Validate all
uv run scripts/core/jira-setup.py --migrate                         # Migrate .env.jira

Source

git clone https://github.com/netresearch/jira-skill/blob/main/skills/jira-communication/SKILL.mdView on GitHub

Overview

Jira-communication provides CLI scripts to search, create, update, transition, comment, log work, download attachments, and manage sprints, boards, issue links, fields, or users. It auto-triggers on Jira URLs and issue keys to streamline workflows.

How This Skill Works

Scripts are run with uv run and support --help, --json, --quiet, --debug. They authenticate via profiles and environment credentials, resolving the correct Jira instance automatically from a URL or an issue key, enabling direct issue operations.

When to Use It

  • To quickly fetch an issue by key (e.g., PROJ-123) or from a Jira URL.
  • To create, update, or comment on an issue, or to log work against it.
  • To perform a JQL-based search to locate issues you care about.
  • To download attachments from a specific issue.
  • To list or manage Jira boards, sprints, issue links, fields, or users.

Quick Start

  1. Step 1: uv run scripts/core/jira-setup.py to configure credentials.
  2. Step 2: uv run scripts/core/jira-validate.py --verbose to verify the connection.
  3. Step 3: uv run scripts/core/jira-issue.py get PROJ-123 to fetch an issue.

Best Practices

  • Prefer --json output for machine-friendly results.
  • Validate the connection with jira-validate before performing mutations.
  • Use --profile to pin to the intended Jira instance and avoid cross-instance surprises.
  • Follow the global flags-before-subcommand order as documented.
  • Test disruptive actions with --dry-run when supported (e.g., transitions).

Example Use Cases

  • uv run scripts/core/jira-issue.py get PROJ-123
  • uv run scripts/core/jira-search.py query 'assignee = currentUser()'
  • uv run scripts/core/jira-worklog.py add PROJ-123 2h --comment 'Work done'
  • uv run scripts/workflow/jira-transition.py do PROJ-123 'In Progress' --dry-run
  • uv run scripts/core/jira-attachment.py download PROJ-123 myfile.pdf

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers