Token导航 LogoToken导航TokenDH.com
效率需要联网clawhub未标认证来源可访问clear审计提醒

zentao-apizentao API 测试

Agent Skill

用于辅助 API 设计、接口文档、请求响应结构和服务集成说明。它适合让 Agent 梳理 endpoint、生成 OpenAPI 草稿、检查字段命名、整理错误码或辅助前后端联调。使用时需要确认真实业务语义、鉴权方式、分页和错误处理规则;涉及生成接口文档时,应避免凭空补字段,最好从现有代码、schema 或接口样例中提取事实。

总安装

17,572

周安装

704

GitHub Stars

1

下载量

5,688
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:zentao-api(zentao API 测试)
来源仓库:https://github.com/catouse/zentao-api
安装命令:
openclaw skills install zentao-api
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install zentao-api

简介

禅道项目管理RESTful API集成工具,覆盖20个业务模块。

  • 支持项目集、Bug、任务、测试用例等全生命周期操作。
  • 提供增删改查与状态流转接口调用示例与错误码说明。zentao-api 属于效率类 Skill,可作为该场景下的辅助能力补充。
  • 触发于用户提及“禅道”“查询进度”等项目管理指令。
  • 调用前需配置有效API密钥与项目ID确保鉴权成功。

SKILL.md

name
zentao-api
description
调用禅道(ZenTao)RESTful API v2.0 完成用户请求,覆盖项目集、产品、项目、执行、需求(Story/Epic/Requirement)、Bug、任务、测试用例、测试单、产品计划、版本、发布、反馈、工单、应用、用户、文件等 20 个模块的增删改查及状态流转操作。当用户提到禅道、zentao、查询项目进展、获取 Bug 列表、更新需求状态、创建任务等项目管理相关操作时使用本技能。
metadata
author
Sun Hao <sunhao@chandao.com>
repository
https://github.com/easysoft/zentao-skills.git
keywords
[zentao, 禅道, api, project-management]
version
1.0.4

禅道 API v2.0

配置

优先级从高到低:

变量说明
ZENTAO_URL服务器地址,如 http://zentao.example.com
ZENTAO_TOKEN直接指定 token,跳过登录和缓存(最高优先级),仍需提供服务器地址
ZENTAO_ACCOUNT登录账号,有 token 时可选,但提供可更好回答与当前用户相关的问题
ZENTAO_PASSWORD登录密码,有 token 时无需提供

首次登录后 ZENTAO_URLZENTAO_TOKENZENTAO_ACCOUNT 写入 ~/.zentao-token.json,后续无需重复设置

若必要变量缺失,提示用户并给出 export 命令。用户直接提供服务器、账号和密码时直接使用,同时告知尽量设为环境变量。

认证流程

所有业务 API 需在 Header 携带 token。运行 scripts/get-token.sh 自动获取:

eval "$(bash scripts/get-token.sh)"
# 执行后可直接使用 $ZENTAO_URL、$ZENTAO_TOKEN、$ZENTAO_ACCOUNT

脚本依赖:curlnode

后续所有请求 Header 携带:token: $ZENTAO_TOKEN

执行 API 调用的步骤

  1. 运行 eval "$(bash scripts/get-token.sh)" 获取凭证(自动处理缓存;仍缺失时提示用户)
  2. 根据用户意图选择正确的 API 端点(参见 api-reference.md
  3. 若为 PUT 编辑操作且用户未提供全部必填字段,先调用对应 GET 详情接口取回当前数据,再将用户指定的字段覆盖进去
  4. 构造请求(方法、URL、Header、Body)并向用户确认写操作内容
  5. 执行请求,解析响应
  6. 以清晰易读的格式向用户展示结果

模块总览

API 基础路径:$ZENTAO_URL/api.php/v2

模块资源路径支持操作
项目集 Program/programsCRUD + 关联产品/项目列表
产品 Product/productsCRUD + 关联需求/Bug/用例/计划/发布/反馈/工单/测试单/应用
项目 Project/projectsCUD + 关联执行/需求/Bug/用例/版本/测试单
执行 Execution/executionsCRUD + 关联需求/任务/Bug/用例/版本/测试单
需求 Story/storiesCRUD + change/close/activate
业务需求 Epic/epicsCRUD + change/close/activate
用户需求 Requirement/requirementsCRUD + change/close/activate
Bug/bugsCRUD + resolve/close/activate
任务 Task/tasksCRUD + start/finish/close/activate
测试用例 Testcase/testcasesCRUD
产品计划 Productplan/productplansCUD + 按产品查列表
版本 Build/buildsCUD + 按项目/执行查列表
发布 Release/releasesCUD + 按产品查列表
测试单 Testtask/testtasksCUD + 按产品/项目/执行查列表
反馈 Feedback/feedbacksCRUD + close/activate
工单 Ticket/ticketsCRUD + close/activate
应用 System/systemsCU + 按产品查列表
用户 User/usersCRUD
文件 File/files编辑名称 + 删除
CRUD = 创建(POST) + 读取(GET) + 更新(PUT) + 删除(DELETE);CUD = 无独立全局列表接口

分页与筛选

所有列表接口支持统一的查询参数:

参数说明
browseTypestatus筛选状态,如 all, doing, unclosed, undone 等(不同模块参数名和可选值不同,详见 api-reference.md
orderBy排序,格式 字段_asc字段_desc,如 id_desc, title_asc
recPerPage每页数量,最大 1000
pageID页码,从 1 开始

筛选参数名不一致:Program 列表、Execution 全局列表、Task 列表用 status,其余用 browseType

常用操作示例

获取进行中的项目及其执行

curl -s "$ZENTAO_URL/api.php/v2/projects?browseType=doing&recPerPage=100" -H "token: $ZENTAO_TOKEN"
curl -s "$ZENTAO_URL/api.php/v2/projects/{projectID}/executions?browseType=doing" -H "token: $ZENTAO_TOKEN"

创建需求(必填:productID, title)

curl -s -X POST "$ZENTAO_URL/api.php/v2/stories" \
  -H "token: $ZENTAO_TOKEN" -H "Content-Type: application/json" \
  -d '{"productID": 1, "title": "需求标题", "grade": 1, "pri": 3, "assignedTo": "admin", "spec": "需求描述"}'

创建业务需求(Epic)

curl -s -X POST "$ZENTAO_URL/api.php/v2/epics" \
  -H "token: $ZENTAO_TOKEN" -H "Content-Type: application/json" \
  -d '{"productID": 1, "title": "业务需求标题", "grade": 1, "pri": 3, "reviewer": ["admin"]}'

创建用户需求(Requirement)

curl -s -X POST "$ZENTAO_URL/api.php/v2/requirements" \
  -H "token: $ZENTAO_TOKEN" -H "Content-Type: application/json" \
  -d '{"productID": 1, "title": "用户需求标题", "parent": 1001, "grade": 1, "pri": 3, "reviewer": ["admin"]}'

创建 Bug(必填:productID, title, openedBuild)

curl -s -X POST "$ZENTAO_URL/api.php/v2/bugs" \
  -H "token: $ZENTAO_TOKEN" -H "Content-Type: application/json" \
  -d '{"productID": 1, "title": "Bug标题", "openedBuild": ["trunk"], "severity": 2, "type": "codeerror"}'

解决 Bug(必填:resolution)

curl -s -X PUT "$ZENTAO_URL/api.php/v2/bugs/{bugID}/resolve" \
  -H "token: $ZENTAO_TOKEN" -H "Content-Type: application/json" \
  -d '{"resolution": "fixed"}'

创建任务(必填:name, executionID)

curl -s -X POST "$ZENTAO_URL/api.php/v2/tasks" \
  -H "token: $ZENTAO_TOKEN" -H "Content-Type: application/json" \
  -d '{"executionID": 1, "name": "任务名", "type": "devel", "assignedTo": "admin", "estimate": 4}'

完成任务(必填:currentConsumed, realStarted, finishedDate)

curl -s -X PUT "$ZENTAO_URL/api.php/v2/tasks/{taskID}/finish" \
  -H "token: $ZENTAO_TOKEN" -H "Content-Type: application/json" \
  -d '{"currentConsumed": 4, "realStarted": "2026-03-25", "finishedDate": "2026-03-25"}'

关闭需求(必填:closedReason)

curl -s -X PUT "$ZENTAO_URL/api.php/v2/stories/{storyID}/close" \
  -H "token: $ZENTAO_TOKEN" -H "Content-Type: application/json" \
  -d '{"closedReason": "done"}'

常用枚举值速查

字段可选值
项目模式 modelscrum, waterfall, kanban, agileplus, waterfallplus
Bug 类型 typecodeerror, config, install, security, performance, standard, automation, designdefect, others
Bug 解决方案 resolutionfixed, notrepro, bydesign, duplicate, external, postponed, willnotfix, tostory
需求关闭原因 closedReasondone, subdivided, duplicate, postponed, willnotdo, cancel, bydesign
需求来源 sourcecustomer, user, po, market, service, operation, support, competitor, partner, dev, tester, bug, forum, other
需求类别 categoryfeature, interface, performance, safe, experience, improve, other
用例类型 typeunit, interface, feature, install, config, performance, security, other
测试单类型 typeintegrate, system, acceptance, performance, safety
发布状态 statuswait, normal, fail, terminate
反馈关闭原因 closedReasoncommented, repeat, refuse
工单类型 typecode, data, stuck, security, affair
产品类型 typenormal, branch, platform
产品访问控制 aclopen, private
执行类型 lifetimeshort, long, ops

意图识别规则

用户意图关键词对应操作
进行中的执行/迭代/SprintGET /projects?browseType=doing → GET /projects/{id}/executions
获取所有产品/项目/项目集GET /products, /projects, /programs
某产品/项目/执行的 BugGET /products/{id}/bugs, /projects/{id}/bugs, /executions/{id}/bugs
创建/新增 BugPOST /bugs(必填:productID, title, openedBuild)
更新/修改 BugPUT /bugs/{id}
解决 BugPUT /bugs/{id}/resolve(必填:resolution)
关闭 BugPUT /bugs/{id}/close
激活 BugPUT /bugs/{id}/activate
创建需求POST /stories(必填:productID, title)
关闭/激活/变更需求PUT /stories/{id}/close, /activate, /change
业务需求/epics(同 stories 结构)
用户需求/requirements(同 stories 结构)
创建任务POST /tasks(必填:name, executionID)
启动任务PUT /tasks/{id}/start(必填:realStarted)
完成任务PUT /tasks/{id}/finish(必填:currentConsumed, realStarted, finishedDate)
关闭任务PUT /tasks/{id}/close
测试用例/testcases(CRUD)
测试单/testtasks(CUD + 按产品/项目/执行查列表)
产品计划/productplans(CUD + 按产品查列表)
版本/Build/builds(CUD + 按项目/执行查列表)
发布/releases(CUD + 按产品查列表)
反馈/feedbacks(CRUD + close/activate)
工单/tickets(CRUD + close/activate)
应用/系统/systems(CU + 按产品查列表)
获取用户列表GET /users

注意事项

  • URL 中的 {id} 需替换为实际 ID;不知道 ID 时先调列表接口获取
  • 创建 Epic / Requirement / Story 时,建议始终显式传 grade,不要依赖接口默认值。 已有用户反馈某些禅道实例在未传 grade 时会把需求层级写成 0,导致界面中 BR / UR / SR 标签显示异常。
  • PUT 编辑接口:先 GET 详情获取当前完整数据,再将用户修改的字段覆盖进去一并提交
  • 状态流转操作 (resolve/close/activate/start/finish/change) 通常有独立的必填字段,不需要先 GET 详情
  • 写操作前向用户确认,用户明确要求不确认则直接执行
  • 401 响应表示 token 已失效,执行 rm ~/.zentao-token.json 清除缓存后重新运行
  • 字段名不一致注意:POST builds 用 executionID,PUT builds 用 execution;PUT testcases 的模块字段为 moudule(规范中的拼写)

完整 API 参考

详细的端点列表、必填/可选字段、枚举值和查询参数见 api-reference.md

备用资源

  • 禅道 API 2.0 官方文档:https://www.zentao.net/book/api/2309.html
  • 1.0 API 文档(备用):https://www.zentao.net/book/api/1397.html

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

95.18%
按下载量换算5,414

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills