如何为WSO2 API Manager 4.1的指定网关配置部署审批流程?
针对WSO2 API Manager 4.1区分网关配置部署审批的实现方案
可以实现区分网关单独配置审批流程,具体通过自定义工作流扩展+环境属性标识来完成,步骤如下:
给内外网关对应的环境添加标识属性
在APIM管理控制台的环境管理模块中,为内部网关所属环境(如Internal)和外部网关所属环境(如External)分别添加自定义属性:- 外部网关环境:添加
requires_approval=true - 内部网关环境:添加
requires_approval=false
- 外部网关环境:添加
自定义部署工作流执行器
基于APIM默认的APIDeploymentWorkflowExecutor扩展实现自定义工作流:- 在工作流逻辑中,获取当前部署请求的目标环境属性;
- 判断
requires_approval的值:- 若为
true(外部网关),则触发预设的审批流程(如人工角色审批); - 若为
false(内部网关),则直接跳过审批环节,自动完成部署操作。
- 若为
- 将自定义工作流类打包为JAR,部署到APIM的
repository/components/lib目录下。
配置并启用自定义工作流
在APIM的repository/conf/deployment.toml中配置自定义工作流,替换默认的API部署工作流:[[workflow.executors]] name = "CustomAPIDeploymentWorkflowExecutor" type = "APIDeployment" class = "com.yourorg.workflow.CustomAPIDeploymentWorkflowExecutor"配置审批流程细节
针对外部网关的审批需求,在工作流配置中指定审批角色或用户,比如设置需要API管理员角色审批后才能完成部署。
注意事项:
- 自定义工作流需严格遵循WSO2 APIM 4.1的工作流扩展规范,避免版本兼容问题;
- 部署后需分别测试内部、外部网关的API部署操作,验证审批逻辑是否生效。
内容的提问来源于stack exchange,提问作者Kenneth Andersen
相关产品推荐
相关产品推荐

