Contents
- 1. 场景描述
- 2. 解决方案
- 2.1 更改继承的接口:ChangeInhertiance
- 2.2 获取区域路径的接口:ClassificationNodes
1. 场景描述
客户使用工作项模板,定制了一个设计变更流程,需要在不同的阶段(流程状态)控制工作项的更改权限。我们知道,在Azure DevOps Server中,控制工作项权限的唯一功能是区域路径,因此需要利用区域路径来动态配置人员权限。
我们采取的方案是,用户发起一个新的变更流程时,系统自动创建一个对应的区域路径,例如新增的区域路径是“团队项目名称/设计变更/1001”,并且将新的工作项设置为这个区域路径;同时,根据业务逻辑,当工作项状态变化(流程前进或倒退)时,系统自动配置不同人员对这个区域路径的权限。例如流程为“新建 > 核查 > 审核 > 关闭”,当状况为核查时,系统配置核查人员的权限;当状况为审核时,系统在区域路径中配置审核人员的权限。
按照上面的方案,我们需求自动创建对应的区域路径,并且需要取消新建区域路径的继承权限,否则就无法实现权限与状态一致的目标。
由于设置区域路径继承权限的方法比较特殊,本文专门在下面的方案中做一个说明。
2. 解决方案
2.1 更改继承的接口:ChangeInhertiance
- 接口名称
- POST http://server/collec