概述
在安恒云中,您可以通过编排自定义工单实现您的业务流程。以工单作为驱动,实现IT资源的生命周期管理,例如:通过工单流程申请开通云主机,通过工单流程申请销毁云主机等。
选择“工单中心/工单流程定义”,进入到工单定义管理界面。
一、创建工单流程
在用户使用工单前,管理员需要先创建工单流程,来实现不同业务类型的工单按照规划的流程进行流转。
1.1、创建运营工单流程
创建工单流程包括:创建工单流程、流程编排和发布流程,点击<新建工单流程>。
您可以选择创建团队内部的工单流程或根据运营工单模板来创建运营工单流程。
-
团队内部工单流程是指工单仅在团队内部流转,您需要选择工单流程的业务类型,并依据于业务场景定义好流程节点(推荐使用)。
-
运营工单流程是指工单在团队和运营中心之间流转,请确保运营中心已经发布了相应的模板,并依据于业务场景定义好团队内部的流程节点。
1.2、选择工单业务类型
服务申请工单
服务申请工单用来解决团队内部之间申请某些通用的资源或服务,可通过指定不同的服务内容进行业务场景的细分。事实上,由于该流程过于通用,导致其往往用于Demo的目的。该流程支持多节点审批。
选择是否允许审批者通过验证码完成审批行为,填写服务内容(服务内容将出现在发起工单的表单中,支持超链接语法)。
主机登录审批工单
主机登录审批需要和运维策略配合使用,在运维策略中配置主机登录是否需要审批,一旦设置需要审批,则通过此工单流程设置审批人员。该流程支持多节点审批。
选择是否允许审批者通过验证码完成审批行为,设置超时时间。
主机指令审批工单
主机指令审批需要和运维策略配合使用,在运维策略中配置指令黑名单,一旦用户执行的指令触发指令审批,则通过此工单流程设置审批人员。该流程支持多节点审批。
选择是否允许审批者通过验证码完成审批行为,设置超时时间。
主机申请工单
主机申请工单是指团队成员在申请主机时可设置相关的审批流程,该流程支持多节点审批。
主机变配工单
主机变配工单是指团队成员在申请主机变配时可设置相关的审批流程,该流程支持多节点审批。
选择是否允许审批者通过验证码完成审批行为,设置超时时间。
脚本执行审批工单
脚本执行审批需要和运维策略配合使用,在运维策略中配置主机在作业中心中执行脚本是否需要审批,一旦设置需要审批,则通过此工单流程设置审批人员。该流程支持多节点审批。
选择是否允许审批者通过验证码完成审批行为,设置超时时间。
文件传输审批工单
文件传输审批需要和运维策略配合使用,在运维策略中配置“本地与主机(含主机网盘)文件传输审批”,一旦用户上传本地文件或下载文件至本地则会关联该工单并且需要审批。
选择是否允许审批者通过验证码完成审批行为,设置超时时间以及文件清理时间。
客服工单(私有部署管理控制台)
客服工单由管理控制台的运营中心进行发布。工单发起者可以与运营中心的工单处理人进行业务沟通。工单被处理后,工单提交人在超时时间内始终未发送消息,工单将由系统自动关闭。
1.3、填写流程名称和流程说明(选填)。
1.4、创建完成。
二、流程编排
工单流程创建成功后,在发布工单流程之前需要对工单节点信息进行编排,从而指定业务处理流程。
在工单中点击<流程编排>进入流程编排界面。
整个流程包含发起节点、结束节点以及审批节点(非必须),每个节点都必须在参与成员里添加成员(成员、角色或部门)。
2.1、配置“流程编排-发起节点”
在“参与成员”里选择哪些用户可以发起该工单申请。
2.2、配置“流程编排-结束节点”
在“参与成员”里选择哪些用户进行最终工单审批。
2.3、配置“流程编排-普通审批节点”
流程编排中可以有多个审批节点。
2.4、配置“流程编排-分支审批节点”
-
一个工单流程允许创建多个分支节点,但分支节点子节点不允许再次创建分支节点。
-
一个节点成为分支节点的前提是:其上级节点必须为单一节点(也就是上下级不能同时为分支节点,得至少相隔一个节点)。
- 所有的流程分支都必须拥有一个默认的节点,我们会将当前的审批节点作为默认节点。
2.5、配置“流程编排-分支节点-默认条件”
所有的分支流程都必须拥有一个默认条件的节点,当没达到分支条件时就会用到默认条件的审批节点进行审批。
2.6、配置“流程编排-分支节点-多分支”
在分支节点里还能横向增加分支节点。
2.7、配置“流程编排-分支节点-子节点”
分支节点里可以添加多个子审批节点进行进一步审批。
三、流程编排-分支节点条件使用说明
分支节点条件支持Ognl语法,必须是返回值为布尔值的表达式,具体可以参考Ognl的语法官方指引,以及安恒云提供的Ongl简介,以下是文件传输审批一些条件示例。
(1)文件个数超过10个
#fileItems.size()>10
(2)文件总大小超过10Mb
sumOf(#fileItems.{#this.fileSize})>10*1024*1024
(3)文件列表中最大文件大小超过1Mb
maxOf(#fileItems.{#this.fileSize})>1024*1024
(4)文件列表中包含.txt结尾的文件
#fileItems.{? #this.fileName.endsWith('.txt')}.size()>0
(5)文件列表中包含.txt或者.pdf文件
#fileItems.{? fName=#this.fileName,fName.endsWith('.txt') || fName.endsWith('.pdf1')}.size()>0
或者用以下方式,其中,filterInFormats是定义在WorkflowFunction中的函数,这个函数可以处理大小写,比如fileName='abc.Txt’也能被检测到:
filterInFormats(#fileItems.{#this.fileName},{'.txt','.pdf'}).size()>0
(6)文件列表中包含.txt文件
filterInFormat(#fileItems.{#this.fileName},'.txt').size()>0
(7)文件列表中全部是.txt文件
filterInFormat(#fileItems.{#this.fileName},'.txt').size()==#fileItems.size()
(8)文件列表中全部是txt 或者pdf文件
filterInFormats(#fileItems.{#this.fileName},{'.txt','.pdf'}).size()==#fileItems.size()
四、发布工单流程
对工单流程按业务需要进行编排后,需要进行发布,从而允许团队成员使用工单流程进行业务申请。点击发布流程可以完成工单发布。
已发布的流程可以进行查看,点击<下架流程>才能进行流程编排(如果已经关联了运维策略或云账户策略,需要先在运维策略或云账户策略里取消关联)。
工单流程编排并发布后,即可供团队成员使用。(参考:使用工单流程)