Frage

Ich muss das gleiche Feld für denselben Wert für Hunderte von Arbeitskräften in TFs aktualisieren. Gibt es eine Möglichkeit, dies in einer Stapel zu tun, anstatt sie nacheinander manuell zu aktualisieren?

War es hilfreich?

Lösung

Sie können dies in tun Excel:

  1. Öffnen Sie die Arbeitsartikel in Excel, über:
    • Klicken Sie mit der rechten Maustaste in Team Explorer -> in Excel öffnen
    • Multi -Select Einige Arbeitselemente in einem Wit -Ergebnis -Bereich, dann mit der rechten Maustaste -> in Excel öffnen
    • Laden Sie Excel, verwenden Sie Team -> importieren, um eine vordefinierte Abfrage zu laden
    • Öffnen Sie eine *.xls -Datei, die bereits an TFS gebunden ist
  2. Machen Sie Ihre Bulk -Änderungen
  3. Klicken Sie auf die Schaltfläche Veröffentlichen im Teamband

enter image description here

Vollständige Dokumentation:Verwaltung von Arbeitsgegenständen in Excel (Übersichtsseite; viele und viele Links im Inneren)

Sie können auch in der Webschnittstelle in die Masse eingehen

Windows -Befehlszeile:

REM make Martin Woodward fix all my bugs
tfpt query /format:id "TeamProject\public\My Work Items" | 
    tfpt workitem /update @ /fields:"Assigned To=Martin"

Power Shell:

# make Bill & Steve happy
$tfs = tfserver -path . -all
$items = $tfs.wit.Query("
    SELECT id FROM workitems 
    WHERE [Created By] IN ('bill gates', 'steve ballmer')") | 
    % {
        $_.Open()
        $_.Fields["priority"].value = 1
        $_
    }
# note: this will be much faster than tfpt since it's only one server call
$tfs.wit.BatchSave($items)   

Andere Tipps

$secpasswd = ConvertTo-SecureString $TfsPasswd -AsPlainText -Force
$mycreds = New-Object System.Management.Automation.PSCredential ($TfsUserName, $secpasswd)
Connect-TfsTeamProjectCollection -Server $TfsServerUrl -Collection $TfsCollection -Credential $mycreds
#Get-TfsTeamProject

Connect-TfsTeamProject -Project $TfsProjectName
$workItems  = Get-TfsWorkItem -Filter "[System.WorkItemType] = 'Bug' AND [System.AssignedTo] = '$TfsUserName'"
foreach ($workItem in $workItems)
{
    $tpc = $workItem.Store.TeamProjectCollection
    $id = $workItem.Id
    $store = $tpc.GetService([type]'Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore')
    $wi = $store.GetWorkItem($id)
    $projectName = $wi.Project.Name
    foreach($fldName in $Fields.Keys)
    {
        $wi.Fields[$fldName].Value = $Fields[$fldName]
    }
    $wi.Save()
}

Sie können das Detail -Skript herunterladen So stellen Sie mehrere Arbeitselemente in TFS von PowerShell aktualisiert

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top