AgentSkillsCN

jira-communication

通过 Python CLI 脚本执行 Jira API 操作。当用户提及 Jira URL(https://jira.*/browse/*、https://*.atlassian.net/browse/*)、问题键(PROJ-123),或询问 Jira 问题时,此技能会自动触发。当 Claude 需要:(1)使用 JQL 查询搜索问题,(2)获取或更新问题详情,(3)创建新问题,(4)变更问题状态(例如,“待办”→“已完成”),(5)添加评论,(6)记录工时(worklogs),(7)列出冲刺与冲刺问题,(8)列出看板与看板问题,(9)创建或列出问题链接,(10)发现可用的 Jira 字段,(11)获取用户个人资料信息,(12)下载问题附件时,可选用此方案。若身份验证失败,可提供交互式凭证设置功能,通过 jira-setup.py 实现。该技能同时支持 Jira Cloud、Server 与 Data Center,并具备自动身份验证检测功能。

SKILL.md
--- frontmatter
name: jira-communication
description: >
  Jira API operations via Python CLI scripts. AUTOMATICALLY TRIGGER when user
  mentions Jira URLs (https://jira.*/browse/*, https://*.atlassian.net/browse/*),
  issue keys (PROJ-123), or asks about Jira issues. Use when Claude needs to:
  (1) Search issues with JQL queries, (2) Get or update issue details,
  (3) Create new issues, (4) Transition issue status (e.g., "To Do" → "Done"),
  (5) Add comments, (6) Log work time (worklogs), (7) List sprints and sprint issues,
  (8) List boards and board issues, (9) Create or list issue links,
  (10) Discover available Jira fields, (11) Get user profile information,
  (12) Download attachments from issues.
  If authentication fails, offer interactive credential setup via jira-setup.py.
  Supports both Jira Cloud and Server/Data Center with automatic auth detection.
allowed-tools: Bash(uv run scripts/*:*) Read

Jira Communication

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

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:

bash
# 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

bash
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.