基于 ytctl 的 YouTrack CLI 工具,支持 issues/项目/workflow 的全生命周期管理,含批量操作与报表功能。
说明:
## 核心用法
**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 速率限制








