チュートリアル : ClearQuest 作業項目の Team Foundation への移行
更新 : 2007 年 11 月
このチュートリアルでは、ClearQuest 作業項目を Team Foundation 作業項目トラッキングに移動する手順について説明します。Team Foundation には、この移行を実行するための変換ユーティリティ CQConverter.exe が付属しています。
このチュートリアルでは、次のタスクを行います。
移行プロセスの構成 構成ファイルを編集して移行プロセスをガイドする。
ClearQuest データベースの分析 ClearQuest 変換ツールを実行して、現在の ClearQuest データベースを分析する。分析手順では、ClearQuest に存在する作業項目の種類を記述したレポートと一連のファイルが生成されます。
移行マップの定義 ClearQuest データベースの分析中に生成された XML ファイルを編集して移行プロセスをカスタマイズする。
ClearQuest データベースの Team Foundation 作業項目トラッキングへの移行 データベースの分析中に生成された構成ファイルとマップ ファイルを使用してデータを移行する。
移行レポートの確認 移行中に表示されたエラーと警告の原因を見つけ、移行ステータスを確認する。
前提条件
このチュートリアルを実行するには、CQConverter.exe を実行するコンピュータに次のソフトウェアがインストールされている必要があります。
チーム エクスプローラ
ClearQuest Standalone client Version 2003.06.00
メモ : Version 2002.05.20 および Version 2003.05.00 も動作しますが、テストされていません。
また、ClearQuest のユーザー名を、Team Foundation 作業項目トラッキングで使われる Windows ドメイン名にどのようにマップするかの一覧を作成する必要もあります。使用されなくなったユーザー名を一覧に含めてください。
次の情報と知識が役立ちます。
XML の基礎知識。
ClearQuest の作業項目フィールドをどのように Team Foundation 作業項目トラッキングにマップするかの一覧。必要な変換に関する情報を含めてください。たとえば、ClearQuest の文字列フィールドを Team Foundation 作業項目トラッキングの整数フィールドにマップしなければならない場合があります。
必要なアクセス許可
このチュートリアルを実行するには、サービス アカウント セキュリティ グループのメンバである必要があります。さらに、読み取りユーザー セキュリティ グループのメンバであるか、または [このノードの作業項目を表示します] アクセス許可が [許可] に設定されている必要もあります。詳細については、「Team Foundation Server のアクセス許可」を参照してください。また、ClearQuest データベースに対するスーパー ユーザーのアクセス許可も必要です。詳細については、『ClearQuest Administrator's Guide』を参照してください。
移行前のタスク
移行を開始するには、次のタスクを実行する必要があります。
ClearQuest データベースをロックする時刻のスケジュール 移行プロセス中にユーザーが新しい作業項目を作成できないように、データベースをロックすることをお勧めします。ClearQuest コンバータでは、変換中に行われた作業項目の変更は検出されません。ClearQuest データベースのロックの詳細については、ClearQuest のドキュメントを参照してください。
Visual Studio 懸案事項トラッキングチーム プロジェクトの作成 チーム プロジェクトを作成し、どのチーム プロジェクトにその作業項目を含めるかを決定します。Team Foundation 作業項目トラッキング チーム プロジェクトの作成方法の詳細については、「チュートリアル : 新しいチーム プロジェクトの作成」を参照してください。
コンバータの実行に使用するユーザー アカウントのサービス アカウント グループへの追加 CQConverter を実行するには、サービス アカウントのアクセス許可が必要です。TFSSecurity ユーティリティを使用して、コンバータを実行するユーザー アカウントを Team Foundation Server のサービス アカウント グループに追加します。詳細については、「TFSSecurity コマンド ライン ユーティリティのコマンド」を参照してください。
変換ツールの制限事項
移行を開始する前に、ClearQuest コンバータの制限事項を確認し、各制限事項が組織のユーザーに及ぼす影響を検討します。詳細については、「ClearQuest データベースの移行用の CQConverter コマンド ライン ユーティリティ」を参照してください。
定義
このチュートリアルでは、次の用語を使用します。
作業項目の種類 作業項目の種類は、作業項目トラッキング システムの基本ビルド ブロックです。作業項目の種類の例としては、バグ、要件、タスクなどがあります。
エンティティ ClearQuest におけるデータの基本単位です。たとえば、ある障害がある顧客にリンクされ、かつ特定のプロジェクトに属している場合があります。この場合、"障害"、"顧客"、および "プロジェクト" はいずれもエンティティです。
フィールド 作業項目は、その作業項目に関する情報を格納するフィールドを含みます。たとえば、障害作業項目は、開いたユーザー、ステータス、解決策、履歴、リンク、添付ファイルなどのフィールドを持つ場合があります。
状態 プロセス内ので作業項目の状況を表します。たとえば、バグの状態は、"開いた状態"、"割り当て済み"、"解決済み"、"延期" のいずれかになります。
フィールド動作 (フィールド規則) 状態ごとにフィールドがどのように動作するかを指定します。たとえば、[修正された] フィールドは、新しいバグの作成時には編集できませんが、バグを "解決済み" の状態に移行すると、[修正された] フィールドに値を入力できるようになります。
移行プロセスの構成
この手順では、ClearQuest 変換ツールの構成ファイルを変更して移行プロセスをガイドします。
構成ファイル
構成ファイルは、ClearQuest 変換ツールの設定を行う XML ファイルです。変換ツールの設定は、この XML ファイルの次のセクションで指定します。
<ClearQuest>
<ClearQuest> セクションには、移行する ClearQuest データベースに関する情報を指定します。
ConnectionName ClearQuest の接続名。
UserDatabase ClearQuest のユーザー データベース名。
QueryName ClearQuest に保存されているクエリの名前。
UserID ClearQuest のユーザー ID。指定したユーザー ID は、ClearQuest データベースに対してスーパー ユーザーのアクセス許可を持っている必要があります。
<VSTS>
<VSTS> セクションには、Team Foundation 作業項目トラッキング サーバーと移行先のチーム プロジェクトに関する情報を指定します。
URI Team Foundation Server の表示名、または完全な URI。たとえば、"MyAtServer"や "http://MyAtServer:8080" など。
ProjectName Team Foundation 作業項目トラッキング チーム プロジェクト名。
その他の構成設定
この XML ファイルのその他のセクションでは、次の設定を指定します。
ExitOnError このセクションには、true または false の値を指定します。true を設定すると、作業項目の移行中にエラーが発生した場合に ClearQuest 変換ツールが停止します。
メモ : この設定は、致命的ではないエラーだけに適用されます。ClearQuest 変換ツールが ClearQuest に接続できないような致命的なエラーが発生した場合は、この設定が false に設定されていても変換ツールは終了します。
OutputDirectory 生成されたファイルを出力するディレクトリを指定します。出力ディレクトリを指定しない場合は、Base Entity という名前のディレクトリが出力ファイルの生成用に作成されます。このディレクトリが既に存在する場合は、そのディレクトリ内のファイルが上書きされます。
構成ファイルの作成
構成ファイルは、メモ帳などのテキスト エディタを使用して作成します。
構成ファイルを作成するには
次の情報を収集します。
ClearQuest の接続名。
ClearQuest のデータベース名。
ClearQuest 管理者のユーザー ID とパスワード。この Admin ユーザーは、ClearQuest 内で懸案事項を送信するアクセス許可を持つ必要があります。
Team Foundation 作業項目トラッキング サーバー名。
Team Foundation 作業項目トラッキング チーム プロジェクト名 (作業項目の移行先のチーム プロジェクト)。
ClearQuest で、Team Foundation 作業項目トラッキングへの移行対象となる作業項目を選択するクエリを作成して、そのクエリを保存します。作成したクエリは、TransitionQuery などの任意の名前で保存します。
分析フェーズ中に生成されたファイルを格納するディレクトリを決定します。
次の XML 構成ファイルをテキスト エディタにコピーします。
<?xml version="1.0" encoding="utf-8"?> <WorkItemConverter> <Source id="ClearQuest"> <ClearQuest> <ConnectionName>CQRep</ConnectionName> <UserDatabase>TEST</UserDatabase> <QueryName>Public Queries/All Defects</QueryName> <UserID>admin</UserID> </ClearQuest> </Source> <VSTS> <URI>AdventureWorksServer</URI> <ProjectName>AdventureWorksProject</ProjectName> </VSTS> <ExitOnError>true</ExitOnError> <OutputDirectory>DefectSchema</OutputDirectory> </WorkItemConverter>
ファイルを変更し、前の手順で収集した情報を使用して設定を指定します。たとえば、<QueryName> の下に、クエリ名を「TransitionQuery」と指定し、クエリのパスを入力します。各セクションに指定する情報については、前の「構成ファイル」セクションを参照してください。
メモ : パスワードはファイルに入力しません。後の移行プロセスで、ClearQuest 変換ツール ツールによって要求されます。
ファイルを保存します。
たとえば、CqConverterConfig.xml という名前でファイルを保存できます。
ClearQuest データベースの分析
ClearQuest データベースの分析時に、ClearQuest から Team Foundation への変換を行うコンバータは ClearQuest データベースを分析して、次のような XML ファイルを作成します。
状態、状態遷移、フィールド、フィールドの種類、およびフィールドの動作 (必須、オプションなど) を格納した、ClearQuest エンティティ分類ごとの Team Foundation 作業項目トラッキング作業項目の種類の定義 (WITD) ファイル
ClearQuest のフィールドと値を Team Foundation 作業項目トラッキングのフィールドと値にマップする既定のフィールド マッピング ファイル
ClearQuest ユーザーを Windows ユーザーにマップするユーザー マップ ファイル。このファイルは、システム全体に適用されます。
他の XML ファイルへの参照を含むスキーマ マップ ファイル (エンティティ名を含む SchemaMap ファイルなど)、および生成された WorkItem ファイル名と fieldMap ファイルのパスを含むフィールド マッピング ファイル
レポートおよび警告ファイル (CQAnalysisReport.xml)
ClearQuest データベースを分析するには
Visual Studio 2008 コマンド プロンプトで、次のコマンドを実行します。
CQConverter.exe /c:analyze /m:CqConverterConfig.xml
ClearQuest 変換ツールが処理を完了するまでに、数分かかることがあります。
注意 ClearQuest 変換ツール コマンドの詳細については、「ClearQuest データベースの移行用の CQConverter コマンド ライン ユーティリティ」を参照してください。
構成ファイルで指定した出力ディレクトリで、次の XML ファイルを見つけます。これらのファイルは、後の移行プロセスで使用します。
EntityName.xml という名前の付いた、ClearQuest エンティティ分類ごとの WITD ファイル。たとえば、ClearQuest の defect エンティティのファイルは、Defect.xml という名前です。
ClearQuest のエンティティ分類ごとのフィールド マッピング ファイル。これらのファイルは、各 ClearQuest エンティティのフィールドとフィールド値を、Team Foundation 作業項目トラッキング作業項目の種類の対応するフィールドにマップする方法を指定します。たとえば、ClearQuest の Defect エンティティのファイルは、DefectFieldMap.xml という名前です。
ユーザー マップ ファイル。ClearQuest ユーザーを Team Foundation 作業項目トラッキング ユーザーにマップする方法を指定するファイル。
schemamap.xml ファイル。スキーマ マッピングとフィールド マッピングを記述したファイル。
変換ツールを実行したディレクトリにある CQAnalysisReport.xml ファイルをチェックし、移行前に警告やエラーが発生していないことを確認します。
移行マップの定義
分析を実行すると、ClearQuest データベースの情報を取り込んだ一連のファイルが生成されます。意図したとおりにデータベースを移行するには、いくつかのファイルを変更する必要があります。少なくとも、ユーザー マップ ファイルと作業項目の種類の定義ファイルは変更する必要があります。
作業項目の種類の定義ファイルを変更する方法の詳細については、「チュートリアル : 作業項目の種類の基本的なカスタマイズ」を参照してください。
スキーマ マップ ファイルの編集
schemamap.xml ファイルを変更するには
Schemamap.xml ファイルを開きます。
このファイルのサンプルを示します。
<Mappings> <SchemaMaps> <SchemaMap SourceEntity="Defect" TargetWIT="Defect" WITDFile="Defect.xml" FieldMapFile="DefectFieldMap.xml"/> <SchemaMap SourceEntity="Customer" TargetWIT="Customer" WITDFile="Customer.xml" FieldMapFile="CustomerFieldMap.xml"/> </SchemaMaps> <UserMap File="UserMap.xml" /> </Mappings>
このファイル内の次のセクションを必要に応じて変更します。
SourceEntity このセクションに、正しい ClearQuest エンティティが含まれることを確認します。
TargetWIT このセクションが、Team Foundation 作業項目トラッキングで作成される正しい作業項目の種類を示していることを確認します。
WITDFile このセクションでは、作業項目の種類の定義 (WITD) XML ファイルを指定します。
FieldMapFile このセクションでは、フィールド マッピング XML ファイルを指定します。
UserMap このセクションでは、ユーザー マップ XML ファイルを指定します。
ユーザー マップ ファイルの編集
ClearQuest コンバータは、ユーザー マッピング ファイルを使用して、ClearQuest データベース内のユーザー ID を対応する Team Foundation 作業項目トラッキング ユーザー ID にマップします。ユーザー ID フィールドの値を Team Foundation 作業項目トラッキングでの有効な値に変換することにより、作業項目の履歴が保存されます。Team Foundation 作業項目トラッキングは Windows のドメイン ユーザー ID を使用します。
このファイルの既定のバージョンは、分析フェーズ中に、ClearQuest 変換ツールによって生成されます。このファイルは変換ツールによってチェックされ、問題がある場合はエラーが発生します。したがって、変換を実行する前に、このファイルが正しいことを確認する必要があります。
ユーザー マップ ファイルを変更するには
usermap.xml ファイルを開きます。以下に、サンプルを示します。
<UserMappings"> <UserMap From="admin" To="admin" /> <UserMap From="user" To="user" /> <UserMap From="QE" To="QE" /> <UserMap From="lead" To="lead" /> <UserMap From="engineer" To="engineer" /> </UserMappings>
ユーザー マップをチェックし、必要に応じて、修正、追加、削除を行います。ユーザー マップの "To" 側は、既存の Team Foundation Server ユーザーでなければなりません。
Team Foundation 作業項目トラッキングで、ユーザー マップ ファイルに指定されているすべてのユーザーを追加します。ユーザーの追加の詳細については、「方法 : チーム プロジェクト グループにユーザーを追加する」を参照してください。
メモ : 移行時に、いずれかの ClearQuest ユーザーをそのまま Team Foundation Server にマップするには、ユーザー マップ ファイルでそのユーザーの行を削除します。また、すべてのユーザーをマップしない場合は、<UserMap> セクションで、ユーザー マップを指定している行をすべて削除します。その場合は、必ず <UserMap> セクションの個々のエントリを削除します。<UserMap> セクションや、ファイルの他の部分を削除しないでください。
注意 : 移行時に、ユーザーが有効な Team Foundation Server ユーザーにマップされない場合には、作業項目の操作開始時に、作業項目内のユーザー フィールドを修正する必要があります。変換ツールではフィールド値の妥当性を確認せずに実行されます。ただし、作業項目の編集を開始したら、ユーザー フィールドに有効なユーザーを指定する必要があります。
フィールド マッピング ファイルの編集
ClearQuest コンバータは、フィールド マッピング ファイルを使用して、各 ClearQuest エンティティのフィールドを対応する Team Foundation 作業項目トラッキング作業項目フィールドにマップします。
フィールド マッピング ファイルを変更するには
フィールド マッピング ファイルのいずれかを開きます。たとえば、DefectFieldMap.xml を開きます。以下に、サンプルを示します。
<FieldMap from="Criticality" to="Severity"> <ValueMaps> <ValueMap from="1-Critical" to = "1"/> <ValueMap from="2-Major" to = "2"/> </ValueMaps> </FieldMap>
フィールド マッピング行 (ValueMap で始まる行) を見直し、"from" の後に指定されているフィールドが "to" の後の正しいフィールドにマップされていることを確認します。ValueMap 行を追加することにより、フィールド マッピングを追加することもできます。許容値がスキーマ ファイル (この場合は、defect.xml) に含まれるときは、許容値リストの値を使用する必要があります。
メモ : フィールド マッピングを変更するときは、作業項目フォームの必須フィールドがマップされていることを確認します。
その他のフィールド マッピング ファイルを開き、必要に応じて編集します。
作業項目の種類の定義の編集
分析フェーズが完了すると、変換ツールは、ClearQuest レコード型ごとに作業項目の種類の定義 (WITD) を生成します。たとえば、ClearQuest Defect レコード型のファイルは、Defect.xml という名前です。変換ツールは、分析フェーズ時のスキーマ生成の一環として、既定の作業項目フォームを生成します。ただし、この既定のフォームは最小限の書式を含むだけなので、ほとんどの場合、フォームを編集して作業項目をレイアウトする必要があります。作業項目の種類の定義ファイルを変更する方法については、「チュートリアル : 作業項目の種類の基本的なカスタマイズ」および「チュートリアル : 作業項目の種類の高度なカスタマイズ」を参照してください。
ClearQuest 作業項目の移行
作業項目を移行するには
Visual Studio 2008 コマンド プロンプトで、次のコマンドを実行します。
CQConverter.exe /c:migrate /m:CqConverterConfig.xml /s:path\Schemamap.xml
path は、スキーマ マップ ファイルへのパスです。スキーマ マップ ファイルは、分析フェーズ中に、指定された出力ディレクトリに生成されます。
メモ : 大規模なデータベースの場合、ClearQuest 変換ツールの処理が完了するまでに数時間かかることがあります。
メモ : ClearQuest 変換ツール コマンドの詳細については、「ClearQuest からの移行」を参照してください。
移行が完了したら、移行レポートを見直して、移行のステータス、およびその他の懸案事項 (フィールド マッピングの矛盾により移行されないなど) を確認します。
移行レポートは、CQMigrationReport.xml という名前で、ClearQuest 変換ツールを実行したフォルダ内に作成されます。
メモ : 変換ツールは、指定されたクエリに含まれるすべての作業項目と、それらの作業項目にリンクされているすべての作業項目を変換します。したがって、実際に移行される作業項目の数は、クエリに含まれる作業項目の数とは異なります。
指定した作業項目がすべて移行されていない場合は、移行レポートに示されている懸案事項を解決してから、変換を再実行します。
さらに多くの ClearQuest 作業項目を Team Foundation 作業項目トラッキングに移行するには、移行プロセスを再び実行します。
同じ ClearQuest データベースの移行を再実行するには
前回の移行の移行レポートに示されているすべての懸案事項を解決します。
ClearQuest で、任意の作業項目を取得するクエリを作成します。または、同じクエリを実行して、前回移行されなかった作業項目を移行します。
構成ファイルの <QueryName> セクションを変更して、新しいクエリ名を指定します。
Visual Studio 2008 コマンド プロンプトを開き、次のコマンドを入力して移行を実行します。
CQConverter.exe /c:migrate /m:CqConverterConfig.xml /s:path\Schemamap.xml
大規模なデータベースの場合、ClearQuest 変換ツールの処理が完了するまでに数時間かかることがあります。
メモ : ClearQuest 変換ツール コマンドの詳細については、「ClearQuest からの移行」を参照してください。
移行が完了したら、移行レポートを見直して移行のステータスを確認します。移行レポートは、CQMigrationReport.xml という名前で、ClearQuest 変換ツールを実行したフォルダ内に作成されます。
作業項目の移行の検証
移行が完了したら、移行された作業項目のいくつかをチェックして、情報が正常に移行されたことを検証します。
移行された作業項目を検証するには
Team Foundation 作業項目トラッキングで、移行後の作業項目を開きます。
ClearQuest ID フィールドの番号を使用して、Team Foundation 作業項目トラッキングの作業項目を、同じ ID を持つ ClearQuest バグと比較します。
特定の ClearQuest 作業項目に対応する Team Foundation 作業項目を見つけるには
次のクエリ句を含む作業項目クエリを作成します。
および/または
フィールド
演算子
値
VSTS SourceID
=
ClearQuest work item ID
[VSTS SourceID] フィールドは、作業項目フォームに表示される ClearQuest ID フィールドのラベルに対応します。
作業項目クエリを作成する方法の詳細については、「方法 : 新しい作業項目クエリを追加する」を参照してください。
クエリを実行します。