介绍
# Jira Skill
通过 Clawdbot 处理 Jira 问题和工时日志(搜索、状态、创建、记录工时、工时汇总)。
## 设置
1. 获取您的 API 密钥:https://id.atlassian.com/manage-profile/security/api-tokens 2. 点击“Create API Token” 3. 设置环境变量: ```bash export JIRA_EMAIL="[email protected]" export JIRA_API_TOKEN="your-api-token" export JIRA_URL="https://your-domain.atlassian.net" # Optional project scope (comma-separated). Empty = search all. export JIRA_BOARD="ABC" ```
需要 `curl`、`jq`、`bc` 和 `python3`。
## 快速命令
所有命令位于 `{baseDir}/scripts/jira.sh`。
- `{baseDir}/scripts/jira.sh search "timeout" [max]` — 在 `JIRA_BOARD` 中根据摘要或关键字进行模糊搜索 - `{baseDir}/scripts/jira.sh link ABC-123` — 在浏览器中打开问题链接 - `{baseDir}/scripts/jira.sh issue ABC-123` — 快速查看问题详情 - `{baseDir}/scripts/jira.sh status ABC-123 "In Progress"` — 转换问题状态(会验证可用的工作流流转) - `{baseDir}/scripts/jira.sh transitions ABC-123` — 列出允许的工作流流转 - `{baseDir}/scripts/jira.sh assign ABC-123 "name or email"` — 通过用户搜索分配问题 - `{baseDir}/scripts/jira.sh assign-me ABC-123` — 将问题分配给自己 - `{baseDir}/scripts/jira.sh comment ABC-123 "text"` — 添加评论 - `{baseDir}/scripts/jira.sh create "Title" ["Description"]` — 在 `JIRA_BOARD` 中创建任务 - `{baseDir}/scripts/jira.sh log ABC-123 2.5 [YYYY-MM-DD]` — 记录工时(默认为今天 UTC) - `{baseDir}/scripts/jira.sh my [max]` — 列出分配给您的待处理问题 - `{baseDir}/scripts/jira.sh hours 2025-01-01 2025-01-07` — 按问题统计您的已记录工时(JSON 格式) - `{baseDir}/scripts/jira.sh hours-day 2025-01-07 [name|email]` — 按用户/问题分组统计一天的已记录工时;可选过滤器(姓名/邮箱;同时解析为 accountId) - `{baseDir}/scripts/jira.sh hours-issue ABC-123 [name|email]` — 统计某个问题的已记录工时;可选过滤器(姓名/邮箱;同时解析为 accountId)
## 命令参考
- **搜索问题**
```bash {baseDir}/scripts/jira.sh search "payment failure" [maxResults] ```
- **问题链接**
```bash {baseDir}/scripts/jira.sh link ABC-321 ```
- **问题详情**
```bash {baseDir}/scripts/jira.sh issue ABC-321 ```
- **更新状态**
```bash {baseDir}/scripts/jira.sh status ABC-321 "Done" ```
- **列出工作流流转**
```bash {baseDir}/scripts/jira.sh transitions ABC-321 ```
- **分配问题**
```bash {baseDir}/scripts/jira.sh assign ABC-321 "Jane Doe" ```
- **分配给自己**
```bash {baseDir}/scripts/jira.sh assign-me ABC-321 ```
- **添加评论**
```bash {baseDir}/scripts/jira.sh comment ABC-321 "Deployed to staging" ```
- **创建问题**
```bash {baseDir}/scripts/jira.sh create "Fix auth timeout" "Users being logged out after 5m" ```
- **记录工时**
```bash {baseDir}/scripts/jira.sh log PB-321 1.5 2025-01-18 ```
- **我的待处理问题**
```bash {baseDir}/scripts/jira.sh my [maxResults] ```
- **按问题统计已记录工时(我)**
```bash {baseDir}/scripts/jira.sh hours 2025-01-01 2025-01-05 ```
- **统计一天的已记录工时(所有人)**
```bash {baseDir}/scripts/jira.sh hours-day 2025-01-05 ```
- **统计一天的已记录工时(用户过滤)**
```bash {baseDir}/scripts/jira.sh hours-day 2025-01-05 "jane" ```
- **统计某个问题的已记录工时** ```bash {baseDir}/scripts/jira.sh hours-issue ABC-321 "jane" ```
## 注意事项
- 工时日志命令使用 Jira 的 worklog/updated + worklog/list 组合,在大型项目中可能需要几秒钟。 - `hours` 根据 `JIRA_EMAIL` 进行过滤;`hours-day` 返回所有用户,并按问题和用户显示总计。 - 工时相关命令的输出为 JSON 格式,以便在其他工具中复用。 - 在应用状态流转前,会根据服务器提供的工作流流转列表进行验证。