命名限制和约定

Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020

本文介绍 Azure DevOps 组件的命名规则、约定和限制。 命名规则、限制和约定有助于保证一致的用户体验,并提供与其他应用程序的兼容性。

一般注意事项

常见限制包括不超过名称的字符长度、不包含特殊字符,以及在同一对象集合内必须保持名称的唯一性。

重要

使用 Azure DevOps API 而不是用户界面(UI)时,可以直接指定可能包含 UI 中受限字符的名称。 若要保持一致性并防止意外问题,请遵循 UI 限制。 以编程方式验证名称并适当处理特殊字符。

系统保留名称

避免使用系统保留名称,如以下示例所示:

  • AUX
  • COM1、COM2、COM3、COM4、COM5、COM6、COM7、COM8、COM9、COM10
  • CON
  • 默认集合
  • LPT1、LPT2、LPT3、LPT4、LPT5、LPT6、LPT7、LPT8、LPT9
  • NUL
  • PRN
  • SERVER、SignalR
  • Web 或 WEB

有关保留名称的详细信息,请参阅 文件名、路径和命名空间

Azure Artifacts

Azure Artifacts 通用包和源必须符合以下限制:

限制类型 限制
包名称 - 必须为小写。
- 必须以字母数字字符开头和结尾。
- 只能包含字母数字字符和非连续连字符 -、下划线 _或句点 .
包版本 - 必须是小写,且不含生成元数据。
源名称 - 必须以字母数字字符开头和结尾。
- 不区分大小写,但源名称不能仅通过字母大小写来区分与其他源名称不同。
- 不能以句点 . 或下划线 _ 开头,也不能以句点 . 结尾。
- 不能包含以下任何字符: @~;{}'+=,<>|/\?:&$*"#[]%

Azure Boards

Azure Boards 使用工作项来规划和跟踪软件开发项目。 工作项描述要完成的工作、分配工作、跟踪状态以及协调团队内的工作。 不同类型的工作项,例如用户情景、任务、bug 和问题,跟踪不同类型的信息。 有关详细信息,请参阅 Azure Boards 文档

工作项跟踪对象与一个或多个名称相关联。 除工作项类型和全局列表之外的所有对象都具有友好的显示名称,这些名称是字段的唯一用户可见标识符。 使用易记名称可确保项目集合中的项目和工作项类型之间保持一致。

工作项类型和全局列表与引用名称相关联。 系统在内部使用引用名称,一旦定义,就不能更改它们。

与工作项关联的多个元素存在限制,包括引用名称、友好名称、字段名称和附件大小。

区域和迭代路径

“区域路径”和“迭代路径”工作项字段提供用于分组工作的树结构层次结构。 区域路径按产品、功能或功能区域对工作项进行分组。 迭代路径将工作项分组到用于处理工作的冲刺、里程碑或时间段。

这些多节点字段使用反斜杠 \ 字符来表示树结构中的节点层次结构。 分配给子节点的名称必须符合以下限制。

限制类型 限制
节点长度 不能包含超过 255 个字符。
保留名称 - 不能只包含一个或两个 . 句点 ..
- 不得是系统保留名称,例如 PRN、COM1、COM2、COM3、COM4、COM5、COM6、COM7、COM8、COM9、COM10、LPT1、LPT2、LPT3、LPT4、LPT5、LPT6、LPT7、LPT8、LPT9、NUL、CON 或 AUX。 有关保留名称的详细信息,请参阅 文件名、路径和命名空间
节点的特殊字符 - 不得包含 Unicode 控制字符。
- 不得包含以下任何一个字符: \ / : * ? " < > | # $ & * +
- 不得包含本地文件系统禁止的字符。 有关 Windows 字符限制的详细信息,请参阅 命名文件、路径和命名空间
路径长度 不能包含超过 4,000 个 Unicode 字符。
路径层次深度 深度必须小于 14 级。

附件

附加到工作项的文件必须符合以下限制。

限制类型 限制
文件大小 不得超过最大大小:
- 默认最大大小:4,096 KB。
- 绝对最大大小:2 GB。

有关详细信息,请参阅更改工作项的附件大小最大值

板列和泳道名称

看板提供积压工作项的视觉流程。 随着工作从规划到完成,你将更新项目板上的项目。 每列表示一个工作阶段,每个卡片表示该工作阶段的工作项。

可以通过添加、删除或重命名 泳道来对板进行自定义。 列支持整个看板的工作流,泳道允许你将不同的工作作为看板上的横向通道进行管理。

列名和泳道名称必须符合以下限制。

限制类型 限制
长度 不得包含超过 256 个 Unicode 字符。
唯一性 - 列名不得与板上的任何其他列名相同。
- 泳道名称不得与看板上的任何其他泳道的名称相同。
特殊字符 不得包含任何 Unicode 控制字符或代理项字符。

字段名

每个工作项类型都包含一个或多个字段,这些字段定义为该工作项类型存储的信息。 每个工作项字段都有一个关联的字段引用名称,该名称唯一标识该字段,并且分配后无法更改。 有关内置工作项字段的详细信息,请参阅 “工作项”字段索引

工作项字段名称的范围限定为项目集合。 如果您重命名一个字段名称,所有项目集合中的所有工作项和工作项类型都会被更改。

工作项字段名称必须符合以下限制。

限制类型 限制
长度 不得包含超过 128 个 Unicode 字符。
唯一性 在组织或项目集合中必须是唯一的。
特殊字符 - 必须至少包含一个字母字符。
- 不能包含以下任何字符: .,;':~\/*?"&%$!+=()[]{}<>-|
- 不得包含前导或尾随空格。
- 不得包含两个或更多个连续空格。

字段引用名称

工作项类型定义语言包括字段引用名称的概念。 字段引用名称有助于在 Team Foundation 项目集合之间迁移定义,并允许非 Microsoft 集成查找并引用特定字段。 这些名称(如 .NET Framework 应用程序中的命名空间)全局唯一。

以下字段在进程模板的工作项类型定义中定义:

  • 系统命名空间仅用于定义 Team Foundation 系统函数必需的所有核心系统字段。 无法创建自己的 System.X 字段,因为它可能会妨碍功能。

  • Microsoft 命名空间用于定义工作项跟踪字段。 虽然可以创建自己的 Microsoft.X 字段,但不建议这样做,因为它可能会妨碍功能或在升级后成功更新项目的能力。

客户和合作伙伴可以为自定义工作项类型创建自己的字段命名空间。 有关默认进程模板中定义的系统字段和字段的说明,请参阅 工作项字段的索引

重要

无法更改字段引用名称。 例如,如果将字段名称 Title 更改为 Header,该字段的字段引用名称不会更改。 字段的集成和内部表示形式应使用字段引用名称而不是字段名称。

字段参考名称示例

以下示例显示了各种命名空间中的有效字段引用名称。

系统命名空间示例 Microsoft 命名空间示例 其他命名空间示例
System.Id、System.Title、System.CreatedBy、System.CreatedDate、System.ChangedBy、System.ChangedDate、System.State、System.Reason Microsoft.VSTS.Build.FoundIn、Microsoft.VSTS.Common.Activity、Microsoft.VSTS.Common.Discipline、Microsoft.VSTS.Common.Priority、Microsoft.VSTS.CMMI.TaskType、Microsoft.VSTS.TCM.AutomationStatus、Microsoft.VSTS.TCM.TestSuiteType FabrikamFiber.Common.Severity、FabrikamFiber.Common.Phase、FabrikamFiber.RiskManagement.RiskType、FabrikamFiber.RiskManagement.Resolution

Contoso.Common.BusinessPriority、Contoso.Bug.FoundInPhase、Contoso.Bug.FixInPhase

字段帮助文本

系统在运行时显示帮助文本,以帮助用户知道在字段中输入的内容。 帮助文本的范围限定为特定项目中的特定工作项类型。

对于继承进程,可以通过“编辑字段”对话框、“定义”选项卡、“说明”为字段指定帮助文本。 请参阅向工作项类型添加自定义字段。 对于本地 XML 进程,您可以使用 HELPTEXT 元素来指定帮助文本。 请参阅添加或修改字段以跟踪工作

你添加的帮助文本必须符合以下限制。

限制类型 限制
长度 不得包含超过 255 个 Unicode 字符。

全局列表

定义工作项类型时,你可能会发现某些工作项字段共有一组相同的允许值或建议值。 全局列表是一组列表项值,可以定义一次,并在本地 Azure DevOps Server 实例中的所有项目集合中全局使用。

使用 GLOBALLIST 元素定义的全局列表包含使用 LISTITEM 元素指定的一个或多个列表项。 有关详细信息,请参阅定义全局列表

全局列表必须符合以下限制。

限制类型 限制
唯一性 全局列表在 Azure DevOps Server 实例中必须是唯一的。
项数 不得为空。 全局列表必须至少包含一个 LISTITEM 元素。

LISTITEM 名称必须符合以下限制。

限制类型 限制
长度 - 不得包含超过 254 个 Unicode 字符。
- 不得为空。
特殊字符 - 不得包含前导空格或尾随空格。
- 不得包含两个连续空格。
- 不得包含反斜杠 \ 字符。
Scope 由于全局列表在所有项目中都可用,因此它们不得包含项目级别定义的元素,例如特定于项目的组帐户定义。

添加或创建链接类型或类别时定义引用名称。

限制类型 限制
长度 不能包含超过 70 个 Unicode 字符。
唯一性 - 不能与项目集合中的其他任何字段引用名称相同。
在系统将名称中的所有句点.处理并替换为下划线_后,不得与任何其他字段引用名称相同。 例如,字段引用名称 My._FieldMy..Field 都会被处理为相同的名称:My__Field
特殊字符 - 可以使用字母数字字符、下划线、连字符和句点。
- 不能包含连续连字符 --
- 必须至少包含一个句点 .,但不能以句点开头或结束。
- 不能以数字或下划线 _开头。

工作项查询名称

可以使用工作项查询根据指定的字段条件列出工作项。 有关详细信息,请参阅 “关于托管查询”。

限制类型 限制
长度 不得包含超过 255 个 Unicode 字符。
特殊字符 - 不能为空。
- 不能包含以下任何字符之一: /\<>*?"+|:
唯一性 - 必须包含在文件夹中,并在文件夹中唯一命名。

工作项标签名称

工作项标记由一个或两个关键字组成,用于筛选或定义工作跟踪工具,例如积压项、看板和查询。 有关详细信息,请参阅添加工作项标记以对列表和面板进行分类和筛选

标记名称必须符合以下限制。

限制类型 限制
长度 - 不能包含超过 400 个 Unicode 字符。
- 不能为 null 或空。
特殊字符 - 不得包含分隔符 ,;
- 不得包含 Unicode 控制字符或格式字符,如换行符、段落分隔符、回车符或其他不匹配的代理字符。

Azure Pipelines

Azure Pipeline 对象必须符合以下命名限制。

对象类型 限制
表达式 - 必须以小写或大写字母字符或下划线开头,后跟小写或大写字母字符、数字或下划线 _
变量 - 必须仅包含字母数字字符、句点 .和下划线 _
- 不能以保留前缀 endpointinputsecretpathsecurefile(不区分大小写)之一开头。
阶段 - 阶段名称必须仅包含字母数字字符和下划线 _
- 名称不得以数字开头。
作业和部署作业 - 作业名称必须仅包含字母数字字符和下划线 _
- 名称不得以数字开头。
- 名称不能包含像 deploy 这样的关键词。
矩阵作业策略 - 矩阵配置名称必须仅包含字母数字字符和下划线 _
- 名称必须以字母字符开头。
- 最大长度:100 个字符。
构建资源 - 生成项目的别名或名称必须仅包含字母数字字符、连字符 -和下划线 _
容器资源 - 容器 ID 必须仅包含字母数字字符、连字符 -和下划线 _
软件包资源 - 包项目别名必须仅包含字母数字字符、连字符 -和下划线 _
管道资源 - 管道 ID 必须仅包含字母数字字符、连字符 -和下划线 _
存储库资源 - 存储库别名必须仅包含字母数字字符、连字符 -和下划线 _
Webhook 资源 - Webhook 名称必须仅包含字母数字字符、连字符 -和下划线 _
步骤 - 步骤名称 ID 必须仅包含字母数字字符、连字符 -和下划线 _

有关详细信息,请参阅 Azure Pipelines 文档

Azure Repos

Azure Repos 存储库可以是基于 Git 的存储库,也可以是基于 Team Foundation 版本控制(TFVC)。

每个 Azure DevOps 项目可以包含多个 Git 存储库。 有关详细信息,请参阅 Azure Repos Git 文档

Git 存储库名称必须符合以下限制。

限制类型 限制
长度 不能包含超过 64 个 Unicode 字符。
唯一性 不能与项目中的任何其他 Git 存储库同名。
特殊字符 - 不能包含任何 Unicode 控制字符或代理项字符。
- 不能包含以下可打印字符: \/:*?"<>;#$*{},+=[]|
- 不得以下划线 _ 开头。
- 不得以句点 .开头或结尾。
- 不能是系统保留名称
- 重要说明:尽管可以在存储库名称中包含空格,但不建议这样做。

有关其他 Git 项(如分支和标记)的命名限制的信息,请参阅 git check-ref-format

计算机名称

其上安装 Azure DevOps 的计算机名称与服务器的名称相关联。 作系统和 Active Directory 都对计算机名称施加了某些限制,如以下文章中所述:

团队基础构建 (Team Foundation Build)

使用 Team Foundation Build,可以在一台计算机上管理生成过程的所有方面。 通过使用 Team Foundation Build,可以同步源、编译应用程序、运行关联的单元测试、执行代码分析、在文件服务器上发布生成,以及发布生成报告。

生成计算机

Team Foundation Build 是独立于 Azure DevOps Server 应用程序层、数据层或 Visual Studio 客户端的安装。 可以选择在单独的计算机上安装,或者在客户端计算机或服务器上并行安装构建。

本地生成计算机必须符合以下限制。

限制类型 限制
磁盘空间 必须为生成包含足够的空间,因为空间不足导致生成失败。
生成目录 必须是本地路径,例如 C:\BuildDirectory
放置位置目录 必须是 \server\share*等 UNC 路径。
放置位置权限 每个生成的构建都必须放在 drop 文件夹的新目录中。
- 例如 Domain\TFSSERVICE,Team Foundation Server 服务帐户必须具有对 UNC 放置位置的 完全控制 访问权限。
- UNC 放置位置必须是共享文件夹。
Team Foundation 生成服务帐户 如果在初始安装后更改 TFS 服务帐户,必须确保:
- 该帐户是生成服务组的成员。
- 该帐户对临时文件夹和 ASP.NET 临时文件夹具有读/写权限。
- 帐户对构建目录和放置位置具有完全控制权限。
Firewall 如果生成计算机已启用防火墙,请确保程序 tfsbuildservice 位于例外列表中。

生成类型

生成类型是生成单个解决方案或项目中的一组解决方案的条件。 若要运行生成,可以创建新的生成类型或使用现有 生成类型

生成类型名称必须符合以下限制。

限制类型 限制
唯一性 不得与项目中的任何其他生成类型同名。
特殊字符 不得包含美元符号 $ 字符。

生成质量

生成质量使你可以将质量级别或完成状态附加到已完成的生成。 有关默认生成质量值的列表,请参阅 “对已完成生成的质量进行评分”。 Team Foundation Build 还允许你为生成质量类型创建新值。

生成质量名称必须符合以下限制。

限制类型 限制
长度 不得包含超过 256 个 Unicode 字符。
唯一性 不得与 Team Foundation Build 计算机上的任何其他生成质量名称相同。

项目集合名称

项目集合是用于为 Azure DevOps Server 定义和控制一组项目的组织结构。 项目集合标识一组项目及其资源。 项目集合名称也是用于将团队成员连接到项目的连接字符串的一部分。

分配给项目集合的默认集合名称对应于 DefaultCollection。 有关详细信息,请参阅 “管理项目集合”。

项目集合名称必须符合以下限制。

限制类型 限制
长度 不能包含超过 64 个 Unicode 字符。
唯一性 - 不能与本地部署中的其他任何集合名称相同。
- 如果部署包括 SharePoint 产品或 SQL Server Reporting Services,则其名称不能与现有 SharePoint 网站、报表服务器或 Reporting Services 网站的名称和完整路径相同。
特殊字符 - 不能包含任何 Unicode 控制字符或代理项字符。
- 不能包含以下可打印字符: \/:*?"<>;#$*{},+=[]|
- 不得包含省略号 ... 或双句点 ..
- 不得以下划线 _ 开头。
- 不得以句点 .开头或结尾。
不能是系统保留名称

组织名称

组织是用于为 Azure DevOps Services 定义和控制一组项目的组织结构。 组织标识一组项目及其资源。

重要

创建组织名称时,请遵循以下准则:

  • 仅使用英语字母表中的字母
  • 使用以字母或数字开头的组织名称
  • 在初始字符之后使用字母、数字或连字符
  • 将组织名称限制在 50 个 Unicode 字符以内
  • 以字母或数字结尾

如果使用任何不允许的字符,将显示以下错误消息:VS850015:不允许使用指定的名称:{组织名称}。

流程和流程模板

进程定义工作项跟踪系统的构建基块,以及连接到项目后可以访问的其他子系统。 进程进程模板都引用用于创建项目的相互依赖的文件集。 有关默认进程的信息,请参阅 “关于进程和进程模板”。

你定义或自定义的流程必须符合以下限制。

限制类型 限制
长度 不得包含超过 256 个 Unicode 字符。
唯一性 - 在 Azure DevOps 中必须唯一。 如果上传与现有模板同名的模板,则会覆盖现有模板。
处理模板文件大小 不能超过 2 GB。

项目名称

项目为源代码建立存储库,以及供团队计划、跟踪进度和协作的位置。 项目的名称是用于将团队成员连接到项目的连接字符串的一部分。

分配给所创建项目的名称必须符合以下限制。

限制类型 限制
长度 不能包含超过 64 个 Unicode 字符。
唯一性 不能与该集合的组织、项目集合或 SharePoint Web 应用程序或 SQL Server 报表中的其他任何名称相同。
保留名称 - 不能是系统保留名称
- 不得是用于 IIS 请求筛选的隐藏段之一,例如App_Browsers,、、App_codeApp_DataApp_GlobalResourcesApp_LocalResourcesApp_ThemesApp_WebResources、或。 binweb.config
特殊字符 - 不能包含任何 Unicode 控制字符或代理项字符。
- 不能包含以下可打印字符: \/:*?"'<>;#$*{},+=[]|
- 不得以下划线 _ 开头。
- 不得以句点 .开头或结尾。

安全组

可以使用 Azure DevOps 安全组将某些权限或权限应用于用户组。 组可能包括Microsoft Entra ID 或 Active Directory 帐户、Azure DevOps 安全组、Windows 用户或组帐户或组合。 有关详细信息,请参阅将 Active Directory/Microsoft Entra 用户或组添加到内置安全组

安全组必须符合以下限制。

限制类型 限制
安全组帐户名称长度 不得包含超过 256 个 Unicode 字符。
唯一性 - 项目级组帐户不得与同一项目中的任何其他组名称匹配。
- 组织或集合级组帐户不得与组织或项目集合中组帐户的任何其他名称匹配。
保留组名称 不得在项目或服务器级别使用 $NAMESPACE 进行命名。
特殊字符 - 不能包含任何 Unicode 控制字符或代理项字符。
- 不能包含以下可打印字符: ,/\[]:<>+=;?*|
- 不得在 ASCII 值范围 1-31 中包含不可打印字符。
- 不得以句点 . 结束。

团队名称

团队名称标识一组作为项目中的团队协同工作的个人或组。 团队成员使用此名称连接到团队,或针对为团队定义的成员执行查询。 团队名称必须符合允许将它们呈现为有效 URL 的一部分的约定。

每个团队名称在单个项目中必须是唯一的,但在组织或项目集合中的不同项目中使用相同的团队名称没有限制。 有关详细信息,请参阅添加另一个团队或团队层次结构

团队名称必须符合以下限制。

限制类型 限制
长度 不能包含超过 64 个 Unicode 字符。
唯一性 不能与项目中的任何其他团队名称相同。
保留名称 不能是系统保留名称
特殊字符 - 不能包含任何 Unicode 控制字符或代理项字符。
- 不能包含以下可打印字符: \/:*?"<>;#$*{},+=[]|
- 不得包含省略号 ... 或双句点 ..
- 不得以下划线 _ 开头。
- 不得以句点 .开头或结尾。

用户帐户名称

用户帐户标识添加到项目或项目集合中的用户。 用户帐户可能与 Active Directory、Microsoft Entra ID 或 Windows 服务器组中的条目相对应。

要将用户帐户添加到项目,请参阅将用户添加到项目或团队。 添加到组织或集合中的用户帐户必须符合以下限制。

限制类型 限制
帐户名称长度 不得包含超过 256 个 Unicode 字符。
唯一性 不得与组织或项目集合中的其他任何用户帐户匹配。
保留组名称 不得在项目或服务器级别使用 $NAMESPACE 进行命名。
特殊字符 - 不得包含以下可打印字符: ,"/\[]:<>+=;?*|
- 不得在 ASCII 值范围 1-31 中包含不可打印字符。
- 不得以句点 . 或美元符号 $ 结尾。
- 不得包含以下 Unicode 类别:LineSeparator、、ParagraphSeparatorControlFormatOtherNotAssigned

Wiki 页面和文件名

每个 Wiki 页面对应于 Wiki Git 存储库中的一个文件。 以下限制适用于页面文件名和文件大小:

  • 文件名:为页面文件选择名称时,请记住,文件的完全限定路径应为 235 个字符或更少。 页面的完整路径包括存储库 URL、页面文件的文件夹路径和页面文件名。 例如,https://github.com/ExampleWiki/Contributors/Code/How-to-add-code-to-the-project.md

  • 唯一性:页面文件名在其 Wiki 存储库层次结构中的文件夹位置内必须是唯一的。 该名称区分大小写。

  • 特殊字符:页面文件名对以下特殊字符有限制:

    • 无 Unicode 控制字符或代理字符
    • 无可打印字符:正斜杠、反斜杠/\、哈希#
    • 名称开头或结尾处没有句点 . 符号
  • 文件大小:最大页面文件大小为 18 MB。

  • 附件文件大小:页面文件的任何附件的最大大小为 19 MB。

允许的特殊字符

页文件名中允许使用多个特殊字符,例如冒号 : 和连字符 -。 例如,可以将 Markdown 文件命名为 FAQ:0525Setup-Guide

重要

若要避免页面语法和浏览器导航中的错误,请勿在页面文件名中使用空格字符( )。 如果基于页面标题命名页面文件,请将页面标题中的任何空格替换为文件名中的连字符(-)。

下表列出了 Wiki 页面文件名中允许的特殊字符和相应的 URI 编码字符串:

字符 符号 URI 字符串
结肠 : %3A
左尖括号 < %3C
右尖括号 > %3E
星号通配符 * %2A
问号 ? %3F
竖线 | %7C
连字符短划线 - %2D
双引号 " %22

例如,文件名 FAQ:0525 编码为 FAQ%3A0525