2009-05-20 4 views
2

Wir haben gerade mit Team Foundation Server 2008/Visual Studio Team System begonnen und wir freuen uns zu finden, wie wir Arbeitselemente nach unseren Bedürfnissen exportieren und ändern können. Doch diese letzte, was das Setup perfekt für uns machen würde hat sich etwas schwierig erwiesen:Erzwingen Link in Team Foundation Server Fehler Arbeitsaufgabe für Duplikate

Wir haben die Bug Workitem exportiert Typ und haben es vorgenommene Änderungen zu unterschiedlich auf die verschiedenen Gruppen von Benutzern angezeigt. Wir sehen jedoch ein potenzielles Problem in Nicht-Entwicklern, die Fehler melden, die sich als Duplikate herausstellen. Wir möchten erzwingen, dass Benutzer, die ein Ticket mit aufgelöstem Grund schließen: duplicate erstellt auch einen Link zu dem Fehler, der als erster Fehlerbericht wahrgenommen wird.

Ich habe bei System.RelatedLinkCount sah, und legte die Regel

<FIELD type="Integer" name="RelatedLinkCount" refname="System.RelatedLinkCount"> 
    <WHEN field="Microsoft.VSTS.Common.ResolvedReason" value="duplicate"> 
     <PROHIBITEDVALUES> 
     <LISTITEM value="0" /> 
     </PROHIBITEDVALUES> 
    </WHEN> 
    </FIELD> 

aber wenn ich versuche, in diesem Rahmen etwas zu setzen, sagt der Importeur mir, dass System.RelatedLinkCount nicht die Regel akzeptieren, keine Egal was ich mache, aber die obige Regel zeigt, was ich versuche zu tun (auch wenn die am meisten zu bevorzugende Regel auch prüfen würde, dass der Fehler, mit dem ich verlinke, kein Duplikat ist, obwohl das Overkill ist: P)

Hat jemand anderes versucht, Regeln wie diese in Arbeitselementen zu erzwingen? Gibt es einen anderen Ansatz zur Lösung des gleichen Problems? Ich bin dankbar für irgendwelche Gedanken zu diesem Thema.

Antwort

0

Genau das zu tun, was Sie wollen, ist in den aktuellen Versionen von TFS ziemlich schwierig. (Die erweiterte Verknüpfung von 2010 macht es einfacher.) Ich glaube, Sie müssten mindestens einen eigenen Linktyp schreiben und vielleicht auch eine benutzerdefinierte Feldsteuerung. Diese Schnittstellen sind auf MSDN nicht besonders gut dokumentiert, obwohl es Beispiele auf Blogs von Drittanbietern gibt.

Die beste Kompromisslösung IMO ist die Erstellung eines neuen Integer-Feldes namens "Duplicate Bug ID". Wenn ein Fehler in den Status "Gelöst" übergeht und das Feld "Auflösung" doppelt vorhanden ist, wird dieses Feld benötigt. Zu allen anderen Zeiten ist es nur lesbar (und standardmäßig leer). Auf diese Weise werden alle gewünschten Informationen erfasst. Die Nachteile sind:

  • der "Link" ist nicht bidirektional; keine Möglichkeit, von dem ursprünglichen Fehler zu sehen, dass ein später man dagegen hinters Licht geführt wurde aus der Betrogene
  • auf den ursprünglichen Fehler Navigation erfordert STRG + G statt
  • von Doppelklick

Ich denke, die für eine schnelle Lösung gering ist, dass erfüllt 90% der restlichen Anforderungen.

1

Ich bin mir nicht sicher, dies direkt bei der Lösung des Fehlers als Duplikat zu verhindern. Selbst mit der Idee, an der Sie arbeiten, gibt es keine Bestätigung, dass der Link auf einen tatsächlichen Fehler zurückzuführen ist.

Was Sie stattdessen versuchen könnten, ist einen Bericht zu schreiben, der überprüft, ob ein Fehler gelöstes Duplikat einen verwandten Link hat, der zu einem anderen Fehler führt. Lassen Sie die zuständigen Teammitglieder diesen Bericht einmal pro Woche überprüfen. Ein wenig gutmütige "Schuld und Schande" trägt viel dazu bei, ein Projekt sauber zu halten. ;)

0

Sie können dies erreichen, indem Sie ein "Buddy" -Stringfeld erstellen, das seinen Wert entsprechend dem RelatedLinkCount festlegt, und dann Regeln für das Buddy-Feld gemäß dem aufgelösten Grund erzwingen.

Verwandte Themen