在插件文件中定义任务组和任务的依赖项

Azure DevOps Server 2022 - Azure DevOps Server 2019 |TFS 2018

向插件文件添加任务组或任务时,您必须以正确的顺序进行添加,并在成功完成其他任务组或任务后声明该任务组或任务所具有的任何依赖项。 一个任务可以依赖于其他任务,要求必须完成这些其他任务才能运行主要任务。 例如,在创建工作项类型的所有任务成功完成之后,才能运行创建工作项查询的任务。 因此,上载工作项查询的任务依赖于上载工作项类型的任务。

必需的插件和插件依赖项

下图显示了为 Team Foundation Server (TFS) 进程模板定义的依赖关系。 如图中所示,工作项跟踪插件依赖于组和权限插件是否成功完成,而后者又依赖于分类插件是否成功完成。 测试管理和版本控制插件取决于前三个插件的完成。用于生成、实验室、报表和门户的插件取决于版本控制插件的完成。

进程模板插件依赖项

提示

如果在每个插件文件中按照依赖关系的相同顺序来定义任务组和任务,则可以更轻松地读取文件和消除依赖项问题。

依赖项可用于指示插件在新 团队项目向导中运行的顺序。 某些插件始终依赖于其他插件。此外,并非所有插件都是进程模板所必需的。

下表标识了哪些插件依赖于其他插件。只需要分类插件。 所有其他插件都是可选的。 有关每个插件的详细信息,请参阅 进程模板文件的概述

插件 依赖插件
构建 Groups、VersionControl
分类 None
分类
实验室 Build、Classifications、Groups、WorkItemTracking
门户 Classifications、Reporting、VersionControl 和 WorkItemTracking
报告 Classifications、VersionControl 和 WorkItemTracking
TestManagement Classifications、Groups 和 WorkItemTracking
VersionControl Classifications、Groups 和 WorkItemTracking
WorkItemTracking Classifications 和 Groups

定义任务组依赖项

使用任务和组中的依赖项元素来指示依赖项是否存在。 下面的示例演示如何使用依赖项元素来指定 WorkItemTracking 任务组依赖于 Classification 和 Groups 任务组。

<group id="WorkItemTracking" description="Workitem definitions uploading." completionMessage="Workitem definitions uploaded.">  
   <dependencies>
      <dependency groupId="Classification"/>
      <dependency groupId="Groups"/>
   </dependencies>  
   <taskList filename="WorkItem Tracking\WorkItems.xml"/>  
</group>  

注意

groupId 元素引用其他组中的 id 元素值。

下表介绍了用于定义任务组依赖项的元素。 有关如何定义任务组的详细信息,请参阅 进程模板 XML 元素参考

元素 说明和语法
依赖项 的必需子元素。 指定某个组所依赖的其他组。
<dependencies>
<dependency>. . . </dependency>
</dependencies>
依赖 依赖项的可选子元素。 指定该组依赖的其他任务组的 ID。 该组只有在其他组完成其任务后才能启动。
<dependency groupId="groupId" />

定义任务依赖项

以下示例演示如何使用 依赖项 元素指定 WorkItems 任务依赖于 ID 为“WIT”的任务。

<task id="WIs" name="WorkItems" plugin="Microsoft.ProjectCreationWizard.WorkItemTracking" completionMessage="Work items uploaded"  completionDescription="Processing the actual work items used by work item tracking">  
   <dependencies>
      <dependency taskId="WITs" />
   </dependencies>  

下表介绍了用于定义任务依赖项的元素。 有关如何定义任务的详细信息,请参阅 定义要处理插件的任务

元素 说明和语法
依赖项 任务的可选子元素。 指定某个任务所依赖的其他任务。
<dependencies>
<dependency>. . . </dependency>
</dependencies>
依赖 依赖项的可选子元素。 指定此任务所依赖的其他任务的 ID。 其他任务必须先完成其任务,然后此任务才能启动。
<dependency taskId="taskId" />