OSLCLinks パッケージ適用の手順

このトピックでは、Eclipse テクノロジーに基づく Rational® ClearQuest® Designer を使用して、Rational ClearQuest OSLCLinks パッケージ バージョン 1.0 または 1.1 をスキーマに適用する方法を説明します。

このタスクについて

ClearQuest v7.1.2 を実行する場合は、OSLCLinks パッケージ v1.0 を適用してください。ClearQuest v7.1.2.1 を実行する場合は、OSLCLinks パッケージ v1.1 を適用してください。

手順

  1. ClearQuest Designer で、パッケージを適用するスキーマのバージョンを右クリックし、[パッケージ] > [パッケージの適用] を選択します。パッケージ ウィザードが開きます。
  2. パッケージのリストで OSLCLinks ノードを展開し、バージョン 1.0 または 1.1 を選択します。 [次へ] をクリックします。
  3. パッケージを適用するレコード タイプを選択します。
  4. オプション: OSLCLinks パッケージ v1.1 を適用した場合で、かつ状態述語サポートを使用して ClearQuest の状態/ステータスを OSLC 状態にマップする場合、OSLC_CQ_State_Mapping というグローバル Perl スクリプトを追加して実装する必要があります。
    1. スキーマに関連付けられた [グローバル スクリプト] > [Perl ノード] にナビゲートし、右クリックして [追加] を選択します。
    2. [フック名] フィールドに次のテキストを入力し、[OK] をクリックします。 OSLC_CQ_State_Mapping
    3. OSLC_CQ_State_Mapping スクリプトにフック コードを追加します。
  5. [完了] をクリックします。

    選択したスキーマに OSLCLinks パッケージが適用されます。当該スキーマ内で新規の OSLCLink 状態なしレコード タイプを探して、パッケージのインストールを確認します。

    パッケージの適用について詳しくは、「パッケージの適用」のヘルプを参照してください。

このセクションでは、OSLCLinks パッケージ v1.1 を DefectTracking スキーマに適用し、パッケージを Defect レコード タイプに対して有効にする例を示します。

  1. ClearQuest Designer で、パッケージを適用するスキーマのバージョンを右クリックし、[パッケージ] > [パッケージの適用] を選択します。パッケージ ウィザードが開きます。
  2. パッケージのリストで OSLCLinks ノードを展開し、バージョン 1.1 を選択して [次へ] をクリックします。
  3. OSLCLinks パッケージを Defect レコード タイプに対して有効にします。
  4. OSLC_CQ_State_Mapping というグローバル Perl スクリプトを追加し、実装します。
    1. スキーマに関連付けられた [グローバル スクリプト] > [Perl ノード] にナビゲートし、右クリックして [追加] を選択します。
    2. [フック名] フィールドに次のテキストを入力し、[OK] をクリックします。 OSLC_CQ_State_Mapping
    3. OSLC_CQ_State_Mapping スクリプトにフック コードを追加します。以下に例を示します。
      sub OSLC_CQ_State_Mapping {
          my ($myentity, $hook_type) = @_;
          my $state = $myentity->GetFieldStringValue("State");
          
          if ($hook_type eq "Validation") {
          
              if (($state eq "Assigned") || ($state eq "Opened")) {
                  $myentity->SetFieldValue("oslc_cm-inprogress", "1");
              } else {
              $myentity->SetFieldValue("oslc_cm-inprogress", "0");
              }
              
              if ($state eq "Closed") {
                  $myentity->SetFieldValue("oslc_cm-closed", "1");
                  } else {
                  $myentity->SetFieldValue("oslc_cm-closed", "0");
                  }
          }
      }

      このスクリプトは、Defect レコードの OSLC_State_Predicates アクションの初期化フックと検証フックによって呼び出されます。このスクリプトには、現在のエンティティとフック タイプの 2 つのパラメータがあります。要求によっては、フックの種類パラメータの値に基づいて、異なるコードを追加することができます。このサンプル スクリプトは、検証フックを示しています。

  5. [完了] をクリックします。スキーマ リビジョンがチェックインされました。
  6. ユーザー データベースをアップグレードします。
  7. スキーマの変更を確認します。
    1. ClearQuest クライアントを使用してユーザー データベースにログインします。
    2. すべての障害クエリーを編集し、oslc_cm-inprogressoslc_cm-closed の表示フィールドを追加します。
    3. すべての障害クエリーを実行します。
    4. 登録済み状態にあるクエリー結果から、任意の障害を選択します。
    5. 障害を閉じて、oslc_cm-closed が 1 であり、名前の接頭部が oslc_cm である他のフィールドが 0 であることを確認します。
    6. 障害を再度開き、oslc_cm-inprogress が 1 であり、名前の接頭部が oslc_cm である他のフィールドが 0 であることを確認します。

フィードバック