Defining the Tasks to Process a Plug-in
You use the tasks element and its child elements to define the artifacts to be uploaded or specific elements to be created for a plug-in. A task specifies work that must occur to configure something specific to the process in a new team project. A number of the tasks that you define configure the default structure of a team project as shown in the following illustration. Other tasks that you can define configure other areas of Visual Studio Application Lifecycle Management, such as Team Foundation Build, Visual Studio Lab Management, Test Manager, and Team Foundation version control.
In this topic
Tasks Syntax Structure
Tasks Element Reference
Index to taskXML Elements by Function
Example: Defining Types of Work Items
Tasks Syntax Structure
You can specify several tasks within a plug-in, and these tasks may have dependencies on one another. The tasks that you define for each plug-in must conform to the schema definition for tasks, defined in the Tasks.xsd file, and be specified in its own file using the tasks container element. You can download the schema files for process templates from the following page on the Microsoft website: Process Template and Work Item Schemas for Visual Studio Team Foundation.
The following syntax shows the high-level structure of the tasks element and its child elements.
<tasks>
<task>
<dependencies>
<dependency />
. . .
</dependencies />
<taskXml>
. . .
</taskXml>
<task/>
</tasks>
Back to top
Tasks Element Reference
The following table describes each element that can define the tasks for a plug-in.
Element |
Syntax |
Description |
---|---|---|
dependencies |
|
Optional child element of task. Specifies other groups on which a group depends. |
dependency |
|
Optional child element of dependencies. Specifies the ID of another task on which this task depends. The other task must complete before this task can start. |
ProcessTemplate |
Where each attribute is defined as follows:
|
Optional child element of taskXml element for the Build and Lab plug-ins. Specifies the name, location, and destination of a file to upload to support build processes for a team project. |
task |
|
Required child element of tasks. Specifies work that must occur to configure something specific to the process in a new team project.
|
tasks |
|
Required child element of taskXml. Contains a collection of task elements that each specify work that must occur to configure something specific to the process in a new team project. |
taskXml |
|
Required root element for a plug-in file. Describes the work that is required to complete this task. The XML inside this element block varies and is specific to each plug-in.
Note
The XML processor does not try to validate the content within the element.
|
Back to top
Index to taskXML Elements by Function
For more information about the specifics of the XML markup elements that you can specify for each plug-in, see one of the following topics:
Build: Defining the Initial Configuration of Team Foundation Build
Classifications: Defining the Initial Areas and Iterations in the Classification Plug-in
Groups and Permissions: Configuring Initial Groups, Members, and Permissions
Portal: Defining the Project Portal Plug-in for a Process Template
Test Management: Defining the Initial Configuration of Test Manager
Version Control: Defining the Initial Configuration of Team Foundation Version Control
Work Item Tracking: Defining and Customizing Objects for Tracking Work Items By Using the Work Item Tracking Plug-in
Back to top
Example: Defining Types of Work Items
The following example shows a task that creates six types of work items by referencing the definition files for each type.
<task
id="WITs"
name="WorkItemType definitions"
plugin="Microsoft.ProjectCreationWizard.WorkItemTracking"
completionMessage="WorkItemTypes created"
completionDescription = "Processing work item types used by work item tracking">
<taskXml>
<WORKITEMTYPES>
<WORKITEMTYPE fileName="WorkItem Tracking\TypeDefinitions\Bug.xml" />
<WORKITEMTYPE fileName="WorkItem Tracking\TypeDefinitions\SharedStep.xml" />
<WORKITEMTYPE fileName="WorkItem Tracking\TypeDefinitions\Task.xml" />
<WORKITEMTYPE fileName="WorkItem Tracking\TypeDefinitions\TestCase.xml" />
<WORKITEMTYPE fileName="WorkItem Tracking\TypeDefinitions\UserStory.xml" />
<WORKITEMTYPE fileName="WorkItem Tracking\TypeDefinitions\Issue.xml" />
</WORKITEMTYPES>
</taskXml>
</task>
Back to top
See Also
Concepts
Defining Dependencies for Task Groups and Tasks in Plug-in Files
Other Resources
Change History
Date |
History |
Reason |
---|---|---|
April 2011 |
Provided more information and structure for defining the tasks for a plug-in and using tasks elements. |
Information enhancement. |