工作流校验
说明
什么是工作流校验
工作流校验指的是事项状态流转时触发的校验。
工作流校验脚本
工作流校验脚本可以在工作流配置的工作流动作中设置:
触发工作流校验脚本
操作状态流转:
触发工作流校验:
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)