CSV ファイルを使用して作業項目を一括でインポートおよび更新する

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

Azure DevOps で CSV 形式のファイルを使用して、作業項目を一括でインポートおよびエクスポートします。 一括インポートと更新には引き続き Excel を使用できますが、Excel を必要としないネイティブのインポートとエクスポート機能を使用できます。 詳細については、「Excel での作業項目の一括追加または変更」を参照してください。

CSV 形式のファイルを使って、作業項目を一括でエクスポートできます。 一括インポートと更新には引き続き Excel を使いますが、Excel を必要としないクエリからのネイティブ エクスポート機能を使用できます。 詳細については、「Excel での作業項目の一括追加または変更」を参照してください。

Note

エクスポート機能は、Azure DevOps Server 2019 Update 1 以降のバージョンで使用できます。 インポート機能は、Azure DevOps Server 2020 と Azure DevOps Services で使用できます。

新しい作業項目をインポートする

インポートするすべての作業項目は、"新規" 状態で作成されます。 このルールは、新規状態のフィールド ルールを満たさないフィールド値を指定できないことを意味します。 たとえば、アジャイル プロセスで新しいユーザー ストーリーを作成するときは、State = NewReason = New になります。 これ以外の値は指定できせん。

  1. ローカル環境に import.csv ファイルを作成し、Visual Studio Code または Excel で開きます。

  2. ファイルには、Work Item TypeTitle フィールドが含まれている必要があります。 必要に応じて、他のフィールドを含めることができます。 既定のフィールドの一覧については、「作業項目フィールドのインデックス」を参照してください。

    次の例では、Priority フィールドを含めています。

    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. プロジェクトの Web ポータルで [Boards] - [クエリ] を開き、[作業項目のインポート] オプションを選びます。

    Screenshot showing Boards - Queries, Import Work Items

  4. CSV ファイルを選んで、[インポート] を選びます。

    Screenshot showing Import Work Items Button Image.

    インポート プロセスにより、インポートされた作業項目が保存されていない状態でクエリ ビューに読み込まれます。 ID は割り当てられません。

  5. 結果を確認し、[項目の保存] を選択して作業項目を保存します。

    Screenshot showing Save button for imported work items.

    ヒント

    追加する新しい作業項目に ID を割り当てないでください。そうでないと、エラー メッセージが表示されます。

    "TFS401232: 作業項目 1794 が存在しないか、この作業項目を読み取るためのアクセス許可がありません。"

  6. データに問題がある作業項目が強調表示されます。 作業項目を保存する前に、データの問題を解決します。 この例では、Priority フィールドに無効な値が入力されています。 作業項目を直接開いてデータを修正します。 または、一括編集を使って、同じ問題がある複数の作業項目を修正します。

    Screenshot showing fix work items with data issues.

ヒント

この記事で後述する「親子リンクを含む CSV ファイルをインポートできますか?」の例で示されているように、タイトル列をインデントすることで、インポートする作業項目の間に親子リンクを追加できます。 ただし、作業項目をインポートまたは更新するときに、他のリンクの種類を指定することはできません。

Note

最大 1,000 個の作業項目を一度にインポートできます。 インポートする作業項目が 1,000 個を超える場合、複数のファイルに分割し、個別にインポートします。

既存の作業項目を更新する

  1. 作業項目を更新するには、エクスポートして編集する可能性のあるすべての列を含むクエリを作成します。 クエリを保存し、[CSV にエクスポート] を選んで、data.csv ファイルをローカル コンピューターに保存します。

    Screenshot showing export work items, CSV.

    エクスポートされたファイルは、次の構文のようになります。

     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. 作業項目を編集します。 CSV ファイルには、IDWork Item TypeTitleState の各フィールドが含まれている必要があります。 その他のフィールドは必要に応じて含めることができます。

    Note

    ID フィールドをインポートするときは、名前とメール アドレスを "Display Name <email>" の形式で入力します。 たとえば、Jamal Hartnett に作業を割り当てるには、"Jamal Hartnett <fabrikamfiber4@hotmail.com>" と指定します。 システムが有効なユーザーとして認識しない値を指定すると、インポートで問題が発生する可能性があります。

    次の例では、既存の作業項目の複数の値を変更します。

    "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. ファイルを保存してインポートします (前のインポート セクションの手順 4 から 6 を参照)。

  4. 結果リストでは、値の変更を含む作業項目は太字で強調表示されます。 [項目の保存] を選んで変更を適用します。

    Screenshot showing Import Work Items, Save Items.

  5. データに問題がある作業項目は赤で強調表示され、保存する前に解決する必要があります。 この例では、Assigned To フィールドの値が無効です。 作業項目を直接開いてデータを修正します。 同じ問題を持つ作業項目が多数ある場合は、一括編集を使用できます。

    Screenshot showing Invalid value appearing in the Assigned To field.

リストを CSV ファイルとしてエクスポートする

どのクエリからでも、作業項目の一覧をコンマ区切りのリストとしてエクスポートできます。 クエリを開き アクション アイコンを選んで、[CSV にエクスポート] を選びます。

Note

Azure DevOps Server 2019 Update 1 以降のバージョンが必要です。

Screenshot showing Export a query as CSV.

作業項目をエクスポートして別のプロジェクトにインポートする

この機能を使うと、あるプロジェクトから作業項目をエクスポートして、別のプロジェクトにインポートできます。 ただし、別のプロジェクトにインポートする前に、作業項目 ID を削除する必要があります。 ID が指定されている新しい作業項目をプロジェクトにインポートしようとすると、エラーが発生します。

リッチ テキスト フィールドをインポートまたは更新する

DescriptionAcceptance Criteria フィールドなどのリッチ テキスト フィールドを更新またはインポートできます。 リッチ テキスト フィールドは HTML 形式のフィールドです。 CRLF で終わる行を、<p>... </p> で囲まれた文に置き換えます。

たとえば、Description フィールドに 3 行のテキストが含まれる次の作業項目をインポートできます。

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>"

よく寄せられる質問

Q: 同じ CSV ファイルで、新しい項目のインポートと、既存の項目の更新を行うことはできますか?

A: もちろん、可能です。 新しい作業項目の ID フィールドは空のままにします。 次の例では、Epic の最後のエントリには 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",

Q: 複数のタグを追加するにはどうすればよいですか?

A: セミコロンで区切ることで複数のタグを追加できます。 詳しくは、「Excel で実行できるタスクと実行できないタスク」をご覧ください。

A: はい。タイトル列をインデントすることで、子作業項目を追加できます。 次の例では、既に定義されているエピックの下に、3 つの子問題を追加しています。

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",

Screenshot showing Excel view.

Q: インポートされるファイルにエラーがあるかどうかは、どうすればわかりますか?

A: たとえば、スペースとハイフンを含むタグを追加し、それをエクスポートに含めることでテストできます。 インポートは同じ形式になっている必要があります。 CSV ファイルの書式設定に関する問題は、インポート ビューの [結果] ページに表示されます。 書式と構文が正しくなるまで、作業項目をインポートすることはできません。

CSV Error image

作業項目の結果には、個々の作業項目で検出されたデータ エラーが常に一覧表示されます。 Web ポータルまたは CSV ファイルで各エラーを修正してから、もう一度インポートします。

Q: 一部の ID 値でエラーが発生するのはなぜですか?

A: Web UI を使うと、ID ピッカーによって追加の手順が実行されてユーザーが検証されます。 最初に、そのユーザーが組織内の有効なユーザーかどうかを確認します。そうでない場合は、Microsoft Entra ID 内の ID を検索します。 ユーザーが Microsoft Entra ID 内にあっても組織内に存在しない場合、そのユーザーは有効な ID に追加されます。 CSV からインポートするときは、パフォーマンス上の理由から、ID ピッカーではこれらの追加手順を実行しません。 一致する UPN が既に組織に存在するかどうかだけを確認します。一致する UPN が見つからない場合は、ID が不明であることを報告します。

Q: CSV のインポートでは、すべての作業項目の種類がサポートされていますか?

A: いいえ。CSV のインポートでは、次の作業項目の種類はサポートされていません。

  • コード レビュー リクエスト
  • コード レビュー応答
  • フィードバック要求
  • フィードバック応答
  • テスト ケース
  • テスト計画
  • テスト スイート
  • 共有パラメーター

詳細については、「テスト ケースの一括インポートまたはエクスポート」を参照してください。