核心用法
ytctl 是一个面向 JetBrains YouTrack 实例的命令行管理工具,封装在 scripts/ 目录下,支持 issues、projects、workflows 的全生命周期操作。
认证方式:支持 ~/.config/youtrack/config.json 配置文件(url + perm:xxx token)或环境变量 YOUTRACK_URL/YOUTRACK_TOKEN。Token 需通过 YouTrack Profile → Account Security → New Token 生成。
主要功能模块:
- Issue 管理:增删改查、状态流转(
state/assignee/priority)、评论追加 - 高级查询:原生 YouTrack Query 语法支持(
#unresolved,created: today,sort by: priority) - 批量操作:
bulk-update/bulk-comment/bulk-assign均支持--dry-run预览 - 报表输出:项目摘要(
report)、用户活动(report-user)、状态分布柱状图(report-states) - 输出格式:默认表格,可选
--json获取原始 API 响应
技术依赖:jq(JSON 解析)、curl(HTTP 请求)。
---
显著优点
1. 原生 Query 语法支持:无需学习新 DSL,直接复用 YouTrack 搜索语法
2. 批量操作安全设计:所有批量命令内置 --dry-run 机制,降低误操作风险
3. 报表可视化:report-states 内置 ASCII 柱状图,终端友好
4. 轻量无侵入:纯 shell 脚本实现,不依赖 SDK 或复杂运行时
潜在缺点/局限性
- Token 权限风险:使用永久 Token(
perm:前缀),若泄露可导致完整项目访问 - 无 OAuth/SSO 支持:仅支持 Personal Token,企业 SSO 场景需额外处理
- 依赖外部二进制:
jq/curl需预装,Windows 环境需 WSL/Cygwin - 无交互式编辑:Issue 描述更新需一次性传入,不支持类似
git commit的编辑器交互
适合人群
- 习惯终端工作流的开发者/项目经理
- 需要批量处理 issues 的 QA/运维人员
- 希望将 YouTrack 操作集成到 CI/CD 或自动化脚本的团队
常规风险
- 凭证泄露:
config.json明文存储 Token,建议设置chmod 600权限 - 批量操作误伤:虽支持
--dry-run,但生产环境执行前仍需二次确认 query 范围 - API 限流:高频调用可能触发 YouTrack Cloud 速率限制