Definieren der Aufgaben zum Verarbeiten eines Plug-Ins

Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

Sie verwenden das Tasks-Element und die untergeordneten Elemente, um die hoch- oder bestimmten Elemente zu definieren, die für ein Plug-In erstellt werden sollen. Eine Aufgabe gibt die Arbeit an, die auftreten muss, um etwas spezifisches für den Prozess in einem neuen Projekt zu konfigurieren. Eine Reihe von Aufgaben, die Sie definieren, laden die Arbeitselementtypen, Arbeitselementabfragen, Dokumente und Berichte für ein Projekt hoch. Andere Aufgaben, die Sie definieren können, konfigurieren andere Bereiche von Visual Studio Application Lifecycle Management, z. B. Team Foundation Build, Visual Studio Lab Management, Test Manager und Team Foundation-Versionskontrolle.

Syntaxstruktur für Aufgaben

Sie können mehrere Aufgaben in einem Plug-In angeben. Diese Aufgaben weisen möglicherweise gegenseitige Abhängigkeiten auf. Die Tasks, die Sie für jedes Plug-In definieren, müssen der Schemadefinition für Tasks entsprechen, die in der Tasks.xsd-Datei definiert ist, und mithilfe des Tasks-Containerelements in einer eigenen Datei angegeben werden .

Die folgende Syntax zeigt die obere Struktur des Tasks-Elements und seiner untergeordneten Elemente.

<tasks>  
      <task>  
      <dependencies>  
         <dependency />  
        . . .          
      </dependencies />  
      <taskXml>  
        . . .          
      </taskXml>  
      <task/>  
</tasks>   

Tasks-Elementverweis

In der folgenden Tabelle wird jedes Element beschrieben, mit dem die Aufgaben für ein Plug-In definiert werden können.

Element

Beschreibung und Syntax

dependencies

Optionales untergeordnetes Element der Aufgabe. Gibt andere Gruppen an, von denen eine Gruppe abhängig ist.

<dependencies> 
<dependency>. . . </dependency>
</dependencies/>

Abhängigkeit

Optionales untergeordnetes Element von Abhängigkeiten. Gibt die ID einer anderen Aufgabe an, von der diese Aufgabe abhängig ist. Die andere Aufgabe muss abgeschlossen sein, bevor diese Aufgabe gestartet werden kann.

<dependency taskId="taskId" />

Processtemplate

Optionales untergeordnetes Element des taskXml-Elements für die Build- und Lab-Plug-Ins. Gibt den Namen, speicherort und das Ziel einer Datei an, die hochgeladen werden soll, um Buildprozesse für ein Projekt zu unterstützen.

<ProcessTemplate Type="FileType" Filename="LocalPathAndFileName" 
Description="FileDescription" ServerPath="UploadLocation" />

Dabei ist jedes Attribut folgendermaßen definiert:

  • Typ: Der Typ der Datei, die hochgeladen wird. Die folgenden Werte sind gültig: Default und für Upgrade Buildvorlagendateien und Custom für Labvorlagendateien.
  • Dateiname: Der Pfad des lokalen Verzeichnisses und der Name der hochzuladenden Datei.
  • Beschreibung: Eine kurze Textzeichenfolge, die die hochzuladende Datei beschreibt.
  • ServerPath: Der Pfad des Servers, auf dem ausgeführt wird Team Foundation Server wo die Datei hochgeladen werden soll. Der einzige gültige Uploadspeicherort ist $/$$PROJECTNAME$$/BuildProcessTemplates.

Aufgabe

Erforderliches untergeordnetes Element von Aufgaben. Gibt die Arbeit an, die auftreten muss, um etwas spezifisches für den Prozess in einem neuen Projekt zu konfigurieren.

<task id="task id" name="name of task"      plugin="Microsoft.ProjectCreationWizard.PluginName" 
completionMessage="SuccessfulCompletionMessage" 
completionDescription="InProcessMessage">
<dependencies> . . . </dependencies>
<taskXml> . . . </taskXml>
</task/>

Dabei ist jedes Attribut folgendermaßen definiert:

  • Typ: id: Gibt einen Namen an, der die Aufgabe identifiziert. Wenn eine andere Aufgabe von dieser Aufgabe abhängig ist, verweist sie auf diese ID. Sie müssen einen eindeutigen Wert für die ID innerhalb der Plug-In-Datei zuweisen.
  • name: Beschreibt die Aufgaben.
  • plugin: Gibt an, welches Plug-In diese Aufgabe ausführen muss.
  • completionMessage: Gibt die Meldung an, die während der Projekterstellung angezeigt werden soll, um anzugeben, dass die Aufgabe erfolgreich abgeschlossen wurde. Die maximale Länge beträgt 256 Zeichen.
  • completionDescription: Gibt die Meldung an, die während der Projekterstellung angezeigt werden soll, um anzugeben, dass die Aufgabe verarbeitet wird. Minimale Länge beträgt 1 Zeichen.

tasks

Erforderliches untergeordnetes Element von taskXml. Enthält eine Auflistung von Aufgabenelementen , die jeweils die Arbeit angeben, die zum Konfigurieren eines bestimmten Prozesses in einem neuen Projekt erfolgen muss.

<tasks>
<task/>. . . </task>
</tasks />

taskXml

Erforderliches Stammelement für eine Plug-In-Datei. Beschreibt die Arbeitsschritte, die zur Ausführung dieser Aufgabe erforderlich sind. Die XML in diesem Elementblock variiert abhängig vom jeweiligen Plug-In.

Hinweis

Der Inhalt im Element wird vom XML-Prozessor nicht überprüft.


<taskXml> . . . </taskXml>

Index für taskXML-Elemente nach Funktion

Weitere Informationen zu den Merkmalen der XML-Markupelemente, die für jedes Plug-In angegeben werden können, finden Sie in einem der folgenden Themen:

Beispiel: Definieren von Arbeitselementtypen

Das folgende Beispiel zeigt eine Aufgabe, die sechs Typen von Arbeitsaufgaben durch Verweisen auf die Definitionsdateien für jeden Typ erstellt.

<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>