收益模型
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
扩展通过提供贡献和定义其他扩展插入它们的方式,将新功能添加到系统中。 贡献类型定义可添加到系统的内容。 贡献是贡献类型的特定实例。 例如, hub
是由 Microsoft 提供的核心扩展定义的贡献类型。 “ Explorer
生成中心”组下的中心是类型 hub
的特定贡献。
有关详细信息,请参阅以下参考文献:
参与类型
贡献类型定义该类型系统必须遵循的所有贡献的协定。 贡献类型也可以从另一个贡献类型扩展。 贡献类型的以下示例定义该类型的实例设置的属性:
hub
action
build-task
每个属性定义都指定以下方面:
- 属性类型,例如字符串、布尔值等。
- 属性是否是必需的
- 默认值(如果未由贡献指定)(可选)。
示例
下面是扩展清单中贡献类型声明的示例:
{
...
"contributionTypes": [
{
"id": "hub",
"name": "Web Access Hub",
"description": "A hub that appears in the hubs menu at the top of web pages.",
"properties": {
"name": {
"description": "The text to display for the hub",
"type": "string",
"required": true
},
"uri": {
"description": "URI of the contents of the hub page",
"type": "string",
"required": true
},
"order": {
"description": "An optional ordering value which can indicate in which position to place the hub within the hub group",
"type": "integer"
}
...
}
}
]
}
发布内容
贡献是参与类型的实例。 例如,Queries
工作中心组下的中心是类型的hub
Publish Test Results
贡献,生成任务是类型的build-task
贡献。
所有贡献都必须指定一个类型,并为该贡献类型所需的任何属性指定值。
示例
下面是扩展清单中中心贡献声明的示例:
{
"contributions": [
{
"id": "build-explorer-hub",
"type": "ms.vss-web.hub",
"targets": [
".build-hub-group"
],
"properties": {
"name": "Explorer",
"uri": "/_build",
"order": 22
}
}
]
}
目标贡献
贡献可以 面向 一个或多个其他贡献,这将在贡献与其每个目标之间建立关系。 系统可以在运行时发现目标的贡献。 例如, hub
贡献(Explorer
)可能针对特定 hub-group
贡献(Build
)。
{
"id": "build-explorer-hub",
"type": "ms.vss-web.hub",
"targets": [
".build-hub-group"
]
}
当中心组呈现时,系统可以查询面向中心组的所有中心贡献,以了解要呈现哪些中心。
确定贡献和类型
每个贡献和贡献类型都必须在其声明的扩展中具有唯一 ID。
完整贡献标识符包括以下项,用点.
分隔:
- 发布者 ID
- 扩展 ID
- 贡献/类型 ID
例如: ms.vss-web.hub
以下贡献的完整标识符:
- 发布者 ID:
ms
- 扩展 ID:
vss-web
- 贡献/类型 ID:
hub
可以在 扩展清单中使用相对 贡献引用来引用同一扩展中的另一个贡献或贡献类型。 在这种情况下,不包括发布者和扩展 ID,ID 是后跟贡献 ID 的点 .
。 例如,.hub
可以在vss-web
以前作为快捷方式ms.vss-web.hub
提及的扩展中使用。