Comment mettre à jour par lots plusieurs éléments de travail dans TFS
-
06-07-2019 - |
Question
Je dois mettre à jour le même champ avec la même valeur pour des centaines d’éléments de travail dans TFS. Existe-t-il un moyen de procéder par lots plutôt que de les mettre à jour manuellement, un par un?
La solution
Vous pouvez le faire dans Excel :
- Ouvrez les éléments de travail dans Excel via:
- cliquez avec le bouton droit de la souris sur une requête dans Team Explorer - > ouvrir dans Excel
- sélectionnez plusieurs éléments de travail dans un volet de résultats WIT, puis cliquez avec le bouton droit de la souris - > ouvrir dans Excel
- chargez Excel, utilisez Team - > Importer pour charger une requête prédéfinie
- ouvrir un fichier * .xls déjà lié à TFS
- Faites vos modifications en bloc
- Cliquez sur le bouton Publier du ruban de l'équipe .
Documentation complète: Gestion des éléments de travail dans Excel (page de présentation; lots & amp; beaucoup de liens à l'intérieur)
vous pouvez modifier en bloc l'interface Web aussi
Ligne de commande Windows :
REM make Martin Woodward fix all my bugs
tfpt query /format:id "TeamProject\public\My Work Items" |
tfpt workitem /update @ /fields:"Assigned To=Martin"
Powershell :
# make Bill & Steve happy
$tfs = tfserver -path . -all
$items = $tfs.wit.Query("
SELECT id FROM workitems
WHERE [Created By] IN ('bill gates', 'steve ballmer')") |
% {
Vous pouvez le faire dans Excel :
- Ouvrez les éléments de travail dans Excel via:
- cliquez avec le bouton droit de la souris sur une requête dans Team Explorer - > ouvrir dans Excel
- sélectionnez plusieurs éléments de travail dans un volet de résultats WIT, puis cliquez avec le bouton droit de la souris - > ouvrir dans Excel
- chargez Excel, utilisez Team - > Importer pour charger une requête prédéfinie
- ouvrir un fichier * .xls déjà lié à TFS
- Faites vos modifications en bloc
- Cliquez sur le bouton Publier du ruban de l'équipe
.
Documentation complète:
Gestion des éléments de travail dans Excel (page de présentation; lots & amp; beaucoup de liens à l'intérieur)
vous pouvez modifier en bloc l'interface Web aussi
Ligne de commande Windows :
REM make Martin Woodward fix all my bugs
tfpt query /format:id "TeamProject\public\My Work Items" |
tfpt workitem /update @ /fields:"Assigned To=Martin"
Powershell :
<*>.Open()
Vous pouvez le faire dans Excel :
- Ouvrez les éléments de travail dans Excel via:
- cliquez avec le bouton droit de la souris sur une requête dans Team Explorer - > ouvrir dans Excel
- sélectionnez plusieurs éléments de travail dans un volet de résultats WIT, puis cliquez avec le bouton droit de la souris - > ouvrir dans Excel
- chargez Excel, utilisez Team - > Importer pour charger une requête prédéfinie
- ouvrir un fichier * .xls déjà lié à TFS
- Faites vos modifications en bloc
- Cliquez sur le bouton Publier du ruban de l'équipe
.
Documentation complète:
Gestion des éléments de travail dans Excel (page de présentation; lots & amp; beaucoup de liens à l'intérieur)
vous pouvez modifier en bloc l'interface Web aussi
Ligne de commande Windows :
REM make Martin Woodward fix all my bugs
tfpt query /format:id "TeamProject\public\My Work Items" |
tfpt workitem /update @ /fields:"Assigned To=Martin"
Powershell :
<*>.Fields["priority"].value = 1
Vous pouvez le faire dans Excel :
- Ouvrez les éléments de travail dans Excel via:
- cliquez avec le bouton droit de la souris sur une requête dans Team Explorer - > ouvrir dans Excel
- sélectionnez plusieurs éléments de travail dans un volet de résultats WIT, puis cliquez avec le bouton droit de la souris - > ouvrir dans Excel
- chargez Excel, utilisez Team - > Importer pour charger une requête prédéfinie
- ouvrir un fichier * .xls déjà lié à TFS
- Faites vos modifications en bloc
- Cliquez sur le bouton Publier du ruban de l'équipe
.
Documentation complète:
Gestion des éléments de travail dans Excel (page de présentation; lots & amp; beaucoup de liens à l'intérieur)
vous pouvez modifier en bloc l'interface Web aussi
Ligne de commande Windows :
REM make Martin Woodward fix all my bugs
tfpt query /format:id "TeamProject\public\My Work Items" |
tfpt workitem /update @ /fields:"Assigned To=Martin"
Powershell :
<*>
}
# note: this will be much faster than tfpt since it's only one server call
$tfs.wit.BatchSave($items)
Autres conseils
$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()
}
Vous pouvez télécharger le script de détail à partir de comment mettre à jour par lots plusieurs éléments de travail. dans TFS by PowerShell