Partager via


Importer et mettre à jour des éléments de travail en bloc à l’aide de fichiers CSV

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Importez et exportez des éléments de travail en bloc en tirant parti d’un fichier au format CSV dans Azure DevOps. Bien que vous puissiez continuer à utiliser Excel pour l’importation et les mises à jour en bloc, vous pouvez utiliser la fonctionnalité d’importation/exportation native qui ne nécessite pas Excel. Pour plus d’informations, consultez Ajouter ou modifier les éléments de travail en bloc avec Excel.

Vous pouvez exporter des éléments de travail en bloc à l’aide d’un fichier au format CSV. Même si vous continuez à utiliser Excel pour l’importation en bloc et les mises à jour, vous pouvez utiliser la fonctionnalité d’exportation native à partir de requêtes, qui ne nécessite pas Excel. Pour plus d’informations, consultez Ajouter ou modifier les éléments de travail en bloc avec Excel.

Remarque

La fonctionnalité d’exportation est disponible avec Azure DevOps Server 2019 Update 1 et versions ultérieures. La fonctionnalité d’importation est disponible avec Azure DevOps Server 2020 et Azure DevOps Services.

Importer de nouveaux éléments de travail

Procédez comme suit pour importer de nouveaux éléments de travail.

Remarque

Vous pouvez importer jusqu’à 1 000 éléments de travail à la fois. Si vous avez plus de 1 000 éléments de travail à importer, divisez-les en plusieurs fichiers et importez-les séparément.

  1. Créez un fichier import.csv local et ouvrez-le dans Visual Studio Code ou Excel.

  2. Le fichier doit contenir les champs Type d’élément de travail et Titre. Vous pouvez inclure d’autres champs si nécessaire. Pour obtenir la liste des champs par défaut, consultez Index des champs d’élément de travail.

    Dans l’exemple suivant, nous incluons le champ Priorité.

    Work Item Type,Title,Priority
    Issue,Fix issues with code,1
    Issue,Merge testing modules,3
    Issue,Open private preview for select customers,2
    Issue,Enable feature for customer champs,2
    Issue,Remove old test code,2
    
  3. À partir du portail web de votre projet, ouvrez Tableaux>Requêtes, puis sélectionnez Importer des éléments de travail.

    Capture d’écran montrant Tableaux - Requêtes, Importer des éléments de travail.

  4. Sélectionnez Choisir un fichier, choisissez votre fichier, puis sélectionnez Importer.

    Capture d’écran montrant l’image du bouton Importer des éléments de travail.

    Le processus d’importation charge les éléments de travail importés dans la vue Requêtes dans un état non enregistré. Aucun ID n’a été attribué.

  5. Vérifiez les résultats, puis sélectionnez Enregistrer les éléments pour enregistrer les éléments de travail.

    Capture d’écran montrant le bouton Enregistrer pour les éléments de travail importés.

    Conseil

    Évitez d’affecter des ID aux nouveaux éléments de travail que vous ajoutez ; cela entraîne un message d’erreur.

  6. Le système met en évidence ces éléments de travail avec des problèmes de données. Résolvez les problèmes de données avant d’enregistrer les éléments de travail. Dans cet exemple, une valeur non valide se trouve dans le champ Priorité. Corrigez les données en ouvrant directement l’élément de travail. Utilisez plutôt la modification en bloc pour résoudre plusieurs éléments de travail avec le même problème.

    Capture d’écran montrant la correction des éléments de travail avec des problèmes de données.

Conseils

  • Liens parent-enfant : vous pouvez ajouter des liens parent-enfant entre les éléments de travail que vous importez en mettant en retrait les colonnes de titre, comme indiqué dans l’exemple Puis-je importer un fichier CSV contenant des liens parent-enfant ? Toutefois, vous ne pouvez pas spécifier d’autres types de liens lors de l’importation ou de la mise à jour d’éléments de travail.
  • Champ État par défaut : lorsque vous importez de nouveaux éléments de travail, le champ « État » est toujours défini sur « Nouveau » par défaut. Vous ne pouvez pas spécifier un état différent pendant le processus d’importation. Si vous devez modifier l’état des éléments de travail importés, vous pouvez utiliser la solution de contournement suivante :
    1. Importez les éléments de travail avec l’état « Nouveau » par défaut.
    2. Exportez les éléments de travail importés dans un fichier CSV.
    3. Mettez à jour les valeurs de champ « État » dans le fichier CSV exporté.
    4. Réimportez le fichier CSV mis à jour pour définir les états souhaités.
  • Champs « Zone » et « Itération » par défaut : les champs « Zone » et « Itération » sont par défaut au nœud de niveau supérieur. Ce comportement se produit parce que le processus d’importation n’a pas le contexte de ces champs, sauf indication explicite dans le fichier CSV. Pour définir des chemins d’accès « Zone » et « Itération » spécifiques lors de l’importation, vérifiez que ces champs sont inclus dans votre fichier CSV avec les valeurs correctes. Par exemple :
    Title,Description,Area Path,Iteration Path
    "Sample Work Item","This is a sample description.","Project\Team","Project\Sprint 1"
    

Mettre à jour des éléments de travail existants

  1. Pour mettre à jour des éléments de travail, créez une requête qui contient toutes les colonnes que vous souhaitez exporter et éventuellement modifier. Enregistrez votre requête et sélectionnez Exporter au format CSV pour enregistrer le fichier data.csv sur votre ordinateur local.

    Capture d’écran montrant l’exportation d’éléments de travail, CSV.

    Le fichier exporté devrait ressembler à la syntaxe suivante :

     ID,Work Item Type,State,Assigned To,Title,Tags
     "1043","Issue","To Do",,"Fix issues with code",
     "1044","Issue","To Do",,"Merge testing modules",
     "1045","Issue","To Do",,"Open private preview for select customers",
     "1046","Issue","To Do",,"Enable feature for customer champs",
     "1047","Issue","To Do",,"Remove old test code",
    
  2. Apportez les modifications à vos éléments de travail. Votre fichier CSV doit contenir les champs ID, Type d’élément de travail, Titre et État. Tous les autres champs que vous souhaitez inclure sont facultatifs.

    Remarque

    Lorsque vous importez des champs d’identité, entrez le nom et l’e-mail au format suivant "Display Name <email>". Par exemple, pour affecter du travail à Jamal Hartnett, spécifiez "Jamal Hartnett <fabrikamfiber4@hotmail.com>". Si vous spécifiez une valeur qui n’est pas reconnue comme un utilisateur valide pour le système, vous pourriez rencontrer des problèmes avec l’importation.

    Dans l’exemple suivant, nous modifions plusieurs valeurs sur des éléments de travail existants.

    "1043","Issue","To Do","Jamal Hartnett <fabrikamfiber4@hotmail.com>","Fix issues with code",architecture
    "1044","Issue","To Do","Jamal Hartnett <fabrikamfiber4@hotmail.com>","Merge testing modules",testing
    "1045","Issue","To Do","Raisa Pokrovskaya <fabrikamfiber5@hotmail.com>","Open private preview for select customers","customer focus"
    "1046","Issue","To Do","Raisa Pokrovskaya <fabrikamfiber5@hotmail.com>","Enable feature for customer champs","customer focus"
    "1047","Issue","To Do","Christie Church <fabrikamfiber1@hotmail.com>","Remove old test code",architecture```
    
    
  3. Enregistrez le fichier et importez-le (consultez les étapes 4 à 6 de la section d’importation précédente.)

  4. La liste des résultats avec les éléments de travail qui contiennent des modifications de valeur apparaît avec une mise en évidence en gras. Sélectionnez Enregistrer les éléments pour appliquer les modifications.

    Capture d’écran montrant Importer des éléments de travail, Enregistrer des éléments.

  5. Les éléments de travail présentant des problèmes de données sont mis en surbrillance en rouge et doivent être résolus avant de pouvoir les enregistrer. Dans cet exemple, une valeur non valide apparaît dans le champ Affecté à. Corrigez les données en ouvrant directement l’élément de travail. Vous pouvez utiliser la modification en bloc si vous avez de nombreux éléments de travail avec le même problème.

    Capture d’écran montrant la valeur Non valide apparaissant dans le champ Attribué à.

Exporter la liste en tant que fichier CSV

À partir de n’importe quelle requête, vous pouvez exporter une liste d’éléments de travail sous la forme d’une liste délimitée par des virgules. Ouvrez la requête, sélectionnez l’icône d’actions , puis Exporter au format CSV.

Remarque

Nécessite Azure DevOps Server 2019 Update 1 ou version ultérieure.

Capture d’écran montrant Exportation d’une requête au format CSV.

Exporter et importer des éléments de travail dans un autre projet

Vous pouvez utiliser cette fonctionnalité pour exporter des éléments de travail à partir d’un projet et les importer dans un autre projet. Toutefois, avant de les importer dans un autre projet, vous devez supprimer l’ID d’élément de travail. Vous recevez une erreur si vous tentez d’importer de nouveaux éléments de travail dans un projet avec un ID spécifié.

Importer des champs HTML

Les champs HTML, notamment les descriptions et les critères d’acceptation, incluent la mise en forme de texte enrichi. Pour vous assurer que cette mise en forme est conservée, effectuez les tâches suivantes :

  1. Vérifiez que votre fichier CSV inclut des balises HTML dans les champs appropriés.
  2. Importez le fichier CSV dans l’Excel.

Excel peut gérer différemment les champs de texte à plusieurs lignes. Il est donc important de vérifier la mise en forme après l’importation. Remplacez les lignes se terminant par CRLF en entourant les phrases environnantes par <p>... </p>.

Par exemple, vous pouvez importer l’élément de travail suivant, qui comprend trois lignes de texte dans le champ Description.

Work Item Type,Title,Description
"Product Backlog Item","Hello World Web Site - 8","<p><strong>&nbsp;You can include bold text</strong></p><p><em>&nbsp;And italic text</em></p><p><u>&nbsp;Underline text</u></p>"

Convertir des champs sur une ou plusieurs lignes en texte brut

Pour désactiver le code HTML dans les champs à une ou plusieurs lignes pour vous assurer qu’ils sont en texte brut, vous pouvez utiliser la commande witadmin changefield. Pour obtenir des instructions détaillées, consultez Gérer des champs d’éléments de travail.

Exemple de commande  :

witadmin changefield /collection:CollectionURL /n:FieldName /type:PlainText

Gérer les incohérences de mise en forme

Lorsque vous travaillez avec des champs HTML sur différents produits Microsoft, vous pouvez rencontrer des incohérences de mise en forme. Voici quelques conseils pour gérer ces problèmes :

  • Examinez la mise en forme après l’importation pour vous assurer qu’elle répond à vos besoins.
  • Utilisez les balises et les structures HTML appropriées pour réduire les écarts. Vous pouvez ajouter plusieurs étiquettes séparées par point-virgule. Pour plus d’informations, consultez Tâches que vous pouvez et ne pouvez pas effectuer avec Excel.

Pour en savoir plus sur la gestion du contenu HTML et la compatibilité, consultez la documentation officielle sur le contenu HTML dans Azure DevOps.

FAQ

Q : Puis-je importer de nouveaux éléments et mettre à jour des éléments existants dans le même fichier CSV ?

R : Absolument ! Laissez le champ ID vide pour les nouveaux éléments de travail. Dans l’exemple suivant, la dernière entrée d’une épopée ne spécifie pas d’ID.

ID,Work Item Type,Title,Assigned To,State,Priority,Tags
"16504","Issue","Fix issues with code",,"To Do","1",
"16505","Issue","Merge testing modules",,"To Do","3",
"16506","Issue","Open private preview for select customers",,"To Do","2",
"16507","Issue","Enable feature for customer champs",,"To Do","2",
"16508","Issue","Remove old test code",,"To Do","2",
,"Epic","Track Telemetry for data imports",,"To Do","2",

R : Oui, vous pouvez ajouter des éléments de travail enfants en mettant en retrait les colonnes de titre. L’exemple suivant ajoute trois problèmes enfants sous l’épopée déjà définie.

ID,Work Item Type,Title 1,Title 2,Assigned To,State,Priority,Tags
"165","Epic","Track Telemetry for data imports",,,"To Do","2",
,"Issue",,"Fix issues with code",,"To Do","1",
,"Issue",,"Open private preview for select customers",,"To Do","2",
,"Issue",,"Enable feature for customer champs",,"To Do","2",

Capture d’écran montrant la vue Excel.

Q : Comment savoir si mon fichier importé contient des erreurs ?

R : Vous pouvez tester en ajoutant des étiquettes avec des espaces et des traits d’union, par exemple, et les inclure dans l’exportation. L’importation doit correspondre au même format. Tout problème de mise en forme de votre fichier CSV apparaît dans la page Résultats de la vue d’importation. Vous ne pouvez pas importer les éléments de travail tant que la mise en forme et la syntaxe ne sont pas correctes.

Capture d’écran de l’erreur CSV.

Les résultats de l’élément de travail répertorient toujours les erreurs de données détectées pour des éléments de travail individuels. Corrigez chaque erreur à partir du portail web ou dans le fichier CSV et importez à nouveau.

Q : Pourquoi est-ce que je reçois des erreurs pour certaines valeurs d’identité ?

R : Lorsque vous utilisez l’interface utilisateur web, le sélecteur d’identité effectue des étapes supplémentaires pour valider l’utilisateur. Tout d’abord, il vérifie si la personne est un utilisateur valide dans l’organisation. Si ce n’est pas le cas, il recherche l’identité dans Microsoft Entra ID. Si l’utilisateur se trouve dans Microsoft Entra ID, mais pas dans l’organisation, cet utilisateur est ajouté aux identités valides. Lorsque vous importez via CSV, pour des raisons de niveau de performance, le sélecteur d’identité ne passe pas par ces étapes supplémentaires. Il vérifie uniquement qu’un UPN correspondant existe déjà dans l’organisation. S’il ne trouve aucun UPN correspondant, il signale que l’identité est inconnue.

Q : L’importation CSV prend-elle en charge tous les types d’élément de travail ?

R : Non. L’importation CSV ne prend pas en charge les types d’élément de travail suivants :

  • Demande de revue du code
  • Réponse de revue du code
  • Demande de commentaires
  • Réponse aux commentaires
  • Cas de test
  • Plan de test
  • Suite de tests
  • Paramètre partagé

Pour obtenir plus d’informations, consultez Cas de test d’importation ou d’exportation en bloc.