在添加定义时启动工作流
您可以配置工作流定义,以便在将属性添加到Collibra平台中的资产时启动工作流。新万博移动客户端
只有在工作流启动后,才能通过脚本任务进一步细化筛选。属性类型的UUID (universal unique identifier, UUID)与启动工作流的属性类型的UUID进行比较定义属性类型。您可以调整该场景以满足您的需求。
要获得启动工作流的属性的UUID,请使用Java Workflows API的一个方法事件豆:event.getEventResourceId ()
在向资产添加新属性时启动工作流可能会影响环境的性能,例如当您导入大量资源时。狗万新闻c即使您将筛选细化到非常特殊的情况,工作流仍然需要为添加到资产中的每个新属性启动,以便能够执行脚本任务。
示例工作流
你可以下载DefinitionAdded示例工作流并将其作为您自己工作流程的起点。
属性是否为定义,并将任务分配给具有属性的用户系统管理员的角色。如果属性不是定义,则工作流结束。
启动事件表单有两个字符串
可以从Collibra平台工作流定义页面更改的流程变量:新万博移动客户端
- 的打包UUID定义属性类型:
- Id:definitionId
- 默认的:00000000-0000-0000-0000-000000000202
- 一个候选用户表达式对于具有系统管理员的角色。这个变量只在下面这个例子中使用:
- Id:adminUserExpression
- 默认的:角色(系统管理员)
Groovy脚本任务执行如下操作:
- 将启动工作流的属性的UUID分配给attributeId变量。
- 创建一个属性对象,该对象对应于启动工作流的属性。
- 属性类型的UUID并将值赋给attributeTypeId变量。
- 属性的资产的名称,并将该值赋给assetName过程变量。
- 方法获取定义的内容并将值赋给definitionText过程变量。
- 属性类型的UUID与属性类型设置的UUID进行比较definitionId过程变量:
- 如果匹配,则值
真正的
分配给isDefinition过程变量。 - 如果不是,则值
假
分配给isDefinition过程变量。
- 如果匹配,则值
import com.新万博移动客户端collibra.dgc.core.api.model.instance.attribute.Attribute def attributeId = event.getEventResourceId() Attribute Attribute = attribute茶壶. getattribute (attributeId) def attributeTypeId = Attribute . gettype (). getid () def assetName = Attribute . getasset (). getname () def definitionText = Attribute . getvalueasstring()执行。setVariable("definitionText", definitionText)执行。setVariable("assetName", assetName) if (attributeTypeId == string2Uuid(definitionId)){执行。setVariable("isDefinition", true)} else{执行。setVariable("isDefinition", false)}
时,独占网关将停止工作流isDefinition过程变量为假
.当isDefinition是真正的
,工作流程继续:
- 在此示例工作流中,具有系统管理员角色接收一个任务,该任务通知他们已将定义添加到资产,包括资产的名称和定义的内容。