跳到主要内容

工作流校验

说明​

什么是工作流校验​

工作流校验指的是事项状态流转时触发的校验。

工作流校验脚本​

工作流校验脚本可以在工作流配置的工作流动作中设置:

触发工作流校验脚本​

操作状态流转:

触发工作流校验:

Script Params​

能够在脚本中直接使用以下参数:

名称类型说明
itemItemobject事项信息
itemIdString事项id
itemTypeString事项类型
workspaceString空间id
userUser当前操作用户
userWorkspaceRolesString[]用户空间角色id
userGroupsString[]用户组id

Api Reference​

getItem​

获取卡片信息

参数定义:

名称类型必填说明
itemIdString是事项id

返回:

ItemJSONObject - 事项数据

用法:

const data = await apis.getItem(itemId);
if (data.name !== "事项名称") {
throw new Error("这是一个错误信息");
}

getParentItem​

获取父卡片内容

参数定义:

名称类型必填说明
itemIdString是子事项id

返回:

ItemJSONObject - 事项数据

用法:

const parentData = await apis.getParentItem(itemId);
if (parentData.name !== "事项名称") {
throw new Error("这是一个错误信息");
}

getSubItems​

根据父卡片id获取子卡片列表,如果不存在子卡片则返回空列表

参数定义:

名称类型必填说明
itemIdString是父事项id

返回:

ItemObject[] - 事项数据列表

用法:

const subItems = await apis.getSubItems(itemId);
if (subItems.length <= 0) {
throw new Error("没有子事项");
}

getAllSubItems​

根据父卡片id获取子卡片列表,如果不存在子卡片则返回空列表,这里包含隐藏的子卡片

参数定义:

名称类型必填说明
itemIdString是父事项id

返回:

ItemObject[] - 事项数据列表

用法:

const subItems = await apis.getAllSubItems(itemId);
if (subItems.length <= 0) {
throw new Error("没有子事项");
}

getChildren​

根据父事项id获取第一层子事项列表,如果不存在子事项则返回空列表

返回:

ItemObject[] - 事项数据列表

参数定义:

名称类型必填说明
itemIdString是父事项id

用法:

const subItems = await apis.getChildren(itemId);
if (subItems.length <= 0) {
throw new Error("没有子事项");
}

getLinkItems​

获取卡片的关联卡片

参数定义:

名称类型必填说明
itemIdString是父事项id
isDestinationItemBooleanfalse关联方向,默认false

返回:

LinkItemResult - 关联事项数据

用法:

const linkItems = await apis.getLinkItems(itemId);
if (linkItems.length <= 0) {
throw new Error("没有关联的事项");
}

getItemType​

获取卡片类型数据

参数定义:

名称类型必填说明
itemIdString是父事项id

返回:

ItemTypeObject - 事项类型数据

用法:

const itemTypeData = await apis.getItemType(itemId);
if (itemTypeData.key !== "story") {
throw new Error("不是story");
}

requestCoreApi​

对外提供直接调用 core 接口能力,对外暴露 GET/POST/PUT/PATCH 方法

参数定义:

名称类型必填说明
methodString是GET/POST/PUT/PATCH
urlString是请求的url
dataObject否请求的数据

用法:

const result = await apis.requestCoreApi(
"POST",
"/parse/api/search/structure",
data,
);
console.log(result);