名称: youtrack
描述: 通过命令行管理 YouTrack 问题、项目和工作流。适用于创建、更新、搜索或评论 YouTrack 问题,列出项目,检查问题状态,或自动化问题工作流。
元数据: {"clawdbot":{"emoji":"🎫","requires":{"bins":["jq","curl"]}}}
使用 ytctl(位于 scripts/ 目录中)来管理 YouTrack 问题跟踪。
凭证存储在 ~/.config/youtrack/config.json 中:
{
"url": "https://your-instance.youtrack.cloud",
"token": "perm:xxx"
}
或者设置环境变量:YOUTRACK_URL、YOUTRACK_TOKEN
生成令牌:YouTrack → 个人资料 → 账户安全 → 新建令牌
# 列出项目
ytctl projects
# 列出问题(支持可选筛选)
ytctl issues # 所有问题
ytctl issues SP # 指定项目 SP 中的问题
ytctl issues SP --query "state: Open" # 按条件筛选
ytctl issues --max 50 # 限制结果数量
# 获取问题详情
ytctl issue SP-123
# 创建问题
ytctl create SP "Bug: 登录失败"
ytctl create SP "功能请求" "详细描述信息"
# 更新问题
ytctl update SP-123 state "进行中"
ytctl update SP-123 assignee john.doe
ytctl update SP-123 priority Critical
# 添加评论
ytctl comment SP-123 "正在调查此问题"
# 使用 YouTrack 查询语法搜索
ytctl search "project: SP state: Open assignee: me"
ytctl search "created: today"
ytctl search "#unresolved sort by: priority"
# 列出项目的工作流状态
ytctl states SP
# 列出用户
ytctl users
ytctl users --query "john"
YouTrack 查询示例:
- state: Open — 按状态筛选
- assignee: me — 分配给当前用户
- created: today — 今天创建
- updated: {last week} — 上周更新
- #unresolved — 所有未解决的问题
- has: attachments — 包含附件
- sort by: priority desc — 按优先级降序排序
组合使用:project: SP state: Open assignee: me sort by: updated
默认:表格格式。添加 --json 参数获取原始 JSON 输出:
ytctl issues SP --json
ytctl issue SP-123 # 单个问题始终输出 JSON
# 更新所有匹配的问题(支持预览模式)
ytctl bulk-update "project: SP state: Open" state "In Progress" --dry-run
ytctl bulk-update "project: SP state: Open" state "In Progress"
# 为所有匹配的问题添加评论
ytctl bulk-comment "project: SP state: Open" "批量更新通知"
# 分配所有匹配的问题
ytctl bulk-assign "project: SP #unresolved" john.doe --dry-run
# 项目摘要(默认最近 7 天)
ytctl report SP
ytctl report SP --days 14
# 用户活动报告
ytctl report-user zain
ytctl report-user zain --days 30
# 状态分布报告(带条形图)
ytctl report-states SP
ytctl states PROJECT 查看有效的状态名称--dry-run 参数,用于在执行前预览