tapd 技能创建
- 作者仓库星标 150
- 作者仓库 learn-skills.dev
TAPD Skill
本 skill 提供与 TAPD 平台交互的 Python 脚本工具,统一通过 tapd.py 调用。
环境配置
使用前需要配置以下环境变量:
export TAPD_ACCESS_TOKEN="你的个人访问令牌" # 推荐
# 或
export TAPD_API_USER="API账号"
export TAPD_API_PASSWORD="API密钥"
export TAPD_API_BASE_URL="https://api.tapd.cn" # 可选,默认
export TAPD_BASE_URL="https://www.tapd.cn" # 可选,默认
export CURRENT_USER_NICK="你的昵称" # 可选
使用方式
python scripts/tapd.py <command> [参数]
所有命令默认输出 JSON 格式结果。
命令列表
项目与用户
| 命令 | 说明 |
|---|---|
get_user_participant_projects |
获取用户参与的项目列表 |
get_workspace_info |
获取项目信息 |
get_workitem_types |
获取需求类别 |
需求/任务
| 命令 | 说明 |
|---|---|
get_stories_or_tasks |
查询需求/任务 |
create_story_or_task |
创建需求/任务 |
update_story_or_task |
更新需求/任务 |
get_story_or_task_count |
获取数量 |
get_stories_fields_lable |
字段中英文对照 |
get_stories_fields_info |
字段及候选值 |
缺陷
| 命令 | 说明 |
|---|---|
get_bug |
查询缺陷 |
create_bug |
创建缺陷 |
update_bug |
更新缺陷 |
get_bug_count |
获取数量 |
迭代
| 命令 | 说明 |
|---|---|
get_iterations |
查询迭代 |
create_iteration |
创建迭代 |
update_iteration |
更新迭代 |
评论
| 命令 | 说明 |
|---|---|
get_comments |
查询评论 |
create_comments |
创建评论 |
update_comments |
更新评论 |
附件/图片
| 命令 | 说明 |
|---|---|
get_entity_attachments |
获取附件 |
get_image |
获取图片下载链接 |
自定义字段
| 命令 | 说明 |
|---|---|
get_entity_custom_fields |
获取自定义字段配置 |
工作流
| 命令 | 说明 |
|---|---|
get_workflows_status_map |
状态映射 |
get_workflows_all_transitions |
状态流转 |
get_workflows_last_steps |
结束状态 |
测试用例
| 命令 | 说明 |
|---|---|
get_tcases |
查询测试用例 |
create_or_update_tcases |
创建/更新测试用例 |
create_tcases_batch |
批量创建测试用例 |
Wiki
| 命令 | 说明 |
|---|---|
get_wiki |
查询 Wiki |
create_wiki |
创建 Wiki |
update_wiki |
更新 Wiki |
工时
| 命令 | 说明 |
|---|---|
get_timesheets |
查询工时 |
add_timesheets |
填写工时 |
update_timesheets |
更新工时 |
待办
| 命令 | 说明 |
|---|---|
get_todo |
获取待办 |
关联
| 命令 | 说明 |
|---|---|
get_related_bugs |
获取关联缺陷 |
entity_relations |
创建关联关系 |
发布计划
| 命令 | 说明 |
|---|---|
get_release_info |
获取发布计划 |
源码
| 命令 | 说明 |
|---|---|
get_commit_msg |
获取提交关键字 |
消息
| 命令 | 说明 |
|---|---|
send_qiwei_message |
发送企业微信消息 |
使用示例
查询需求
# 查询指定需求
python scripts/tapd.py get_stories_or_tasks --workspace_id 123 --entity_type stories --id 1167459320001114969
# 模糊搜索需求
python scripts/tapd.py get_stories_or_tasks --workspace_id 123 --entity_type stories --name "%登录%" --limit 20
# 查询指定状态的需求
python scripts/tapd.py get_stories_or_tasks --workspace_id 123 --entity_type stories --v_status "已验收"
创建需求
python scripts/tapd.py create_story_or_task --workspace_id 123 \
--name "用户登录功能" \
--description "## 需求描述\n用户可以通过账号密码登录系统" \
--priority_label "高" \
--owner "zhangsan" \
--iteration_name "Sprint 1"
更新需求状态
python scripts/tapd.py update_story_or_task --workspace_id 123 \
--id 1167459320001114969 \
--v_status "实现中"
查询缺陷
python scripts/tapd.py get_bug --workspace_id 123 --title "%登录失败%" --priority_label "高"
创建缺陷
python scripts/tapd.py create_bug --workspace_id 123 \
--title "登录页面显示异常" \
--description "输入正确密码后提示错误" \
--priority_label "高" \
--severity "严重"
迭代管理
# 查询迭代
python scripts/tapd.py get_iterations --workspace_id 123
# 创建迭代
python scripts/tapd.py create_iteration --workspace_id 123 \
--name "Sprint 1" \
--startdate "2024-01-01" \
--enddate "2024-01-14" \
--creator "zhangsan"
工时管理
# 查询工时
python scripts/tapd.py get_timesheets --workspace_id 123 --entity_type story --entity_id 1167459320001114969
# 填写工时
python scripts/tapd.py add_timesheets --workspace_id 123 \
--entity_type story \
--entity_id 1167459320001114969 \
--timespent "4" \
--spentdate "2024-01-08" \
--memo "开发登录功能"
评论管理
# 查询评论
python scripts/tapd.py get_comments --workspace_id 123 \
--entry_type stories \
--entry_id 1167459320001114969
# 创建评论
python scripts/tapd.py create_comments --workspace_id 123 \
--entry_type stories \
--entry_id 1167459320001114969 \
--description "看起来不错,可以继续完善"
关联需求与缺陷
# 查询需求关联的缺陷
python scripts/tapd.py get_related_bugs --workspace_id 123 --story_id 1167459320001114969
# 创建关联
python scripts/tapd.py entity_relations --workspace_id 123 \
--source_type story \
--target_type bug \
--source_id 1167459320001114969 \
--target_id 1167459320001114970
工作流
# 获取状态映射
python scripts/tapd.py get_workflows_status_map --workspace_id 123 --system story
# 获取可流转状态
python scripts/tapd.py get_workflows_all_transitions --workspace_id 123 --system story
常用命令速查
# 需求
python scripts/tapd.py get_stories_or_tasks --workspace_id $WS_ID --entity_type stories
python scripts/tapd.py create_story_or_task --workspace_id $WS_ID --name "标题"
python scripts/tapd.py update_story_or_task --workspace_id $WS_ID --id $ID --v_status "状态"
# 缺陷
python scripts/tapd.py get_bug --workspace_id $WS_ID
python scripts/tapd.py create_bug --workspace_id $WS_ID --title "标题"
# 迭代
python scripts/tapd.py get_iterations --workspace_id $WS_ID
python scripts/tapd.py create_iteration --workspace_id $WS_ID --name "Sprint X" --startdate "2024-01-01" --enddate "2024-01-14"
# 工时
python scripts/tapd.py add_timesheets --workspace_id $WS_ID --entity_type story --entity_id $ID --timespent 4 --spentdate "2024-01-08"
# 评论
python scripts/tapd.py create_comments --workspace_id $WS_ID --entry_type stories --entry_id $ID --description "评论内容"
状态值说明
| 类型 | 字段 | 可用值 |
|---|---|---|
| 需求优先级 | priority_label |
High / Middle / Low / Nice To Have |
| 缺陷优先级 | priority_label |
urgent / high / medium / low / insignificant |
| 缺陷严重程度 | severity |
fatal / serious / normal / prompt / advice |
| 任务状态 | status |
open / progressing / done |
| 迭代状态 | status |
open / done |
Claude 使用方式
当用户需要与 TAPD 交互时:
- 读取脚本:了解命令用法
- 构建命令:根据需求构建参数
- 执行脚本:使用 Bash 工具运行
- 处理结果:解析输出,分析数据
示例工作流:
用户: "查看需求 1167459320001114969 的详情"
Claude:
1. python scripts/tapd.py get_stories_or_tasks --workspace_id 67459320 --entity_type stories --id 1167459320001114969
2. 分析返回的需求信息
图片处理
当获取需求详情时,get_stories_or_tasks 命令会自动解析 description 中的图片并获取下载链接。
返回结果包含 images 字段:
{
"data": [
{
"Story": { "id": "1167459320001114969", "name": "需求标题", ... },
"images": [
{
"path": "/tfl/captures/2026-01/tapd_67459320_base64_1767668922_121.png",
"download_url": "https://file.tapd.cn/attachments/tmp_download/...?salt=...&time=...",
"filename": "tapd_67459320_base64_1767668922_121.png"
}
]
}
]
}
处理步骤:
- 从返回结果中读取
images数组 - 使用
download_url访问或下载图片 - 图片链接有效期约 300 秒
手动获取图片(备用方式):
# 如果需要单独获取某张图片
python scripts/tapd.py get_image --workspace_id 67459320 --image_path "/tfl/captures/2026-01/tapd_xxx.png"
文件结构
scripts/
├── tapd.py # 统一入口脚本(43个子命令)
├── tapd_client.py # TAPD API 客户端
└── requirements.txt- 流狐分类
- 数据
- 作者声明 Agent
- 未找到明确声明;不据此推断已兼容或已测试
- 静态检查
- 88 / 100 · 启发式扫描,不代表运行安全
- 作者 / 版本 / 许可
- @NeverSight · 未声明 license
- 流狐 Token 估算
- 低消耗
- 流狐接入估算
- 需简单配置
- 是否需要外部 API Key
- 需要 · Vendor-specific
- 检测到的系统要求
- 未声明
- 底层运行要求
- Python
- 检测到的文件与系统行为
-
- 只读
- 检测到的网络行为
- 允许外网请求
- 安装命令数
- 无(仅作为资料)
档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。
需要注意: 未限定 allowed-tools,默认拥有全部工具权限。
作者没有在当前 SKILL.md 中定义固定输出样例。 环境配置
使用前需要配置以下环境变量:
使用方式
所有命令默认输出 JSON 格式结果。
命令列表
命令列表
项目与用户
命令 · 说明 getuserparticipantprojects · 获取用户参与的项目列表 getworkspaceinfo · 获取项目信息
需求/任务
命令 · 说明 getstoriesortasks · 查询需求/任务 createstoryortask · 创建需求/任务
缺陷
命令 · 说明 getbug · 查询缺陷 createbug · 创建缺陷
# TAPD Skill
本 skill 提供与 TAPD 平台交互的 Python 脚本工具,统一通过 `tapd.py` 调用。
## 环境配置
使用前需要配置以下环境变量:
```bash
export TAPD_ACCESS_TOKEN="你的个人访问令牌" # 推荐
# 或
export TAPD_API_USER="API账号"
export TAPD_API_PASSWORD="API密钥"
export TAPD_API_BASE_URL="https://api.tapd.cn" # 可选,默认
export TAPD_BASE_URL="https://www.tapd.cn" # 可选,默认
export CURRENT_USER_NICK="你的昵称" # 可选
```
## 使用方式
```bash
python scripts/tapd.py <command> [参数]
```
所有命令默认输出 JSON 格式结果。
## 命令列表
### 项目与用户
| 命令 | 说明 |
|------|------|
| `get_user_participant_projects` | 获取用户参与的项目列表 |
| `get_workspace_info` | 获取项目信息 |
| `get_workitem_types` | 获取需求类别 |
### 需求/任务
| 命令 | 说明 |
|------|------|
| `get_stories_or_tasks` | 查询需求/任务 |
| `create_story_or_task` | 创建需求/任务 |
| `update_story_or_task` | 更新需求/任务 |
| `get_story_or_task_count` | 获取数量 |
| `get_stories_fields_lable` | 字段中英文对照 |
| `get_stories_fields_info` | 字段及候选值 |
### 缺陷
| 命令 | 说明 |
|------|------|
| `get_bug` | 查询缺陷 |
| `create_bug` | 创建缺陷 |
| `update_bug` | 更新缺陷 |
| `get_bug_count` | 获取数量 |
### 迭代
| 命令 | 说明 |
|------|------|
| `get_iterations` | 查询迭代 |
| `create_iteration` | 创建迭代 |
| `update_iteration` | 更新迭代 |
### 评论
| 命令 | 说明 |
|------|------|
| `get_comments` | 查询评论 |
| `create_comments` | 创建评论 |
| `update_comments` | 更新评论 |
### 附件/图片
| 命令 | 说明 |
|------|------|
| `get_entity_attachments` | 获取附件 |
| `get_image` | 获取图片下载链接 |
### 自定义字段
| 命令 | 说明 |
|------|------|
| `get_entity_custom_fields` | 获取自定义字段配置 |
### 工作流
| 命令 | 说明 |
|------|------|
| `get_workflows_status_map` | 状态映射 |
| `get_workflows_all_transitions` | 状态流转 |
| `get_workflows_last_steps` | 结束状态 |
### 测试用例
| 命令 | 说明 |
|------|------|
| `get_tcases` | 查询测试用例 |
| `create_or_update_tcases` | 创建/更新测试用例 |
| `create_tcases_batch` | 批量创建测试用例 |
### Wiki
| 命令 | 说明 |
|------|------|
… 证据边界与执行链路
作者原文负责流程事实;流狐只索引当前章节、要点、文件与命令。
章节 -> 环境配置 → 使用方式 → 命令列表 → 项目与用户 → 需求/任务 → 缺陷
要点 -> 读取脚本 · 构建命令 · 执行脚本 · 处理结果 · 返回结果包含 images 字段 · 处理步骤 · 手动获取图片
文件/命令 -> tapd.py · getuserparticipantprojects · getworkspaceinfo · getworkitemtypes · getstoriesortasks · createstoryortask · updatestoryortask · getstoryortaskcount
内容 SHA-256 -> a7870274e3a8
原文结构
适用与边界
原文中的明确线索
tapd.py、getuserparticipantprojects、getworkspaceinfo、getworkitemtypes、getstoriesortasks、createstoryortask、updatestoryortask、getstoryortaskcount