工作流校验
说明
什么是工作流校验
工作流校验指的是事项状态流转时触发的校验。
工作流校验脚本
工作流校验脚本可以在工作流配置的工作流动作中设置:

触发工作流校验脚本
操作状态流转:

触发工作流校验:

Script Params
能够在脚本中直接使用以下参数:
| 名称 | 类型 | 说明 |
|---|---|---|
| item | Itemobject | 事项信息 |
| itemId | String | 事项id |
| itemType | String | 事项类型 |
| workspace | String | 空间id |
| user | User | 当前操作用户 |
| userWorkspaceRoles | String[] | 用户空间角色id |
| userGroups | String[] | 用户组id |
Api Reference
getItem
获取卡片信息
参数定义:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| itemId | String | 是 | 事项id |
返回:
ItemJSONObject - 事项数据
用法:
const data = await apis.getItem(itemId);
if (data.name !== "事项名称") {
throw new Error("这是一个错误信息");
}
getParentItem
获取父卡片内容
参数定义:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| itemId | String | 是 | 子事项id |
返回:
ItemJSONObject - 事项数据
用法:
const parentData = await apis.getParentItem(itemId);
if (parentData.name !== "事项名称") {
throw new Error("这是一个错误信息");
}
getSubItems
根据父卡片id获取子卡片列表,如果不存在子卡片则返回空列表
参数定义:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| itemId | String | 是 | 父事项id |
返回:
ItemObject[] - 事项数据列表
用法:
const subItems = await apis.getSubItems(itemId);
if (subItems.length <= 0) {
throw new Error("没有子事项");
}
getAllSubItems
根据父卡片id获取子卡片列表,如果不存在子卡片则返回空列表,这里包含隐藏的子卡片
参数定义:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| itemId | String | 是 | 父事项id |
返回:
ItemObject[] - 事项数据列表
用法:
const subItems = await apis.getAllSubItems(itemId);
if (subItems.length <= 0) {
throw new Error("没有子事项");
}
getChildren
根据父事项id获取第一层子事项列表,如果不存在子事项则返回空列表
返回:
ItemObject[] - 事项数据列表
参数定义:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| itemId | String | 是 | 父事项id |
用法:
const subItems = await apis.getChildren(itemId);
if (subItems.length <= 0) {
throw new Error("没有子事项");
}
getLinkItems
获取卡片的关联卡片
参数定义:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| itemId | String | 是 | 父事项id |
| isDestinationItem | Boolean | false | 关联方向,默认false |
返回:
LinkItemResult - 关联事项数据
用法:
const linkItems = await apis.getLinkItems(itemId);
if (linkItems.length <= 0) {
throw new Error("没有关联的事项");
}
getItemType
获取卡片类型数据
参数定义:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| itemId | String | 是 | 父事项id |
返回:
ItemTypeObject - 事项类型数据
用法:
const itemTypeData = await apis.getItemType(itemId);
if (itemTypeData.key !== "story") {
throw new Error("不是story");
}
requestCoreApi
对外提供直接调用 core 接口能力,对外暴露 GET/POST/PUT/PATCH 方法
参数定义:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| method | String | 是 | GET/POST/PUT/PATCH |
| url | String | 是 | 请求的url |
| data | Object | 否 | 请求的数据 |
用法:
const result = await apis.requestCoreApi(
"POST",
"/parse/api/search/structure",
data,
);
console.log(result);