zentao-api
Classes
| Class | Description |
|---|---|
| ZentaoClient | 禅道 API 客户端,封装一次次原始 HTTP 调用。 |
| ZentaoError | SDK 统一错误类型。 |
Interfaces
| Interface | Description |
|---|---|
| ApiListResponse | 禅道 API 列表响应结构。 |
| ApiResponse | 禅道 API 通用响应结构,允许携带任意业务字段。 |
| ClientRequestOptions | ZentaoClient.request() 的单次请求选项。 |
| DataRecordFilter | 单条过滤条件,字段名支持 . 访问子字段。 |
| DataRecordFilterGroup | 一组过滤条件,组内按 operator 组合;多组之间按 AND 组合。 |
| DefineModulesOptions | defineModules 的选项。 |
| ExportRegistryOptions | exportRegistry 的选项。 |
| FileCreateResult | request("file/create") 归一化后的结果。 |
| FileUploadDataInput | 内存数据形式的上传输入。 |
| FileUploadPathInput | Node.js/Bun 本地文件路径形式的上传输入。 |
| FromProfileOptions | 从本地 profile 恢复客户端时的选项。 |
| GetZentaoConfigOptions | ZentaoClient.getZentaoConfig 的选项。 |
| GlobalOptions | SDK 进程级全局默认选项,供高阶 request 调用复用。 |
| LoginResponse | 登录接口响应结构。 |
| ModuleAction | 禅道模块中的单个 API 动作定义。 |
| ModuleActionPagerGetterMap | 从原始响应中提取分页字段时使用的字段映射,值为原始响应中的字段路径(支持 a.b 嵌套)。 |
| ModuleActionParam | 模块动作的查询参数定义。 |
| ModuleActionRequest | 将模块动作和参数解析后的可执行请求描述。 |
| ModuleActionRequestBody | 模块动作请求体定义。 |
| ModuleActionResponse | 模块动作响应定义。 |
| ModuleDefinition | 禅道模块定义,由多个动作组成。 |
| ModuleQueryOptions | 注册库查询选项;不传版本时返回完整的当前定义,不使用全局版本。 |
| Pager | 禅道 API 原始分页结构。 |
| ProcessListOptions | processData 处理列表时的选项;执行顺序为 转换 → 过滤 → 搜索 → 排序 → 限制数量 → 摘取。 |
| ProcessSingleOptions | processData 处理单条对象时的选项;执行顺序为 转换 → 摘取。 |
| RequestOptions | 高阶 request("moduleName") / request("moduleName/methodName") / request("moduleName/<objectID>") 的单次调用选项。 |
| ResponseData | 高阶 request() 归一化后的返回数据。 |
| ServerConfig | 禅道 ?mode=getconfig 返回的服务端配置。 |
| ZentaoClientOptions | 创建 ZentaoClient 时使用的配置。 |
| ZentaoProfile | 本地持久化的禅道账号 profile。 |
| ZentaoProfileConfig | 保存到本地 profile 中的客户端偏好配置。 SDK 自动恢复 timeout / insecure;其余字段仅供上层应用读取和解释。 自定义值应使用 JSON 数据,不保留 Date、Map 等类型信息,不支持 BigInt 或循环对象。 |
| ZentaoProfileRecord | 运行时返回的 profile,会额外带上 account@server 形式的 key。 |
| ZentaoProfilesStore | 本地 profile 存储文件或浏览器 localStorage 中的 JSON 结构。 |
Type Aliases
| Type Alias | Description |
|---|---|
| BuiltinRequestName | 内置模块支持的请求名:module、module/action 或 module/123。 |
| ClientRequestBodyType | 请求体序列化方式。 |
| ClientResponseType | 响应体解析方式。 |
| DataRecord | 本地数据处理的基础记录类型,对应一条对象数据。 |
| ErrorCode | SDK 已知错误码,对应 ERRORS 的 key。 |
| ExportedModuleAction | 导出的模块动作定义。 |
| ExportedModuleDefinition | 导出的模块定义。 |
| FileCreateParams | request("file/create") 的参数。 |
| FileUploadSource | 高阶 request() 可接受的文件输入。 |
| HttpMethod | SDK 支持的 HTTP 方法。 |
| ListPagerInfo | 列表分页信息别名。 |
| ModuleActionBeforeRequestCallback | 请求发送前的回调,在版本检查、autoFill 和参数解析完成后、请求体准备前调用。 可直接修改本次请求,或返回 path、query、data、params、id 的部分字段作为补丁。 返回值浅合并到解析后的请求描述中,同名字段以返回值为准;对象字段整体替换。 合并后的请求用于请求体准备、请求发送和响应处理,不会重新执行版本检查、autoFill 或参数解析。 回调抛出或拒绝时终止本次请求,错误原样传递。 |
| ModuleActionGetterFn | 从原始响应中提取数据时使用的函数形态。 |
| ModuleActionMethod | 模块动作使用的 HTTP 方法;兼容生成定义中的小写方法。 |
| ModuleActionName | 模块动作名称,允许除基础动作外的自定义名称。 |
| ModuleActionParamOption | 模块动作参数可选项。 |
| ModuleActionParamRole | 模块动作参数角色。 |
| ModuleActionRequestCallback | 自定义动作的请求发送逻辑,在版本检查、参数解析和请求体准备完成后调用。 返回原始响应数据,后续仍按动作定义提取结果、分页并应用请求选项;抛出的错误原样传递。 |
| ModuleActionRequestMediaType | 高阶请求支持的请求体媒体类型。 |
| ModuleActionResultFieldMap | 从原始响应中重映射业务数据字段的映射表。 键为输出字段名,值为原始响应中的字段路径(支持 a.b 嵌套)。 |
| ModuleActionResultType | 模块动作结果形态。 |
| ModuleActionType | 模块动作类型:基础 CRUD 或自定义动作。 |
| ModuleName | 内置模块名称,同时允许用户扩展自定义模块名。 |
| RequestParamsFor | 根据内置请求名推导出的参数类型。字段细节以运行时 registry 为准,这里保持可扩展。 |
| RequestProcessOptions | - |
| RequestResultFor | 根据内置请求名推导出的 ResponseData.data 类型。 |
| SortExpr | 排序表达式;推荐 `字段:asc |
| SortFn | 自定义排序比较函数。 |
Variables
| Variable | Description |
|---|---|
| BUILD | 构建标识,由构建脚本通过 __ZENTAO_API_BUILD__ 注入。 |
| ERRORS | SDK 已知错误码到默认消息的映射表。 |
| VERSION | SDK 版本号,由构建脚本通过 __ZENTAO_API_VERSION__ 注入。 |
| ZENTAO_PROFILES_STORAGE_KEY | 浏览器环境下用于在 localStorage 中保存 profile 数据的 key。 |
Functions
| Function | Description |
|---|---|
| addProfile | 添加或覆盖一个本地 profile,并把它设置为当前使用的 profile。 |
| defineModuleActions | 为已存在的模块追加或覆盖动作。 |
| defineModules | 注册或扩展模块定义。 |
| deleteProfile | 删除指定 profile。 |
| exportRegistry | 导出注册表。 |
| extendModuleAction | 扩展已存在的模块动作。 |
| filterData | 按条件组过滤列表,多组之间按 AND 组合。 |
| getAllProfiles | 列出本地保存的所有 profile。 |
| getGlobalOptions | 获取当前全局选项的快照。 |
| getModule | 获取模块定义。 |
| getModuleAction | 获取指定模块下的某个动作。 |
| getModuleActionParams | 获取指定模块下的某个动作的参数。 |
| getModuleNames | 返回当前运行时注册表中的所有模块名。 |
| getObjectProps | 获取对象属性。 |
| getProfile | 获取指定 profile。 |
| getProfileKey | 根据 profile 的账号和禅道站点地址生成稳定 key。 |
| isModuleName | 判断模块名是否已注册。 |
| pickFields | 对列表中的每条对象摘取指定字段。 |
| pickFieldsSingle | 从单条对象中摘取指定字段,支持通过 . 访问子字段,保留嵌套结构。 |
| processData | 处理单条对象:按 转换 → 摘取 的顺序执行。 |
| request | 按模块名或模块动作名请求禅道 API。 |
| searchData | 对列表做大小写不敏感的模糊匹配。 |
| setGlobalOptions | 以浅合并的方式更新全局选项。 |
| sortData | 对列表排序,返回新数组(不修改入参)。 |
| switchProfile | 切换当前使用的 profile,并刷新其 lastUsedTime。 |