Wie kann TFS bestimmte Aufgaben automatisch zu bestimmten Aufgaben hinzufügen?

9

Wir verwenden TFS an meinem Arbeitsplatz, um unseren Quellcode zu verwalten und die Entwicklung zu verfolgen.

Wann immer wir einen Fehler haben oder arbeiten müssen, müssen wir mindestens die folgenden zwei Aufgaben erledigen:

  • Testen Sie die Arbeit oder entscheiden Sie, ob Tests erforderlich sind.
  • Aktualisieren Sie die Versionshinweise für die aktuelle Version oder entscheiden Sie, ob ein bestimmter Eintrag erforderlich ist.

Andere Aufgaben sind spezifisch für die zu erledigende Arbeit, aber ich gebe ständig "Testen" und "Versionshinweise" ein, wenn ich neue Arbeitselemente hinzufüge.

Gibt es eine Möglichkeit, TFS dazu zu bringen, diese beiden Aufgaben automatisch hinzuzufügen, wenn ein neuer Fehler oder ein neues Arbeitselement erstellt wird? In dem seltenen Fall, dass diese Aufgaben nicht erforderlich sind, können sie für dieses Arbeitselement einfach als erledigt oder entfernt markiert werden, sodass ich mir keine Sorgen über die Auswirkungen dieser automatischen Ausführung mache.

Ich habe mich umgesehen und es sieht so aus, als ob ich möglicherweise ein PowerShell-Skript erstellen kann , um die Aufgaben zu allen Arbeitselementen hinzuzufügen, denen sie fehlen. Dies ist möglicherweise der richtige Weg.

Oliver-Clare
quelle

Antworten:

11

Wichtige Notiz

Es gibt keine sofort einsatzbereite Funktion dafür, und normalerweise versuche ich, Leute von allgemeinen Aufgaben wie "Testen", "Bereitstellen" fernzuhalten und sie über das Testen während der gesamten Arbeit nachdenken zu lassen und sie definieren zu lassen Zwischentests, die sie unterwegs ausführen möchten.

Allgemeine Dinge wie Versionshinweise und Bereitstellung können vollständig automatisiert werden. Wahrscheinlich auch mit Powershell;).

Deshalb versuche ich, die Leute dazu zu bringen, sich darauf zu konzentrieren, mit ihrem Powershell-Fu diese generischen und schlechten Aufgaben zu automatisieren.

Die Antwort

Das ist natürlich nicht die Antwort auf Ihre Frage an sich. Hier ist die eigentliche Antwort: Ja, Powershell ist eine Option . Sie können die REST-API oder das Client-Objektmodell aufrufen und damit Wok-Elemente abfragen und neue Arbeitselemente erstellen. Die API ist weit verbreitet und es gibt viele Informationen in Bezug auf Blog-Beiträge und dergleichen. Sie können auch eine kleine Konsolenanwendung erstellen, die dasselbe Clientobjektmodell verwendet .

Sie können auch die SOAP-API aus den Warnungen verwenden, um benachrichtigt zu werden, wenn ein Workitem hinzugefügt oder geändert wird, und Ihren Code darauf reagieren zu lassen, indem Sie die erforderlichen untergeordneten Workitems hinzufügen.

Eine Alternative zur SOAP-API ist die Verwendung des TFS-Aggregators, der in den Server selbst integriert ist. Es wird dasselbe TFS-Clientobjektmodell verwendet. Ich bin Teil des Teambuildings und wir haben es sowohl für 2013u2 + als auch für 2015+ veröffentlicht . Mit dem TFS-Aggregator können Sie Regeln schreiben, die Powershell of C # -Script verwenden, um auf Änderungen an Arbeitselementen zu reagieren. Es wurde bereits viel Arbeit geleistet, um häufige Fallstricke bei der Arbeit mit dem Client-Objektmodell aus Sicht der Automatisierung zu vermeiden.

Der TFS-Aggregator ist ein serverseitiges Pugin für TFS 2013 (Update 2 und höher), mit dem jetzt neue Arbeitselemente basierend auf Regeln erstellt werden können. Eine Beispielaufgabe finden Sie hier:

jessehouwing
quelle