SuperAPI AI 工具集

jira-cli

办公与效率

查看项目

更新于 10-14 13:34

技能介绍

Jira CLI 是一个通过命令行与 Atlassian Jira 交互的工具,使用 jira-cli 在终端中完成常见的 Jira 操作。

【何时使用】 当用户需要创建、查看、编辑或搜索 Jira 问题(issue/工单);需要通过工作流状态流转问题(例如 To Do → In Progress → Done);需要管理冲刺、史诗或看板;需要分配问题、添加评论或记录工时;或需要查看自己当前的任务与冲刺进度时,都可以使用该工具。

【前置条件】

  • 安装 jira-cli:macOS 可运行 brew install ankitpokhrel/jira-cli/jira-cli,或从 releases 页面下载。
  • 设置 API token:export JIRA_API_TOKEN="your-token"
  • 初始化:运行 jira init 并按照提示操作。

【问题(Issue)命令】 列出问题:

  • 列出当前项目的问题:jira issue list
  • 列出分配给我的问题:jira issue list -a$(jira me)
  • 按状态列出:jira issue list -s"In Progress"
  • 列出高优先级问题:jira issue list -yHigh
  • 组合多个过滤条件:jira issue list -a$(jira me) -s"To Do" -yHigh --created week
  • 使用原始 JQL 查询:jira issue list -q "project = PROJ AND status = 'In Progress'"
  • 便于脚本处理的纯文本输出:jira issue list --plain --columns key,summary,status --no-headers

创建问题:

  • 交互式创建:jira issue create
  • 指定全部选项创建:jira issue create -tBug -s"Login button not working" -b"Description here" -yHigh --no-input
  • 创建 Story:jira issue create -tStory -s"Add user authentication" -yMedium
  • 带标签与组件创建:jira issue create -tTask -s"Update dependencies" -lmaintenance -l"tech-debt" -Cbackend
  • 创建并分配给自己:jira issue create -tBug -s"Fix crash on startup" -a$(jira me) --no-input

查看问题:

  • 查看问题详情:jira issue view ISSUE-123
  • 查看并显示评论:jira issue view ISSUE-123 --comments 10
  • 纯文本查看:jira issue view ISSUE-123 --plain
  • 在浏览器中打开问题:jira open ISSUE-123

编辑问题:

  • 编辑摘要:jira issue edit ISSUE-123 -s"Updated summary"
  • 编辑描述:jira issue edit ISSUE-123 -b"New description"
  • 编辑优先级:jira issue edit ISSUE-123 -yHigh
  • 添加标签:jira issue edit ISSUE-123 -lnew-label

流转问题:

  • 移动到新状态:jira issue move ISSUE-123 "In Progress"
  • 移动并添加评论:jira issue move ISSUE-123 "Done" --comment "Completed the task"
  • 移动并设置解决方案:jira issue move ISSUE-123 "Done" -RFixed

分配问题:

  • 分配给自己:jira issue assign ISSUE-123 $(jira me)
  • 分配给指定用户:jira issue assign ISSUE-123 username
  • 取消分配:jira issue assign ISSUE-123 x

评论:

  • 添加评论:jira issue comment add ISSUE-123 "This is my comment"
  • 从编辑器添加评论:jira issue comment add ISSUE-123

工时记录:

  • 记录工时:jira issue worklog add ISSUE-123 "2h 30m"
  • 记录工时并添加评论:jira issue worklog add ISSUE-123 "1d 4h" --comment "Completed feature implementation" --no-input

关联与克隆问题:

  • 关联两个问题:jira issue link ISSUE-123 ISSUE-456 Blocks
  • 取消关联:jira issue unlink ISSUE-123 ISSUE-456
  • 克隆问题:jira issue clone ISSUE-123 -s"Cloned: New summary"
  • 删除问题:jira issue delete ISSUE-123

【史诗(Epic)命令】

  • 列出史诗:jira epic list
  • 以表格格式列出史诗:jira epic list --table
  • 创建史诗:jira epic create -n"Q1 Features" -s"Epic summary" -b"Epic description"
  • 将问题加入史诗:jira epic add EPIC-1 ISSUE-123 ISSUE-456
  • 从史诗移除问题:jira epic remove ISSUE-123 ISSUE-456

【冲刺(Sprint)命令】

  • 列出冲刺:jira sprint list
  • 列出当前/活动冲刺:jira sprint list --current
  • 列出当前冲刺中我的问题:jira sprint list --current -a$(jira me)
  • 将问题加入冲刺:jira sprint add SPRINT_ID ISSUE-123 ISSUE-456

【项目与看板命令】

  • 列出项目:jira project list
  • 列出看板:jira board list
  • 列出发布/版本:jira release list
  • 在浏览器中打开项目:jira open

【实用命令】

  • 获取当前用户名:jira me
  • 查看帮助:jira --help、jira issue --help
  • 设置 shell 补全:jira completion bash(也支持 zsh、fish、powershell)

【常用标志】 --plain:纯文本输出(无交互界面);--raw:原始 JSON 输出;--csv:CSV 输出;--no-input:跳过交互提示;-t, --type:问题类型(Bug、Story、Task、Epic);-s, --summary:问题摘要/标题;-b, --body:问题描述;-y, --priority:优先级(Highest、High、Medium、Low、Lowest);-l, --label:标签(可重复);-a, --assignee:经办人用户名;-r, --reporter:报告人用户名;-C, --component:组件名称;-P, --parent:父问题/史诗键;-q, --jql:原始 JQL 查询;--created:按创建日期过滤(-7d、week、month);--order-by:排序字段;--reverse:反向排序。

【常见工作流】 开始处理某个问题:

  • 分配给自己并移动到 In Progress:jira issue assign ISSUE-123 $(jira me);jira issue move ISSUE-123 "In Progress"

完成某个问题:

  • 记录工时并关闭:jira issue worklog add ISSUE-123 "4h" --no-input;jira issue move ISSUE-123 "Done" --comment "Completed" -RFixed

每日站会回顾:

  • 查看当前冲刺任务:jira sprint list --current -a$(jira me)

创建并跟踪 Bug:

  • 创建 Bug:jira issue create -tBug -s"App crashes on login" -yHigh -lbug --no-input
  • 记下返回的问题键,然后分配:jira issue assign BUG-123 $(jira me);jira issue move BUG-123 "In Progress"

【输出示例场景】

  • jira issue list --plain:适合脚本的输出
  • jira issue list --raw:便于解析的 JSON
  • jira issue list --csv:导出到电子表格

【限制】

  • 需要事先完成 jira init 配置。
  • Jira Cloud 与 Server 之间某些功能可能存在差异。
  • 复杂的自定义字段可能需要使用 --custom 标志并指定字段 ID。
  • 实际使用受 Jira 实例配置的速率限制影响。