jira-cli
与 Jira 从命令行交互,创建、列出、查看、编辑和转换问题,管理冲刺和史诗,以及执行常见的 Jira 工作流程。当用户询问关于 Jira 任务、工单、问题、冲刺,或需要管理项目工作项时使用。
许可证:MIT
兼容性:需要安装 jira-cli(https://github.com/ankitpokhrel/jira-cli)并配置 jira init。需要 JIRA_API_TOKEN 环境变量。
元数据:
作者:Colby Timm
版本:“1.0”
Jira CLI
使用 jira-cli 从命令行与 Atlassian Jira 交互。
何时使用
- 用户要求创建、查看、编辑或搜索 Jira 问题/工单
- 用户需要通过工作流状态转换问题(待办 → 进行中 → 完成)
- 用户想要管理冲刺、史诗或看板
- 用户需要分配问题、添加评论或记录工作时间
- 用户询问他们当前的任务或冲刺进度
先决条件
- 安装 jira-cli:
brew install ankitpokhrel/jira-cli/jira-cli(macOS)或从发布下载 - 设置 API 令牌:
export JIRA_API_TOKEN="your-token" - 初始化:
jira init并按照提示操作
问题命令
列出问题
# 在当前项目中列出问题
jira issue list
# 列出我分配的问题
jira issue list -a$(jira me)
# 按状态列出问题
jira issue list -s"进行中"
# 列出高优先级问题
jira issue list -y高
# 使用多个过滤器列出问题
jira issue list -a$(jira me) -s"待办" -y高 --created week
# 使用原始 JQL 列出问题
jira issue list -q "project = PROJ AND status = '进行中'"
# 纯文本输出,适用于脚本
jira issue list --plain --columns key,summary,status --no-headers
创建问题
# 交互式创建问题
jira issue create
# 指定所有选项创建
jira issue create -tBug -s"登录按钮无法工作" -b"描述在这里" -y高 --no-input
# 创建一个故事
jira issue create -tStory -s"添加用户认证" -y中
# 创建带有标签和组件的问题
jira issue create -tTask -s"更新依赖项" -l维护 -l"技术债务" -C后端
# 创建并分配给自己
jira issue create -tBug -s"修复启动时崩溃" -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"更新摘要"
# 编辑描述
jira issue edit ISSUE-123 -b"新描述"
# 编辑优先级
jira issue edit ISSUE-123 -y高
# 添加标签
jira issue edit ISSUE-123 -l新标签
转换问题
# 将问题移动到新状态
jira issue move ISSUE-123 "进行中"
# 移动并添加评论
jira issue move ISSUE-123 "完成" --comment "完成任务"
# 移动并设置解决方案
jira issue move ISSUE-123 "完成" -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 "这是我的评论"
# 从编辑器添加评论
jira issue comment add ISSUE-123
工作日志
# 记录时间
jira issue worklog add ISSUE-123 "2h 30m"
# 记录时间并添加评论
jira issue worklog add ISSUE-123 "1d 4h" --comment "完成功能实现" --no-input
链接和克隆问题
# 链接两个问题
jira issue link ISSUE-123 ISSUE-456 Blocks
# 解除链接问题
jira issue unlink ISSUE-123 ISSUE-456
# 克隆一个问题
jira issue clone ISSUE-123 -s"克隆:新摘要"
# 删除一个问题
jira issue delete ISSUE-123
史诗命令
# 列出史诗
jira epic list
# 以表格格式列出史诗
jira epic list --table
# 创建一个史诗
jira epic create -n"Q1 特性" -s"史诗摘要" -b"史诗描述"
# 将问题添加到史诗
jira epic add EPIC-1 ISSUE-123 ISSUE-456
# 从史诗中移除问题
jira epic remove ISSUE-123 ISSUE-456
冲刺命令
# 列出冲刺
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 |
纯文本输出(无交互 UI) |
--raw |
原始 JSON 输出 |
--csv |
CSV 输出 |
--no-input |
跳过交互提示 |
-t, --type |
问题类型(Bug, Story, Task, Epic) |
-s, --summary |
问题摘要/标题 |
-b, --body |
问题描述 |
-y, --priority |
优先级(最高,高,中,低,最低) |
-l, --label |
标签(可重复) |
-a, --assignee |
被分配人用户名 |
-r, --reporter |
报告人用户名 |
-C, --component |
组件名称 |
-P, --parent |
父问题/史诗键 |
-q, --jql |
原始 JQL 查询 |
--created |
按创建日期过滤(-7d, week, month) |
--order-by |
排序字段 |
--reverse |
逆序排序 |
常见工作流程
开始处理一个问题
# 分配给自己并移动到进行中
jira issue assign ISSUE-123 $(jira me)
jira issue move ISSUE-123 "进行中"
完成一个问题
# 记录工作并关闭
jira issue worklog add ISSUE-123 "4h" --no-input
jira issue move ISSUE-123 "完成" --comment "已完成" -RFixed
日常站会回顾
# 查看我当前冲刺任务
jira sprint list --current -a$(jira me)
创建和跟踪一个 Bug
# 创建 Bug
jira issue create -tBug -s"应用登录时崩溃" -y高 -lbug --no-input
# 记录返回的问题键,然后分配
jira issue assign BUG-123 $(jira me)
jira issue move BUG-123 "进行中"
输出示例
| 命令 | 用例 |
|---|---|
jira issue list --plain |
脚本友好输出 |
jira issue list --raw |
JSON 用于解析 |
jira issue list --csv |
导出到电子表格 |
限制
- 需要先前的
jira init配置 - 一些功能可能在 Jira Cloud 和 Server 之间有所不同
- 复杂的自定义字段可能需要
--custom标志与字段 ID - 基于 Jira 实例配置的速率限制