Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020
规划并跟踪项目时,请考虑配置功能或自定义体验,以符合团队的跟踪要求。 自定义影响所有团队的项目的方法取决于你使用的进程模型。
本文概述了可用的自定义项,以及这些自定义在三个流程模型中的不同程度。 有关支持业务决策的自定义的具体指南,请参阅 “配置和自定义 Azure Boards”。 有关详细信息,请参阅 什么是 Azure Boards? 以及 关于工作项。
理解自定义级别
可以在以下级别自定义工作跟踪:
- 项目级共享资源:定义团队选择配置积压工作和板的区域和迭代路径。 共享查询和工作项标记是一旦定义即可跨项目共享的其他对象。
- 团队资产或工具:每个团队都可以配置其特定工具,例如积压工作、板和仪表板。 有关详细信息,请参阅 关于团队和敏捷工具。
- 项目和对象级权限:管理对工作跟踪工具的访问权限,其中包括为对象和项目设置权限,并将用户或组分配到特定的访问级别。
- 集合级流程自定义:自定义所有团队可用的字段、工作项类型和积压工作和板。
自定义范围和影响
了解每个自定义级别的范围有助于做出明智的决策:
| 自定义程度 | Scope | 影响 | 例子 |
|---|---|---|---|
| 项目级别 | 项目中的所有团队 | 影响团队配置 | 区域路径、迭代路径、共享查询 |
| 团队级别 | 单个团队 | 团队特定的设置 | 积压工作栏, 板泳道, 容量 |
| 权限级别 | 用户/组访问权限 | 控制功能可见性 | 查询权限、区域路径访问 |
| 进程级别 | 组织/集合体 | 使用流程的所有项目 | 自定义字段、工作项类型、工作流 |
项目级共享资源
每个项目都提供了许多共享资源,这些资源支持项目中的所有团队。 可以通过用户界面或 Web 门户的管理上下文配置这些功能。
核心共享资源
以下共享资源构成了项目中工作跟踪的基础:
- 区域路径:按功能区域或团队责任组织工作项
- 迭代路径:定义用于规划和跟踪的冲刺和版本
- 共享查询:创建所有团队成员都可以访问的可重用查询
- 工作项标记:添加用于分类和筛选的元数据
- 安全组:跨项目管理访问权限
有关详细信息,请参阅以下文章:
共享资源的最佳做法
- 提前规划区域路径:设计区域路径结构以反映团队所有权和产品组织
- 建立迭代节奏:设置一致的冲刺长度和发布计划
- 创建文件夹结构:在文件夹中组织共享查询以提高可发现性
- 使用描述性标记:为一致的元数据建立标记约定
- 定期查看权限:确保所有团队成员的相应访问级别
人员选取器和标识字段
人员选择器功能支持整个 Azure DevOps 中的身份字段:
- “分配给”字段 和其他 标识 字段使用人员选择器功能。
- 激活:在工作项窗体中选择 “已分配给” 字段时,人员选取器会自动激活。
- 用户选择:若要选择用户,请开始输入其名称并搜索,直到找到匹配项。
- 最近的选择:以前选择的用户会自动显示在列表中以供快速访问。
- 目录集成:对于使用 Microsoft Entra ID 或 Active Directory 的组织,人员选取器允许搜索添加到目录中的所有用户和组(而不仅仅是添加到特定项目)。
- 范围限制:若要限制可供项目特定用户选择的标识范围,请使用 Project-Scoped 用户组 。
- 自定义限制:自定义规则可以进一步限制工作项中标识字段可用的值。
标识字段配置
可以通过多种方式配置标识字段:
- 项目范围内的用户:仅将标识选择限制为项目成员
- 自定义规则:实现限制字段值的业务规则
- 基于组的限制:使用 Azure AD 组控制可用标识
- 字段级权限:设置谁可以修改标识字段
有关详细信息,请参阅以下文章:
组织级流程自定义
集合级进程自定义
项目定义可用于跟踪工作的工作项类型(WIT),并配置敏捷工具。 它指定用于捕获信息的用户情景、任务、bug 和数据字段。 自定义对象在项目中的团队之间共享。
注意
用于自定义工作跟踪的方法取决于订阅的进程模型:
- 继承:支持 WYSIWYG 自定义,可用于 Azure DevOps Services、Azure DevOps Server 2019 和 Azure DevOps Server 2020。
- 托管 XML:支持通过导入/导出过程模板进行自定义,这些模板适用于已选择加入此模型的 Azure DevOps Services 的众多客户。
- 本地 XML:支持通过导入/导出工作跟踪对象的 XML 定义文件进行自定义,并可用于所有本地部署。
进程模型比较
下表总结了三个受支持的进程模型之间的差异。 有关主要工作跟踪对象的定义,请参阅 敏捷术语表。 有关自定义文章的链接,请参阅 Azure Boards 设置的快速参考索引。
功能
WYSIWYG 编辑
✔️
创建继承的自定义进程,继承系统进程中的更改(敏捷、基本、Scrum、CMMI)
✔️
创建自定义进程模板(请参阅注释 1)
✔️
✔️
更新的进程更改会自动应用于引用该过程的所有项目
✔️
✔️
支持自定义字段、工作项类型、表单布局、工作流、自定义规则、积压工作级别、自定义控件、测试管理
✔️
✔️
✔️
支持自定义链接类型、团队字段、全局工作流和流程配置(请参阅注释 3)
✔️
区域路径、迭代路径、工作项查询、安全组和权限的初始配置(请参阅注释 3)
✔️
✔️
全局列表
Picklists
(请参阅注释 2)
✔️
使用 az boards 命令行工具 编辑项目和团队和列表信息
✔️
✔️
✔️
witadmin使用命令行工具列出和导出进程信息
✔️
✔️
✔️
witadmin使用命令行工具编辑进程信息
✔️
tcm fieldmapping使用命令行工具列出和导出解决方案类型、bug 归档和失败类型的测试用例管理映射。
✔️
REST API (读取)
✔️
✔️
✔️
REST API (写入)
✔️
✔️
(请参阅注释 5)
流程模型选择指南
根据组织的需求选择流程模型:
继承过程模型(建议)
- 最佳应用场景:想要直观、基于 Web 的自定义的团队
- 优点:WYSIWYG 编辑、自动更新、轻松维护
- 使用时机:需要适度的自定义,且复杂性较低
托管 XML 进程模型
- 最适合:具有复杂流程要求的组织
- 优点:完整流程模板控件,广泛的自定义
- 使用场景:需要高级进程自定义,但希望云托管
本地 XML 进程模型
- 最适合:具有完全控制要求的本地部署
- 优点:完全自定义灵活性,企业集成
- <请在以下情况下使用>: 您需要最大控制权和运行本地基础设施
注意:
- 过程确定用于跟踪工作的构建基块。 进程模板指定一组相互依赖的 XML 定义文件,该文件提供用于跟踪工作和其他功能区域的构建基块和初始配置。
- 托管 XML 自定义支持使用进程更新添加和更新全局列表(每个列表的最大大小限制)。 有关详细信息,请参阅 工作跟踪对象限制。
- 继承的进程模型不支持自定义可用于自定义进程模板的以下功能。 而是逐个项目在 Web 门户中自定义这些区域。
- 区域和迭代路径
- 工作项查询
- 安全组和权限
- 对功能区域(如版本控制和生成)的权限和访问权限
或者,可以使用 REST API。或者,可以使用 REST API 或 Azure DevOps CLI 命令工具。 - 使用 REST API 导入和导出进程模板。
为项目集合选择流程模型
对于 Azure DevOps Server 2019 和 Azure DevOps Server 2020,可以在 XML(本地 XML 进程模型)和继承(继承进程模型)之间进行选择,如以下对话框所示。
重要
所做的过程选择是不可逆的。 设置后,只能基于所选模型自定义工作跟踪对象。 此外,不能将使用本地 XML 进程模型的现有项目集合迁移到继承进程模型。
流程模型选择的决策因素
选择进程模型时,请考虑以下因素:
| 因子 | 继承模型 | 本地 XML 模型 |
|---|---|---|
| 易于使用 | 简单 Web 界面 | 需要 XML 知识 |
| 自定义深度 | 适度自定义 | 深度自定义 |
| 维护工作 | 维护成本低 | 更高的维护需求 |
| 迁移复杂性 | 无法从 XML 迁移 | 可以从 XML 开始 |
| 团队技能要求 | 基本管理员技能 | 技术专业知识 |
有关详细信息,请参阅 “管理项目集合”。
自定义测试体验
多个工作项类型支持 Web 门户 测试 页和测试管理器客户端中的测试体验。
继承过程自定义
对于 继承的进程,可以像自定义任何其他工作项类型一样自定义以下工作项类型:
- 测试计划:组织和管理测试套件
- 测试套件:分组相关的测试用例
- 测试用例:定义单个测试方案
本地 XML 自定义
对于 本地 XML 进程,可以自定义所有与测试相关的工作项类型,包括:
- 测试计划:高级测试组织
- 测试套件:测试用例分组
- 测试用例:单个测试定义
- 共享步骤:可重用测试过程
- 共享参数:参数化测试数据
测试工作项关系
以下示例显示了测试工作项类型之间的支持链接关系:
测试自定义方案
常见的测试体验自定义包括:
- 自定义测试字段:添加特定于组织的测试元数据
- 测试工作流状态:定义自定义测试执行状态
- 测试结果跟踪:自定义测试结果报告
- 集成字段:将测试与需求和缺陷连接起来
有关测试自定义的详细信息,请参阅以下文章:
不太常见的自定义项
使用托管 XML 或本地 XML 进程模型时,只能执行以下自定义。 用于处理配置的自定义项适用于项目中的所有团队。
积压工作和板限制(托管 XML、本地 XML)
若要将显示加载时间限制为可接受的参数,任务板限制为最多 1,000 个工作项。 有关详细信息,请参阅 进程配置 XML 元素参考。
通过为 workItemCountLimit TaskBacklog 元素的属性指定值,最多可以增加此值 1500。 有关详细信息,请参阅 进程配置 XML 元素参考。
<TaskBacklog category="Microsoft.TaskCategory" pluralName="Tasks" singularName="Task" workItemCountLimit="800" >
. . .
</TaskBacklog>
在板卡限制下的性能考量
在自定义板限制条件时,请考虑:
- 加载时间影响:更高的限制可能会增加页面加载时间
- 用户体验:平衡功能与性能
- 浏览器限制:某些浏览器以不同的方式处理大型数据集
- 网络带宽:考虑连接速度较慢的团队成员
更改字段分配(托管 XML、本地 XML)
可以更改系统在计算容量、烧毁图表、预测和速率时使用的工作项字段。 对其中一个默认分配所做的任何更改都应对应于对用于定义和捕获该值的信息的 WIT 所做的更改。
例如,如果更改分配refname的type="Activity"字段,则应在分配给捕获活动信息的“任务类别”的 WIT 定义中包含相同的字段。 有关详细信息,请参阅 进程配置 XML 元素参考。
使用字段分配的工具
你分配的字段由以下工具使用:
| 工具 | 字段类型 | 目的 |
|---|---|---|
| 任务板、容量工具、冲刺进度 | 剩余工时 | 跟踪工作进度 |
| 产品和组合积压工作 | 积压工作优先级 | 订购工作项 |
| 速度和预测 | 工作(映射到故事点、工作或大小) | 估计工作大小 |
| 容量工具 | 活动(任务活动或规则) | 规划团队容量 |
域分配最佳做法
- 保持一致性:确保字段分配与工作项类型定义匹配
- 测试更改:验证工具在重新分配字段后是否正常工作
- 文档自定义:记录字段分配更改以供将来参考
- 考虑影响:了解更改如何影响现有数据和报表
管理对工作跟踪工具的访问权限
可以通过权限设置管理对特定功能的访问权限。 将用户帐户添加到团队时,会自动将其添加到“参与者”组。 然后,他们有权访问他们为代码、工作跟踪、生成和测试做出贡献所需的大部分功能。 但是,参与者组不允许用户创建共享查询或添加区域或迭代路径。 必须单独授予这些权限。
默认权限结构
权限系统遵循以下原则:
- 默认访问权限:新团队成员自动加入 参与者 组
- 核心权限: 参与者 组提供对开发工作所需的大多数功能的访问权限
- 其他权限:某些功能需要单独的权限授予
- 管理访问权限:项目管理员完全控制权限
贡献者组限制
参与者组不会自动允许用户:
- 创建共享查询:需要其他查询权限
- 添加区域或迭代路径:需要项目级管理权限
- 修改安全设置:需要管理访问权限
- 配置团队设置:需要团队管理员角色
权限管理方法
若要有效管理权限,请执行以下操作:
- 从默认值开始:使用内置组作为基础
- 授予特定权限:为特定需求添加权限
- 使用安全组:利用 Azure AD 组简化管理
- 定期评审:定期审核适当的权限
- 文件决策:维护权限授予以及其理由的记录
有关常见默认权限和访问分配的简化概述,请参阅 “权限和访问权限”。
如果你不熟悉管理权限,请浏览 权限、访问权限和安全组、权限继承和安全组入门。
特定权限区域
若要管理对特定功能的访问权限,请参阅以下文章:
更多自定义选项
除了内置自定义功能之外,请考虑以下用于扩展 Azure DevOps 功能的其他选项:
市场扩展
- 浏览解决方案:查看 市场扩展 ,查看是否有可用于你的目的的工具
- 热门类别:寻找与工作跟踪、报告及项目管理相关的扩展工具
- 社区贡献:受益于 Azure DevOps 社区开发的解决方案
自定义开发选项
社区参与
- 功能请求:向开发人员社区页面添加功能请求
- 用户反馈:与产品团队分享你的体验和建议
- 最佳做法:从其他组织的自定义方法中吸取教训
规划自定义策略
在进行定制化实施之前,请考虑:
- 业务要求:明确定义想要实现的内容
- 影响评估:了解更改如何影响现有工作流
- 维护开销:考虑维护自定义项的长期成本
- 替代解决方案:评估现有功能是否符合需求
- 迁移路径:规划将来的更新和迁移