タスクとイシュートラッキングのガイド


概要

このガイドでは、Plastic SCM でさまざまなコントロール追跡ツール(Bugzilla、Mantis、Trac、Jira、Axosoft、VersionOne、FogBugz、Rally、Polarion、codeBeamer)との統合を実現する方法を説明します。

また、独自の Plastic SCM カスタム拡張機能を記述する方法についても説明します。

イシュー追跡システムが設定されたら、ユーザーは拡張機能と Plastic SCM をシームレスに連携させることができます。つまり、ユーザーは関連するタスクの情報を Plastic GUI から確認できるようになります。

Plastic SCM 拡張機能では、2 つの異なる作業モードを使用できます。

  • ブランチ対象タスク - このモードでは、イシュー追跡システムからの 1 つのタスクを 1 つの Plastic ブランチにリンクし、関連するイシューをイシュー追跡ツール上で参照することができます(ツールには完全な情報が表示されます)。
  • 変更セット対象タスク - このモードでは、1 つ以上のタスクを 1 つ以上の Plastic 変更セットにリンクし、関連するタスクの情報を Plastic の変更セットビューで利用できます。

Bugzilla 統合

このセクションでは、Plastic SCM で Bugzilla 統合を使用するための手順を説明します。

「前 (<)」および「次へ (>)」の矢印を使用して、Windows、Linux、および macOS のスクリーンショットを表示します。

Bugzilla - 設定

この章では、Bugzilla 統合をサーバー側とクライアント側の両方で設定する方法について説明します。

Bugzilla サーバー設定

Bugzilla 拡張機能を設定するには、スクリプトファイル plastic.cgiplasticscm_install_path/client/extensions/bugzilla)を Bugzilla インストールフォルダーにコピーします。

次のようにサーバーのオペレーティングシステムに応じて、場合によってはスクリプトファイルの最初の行を変更する必要があります。

  • Linux:
    #!/usr/bin/perl -wT
  • Windows:
    #!c:\perl\bin\perl.exe -wT

クライアント設定

WindowsLinux、または macOS システムで、Bugzilla 統合を設定する方法を確認してください。

クライアント設定 - Windows

次のステップに従って、Windows マシン上の Plastic SCM クライアントで Bugzilla 拡張機能を設定します。

  1. Plastic SCM GUI のメインウィンドウの「環境設定」タブをクリックします。
  2. 新しいウィンドウで「イシュートラッカー」タブをクリックします。
  3. このイシュー追跡システムにバインドする」ラジオボタンをオンにします。
  4. Bugzilla 追跡システムを選択します。
  5. ここで、「バインドの適用先」にするリポジトリを選択します。
    • グローバル拡張機能設定を行う場合は、plastic-global-config リポジトリを選択します。
    • すべてのリポジトリをイシュートラッカーにバインドする場合は、「Repositories(リポジトリ)」を選択します。
    • Bugzilla で特定のリポジトリにバインドする場合は、そのリポジトリを選択します。
    イシュー追跡設定:Bugzilla
  6. デフォルトでは、「Plastic ブランチにイシューをバインド」オプションが有効になっており、ブランチ対象タスクモードで操作します。
    変更セット対象タスクモードで操作するには、「Plastic 変更セットにイシューをバインド」オプションを選択します。
  7. 次は、Bugzilla のパラメーター(Bugzilla サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定する必要があります。
    Bugzilla 設定パラメーターの詳細については、こちらを参照してください。
クライアント設定 - Linux および macOS システム

次の方法のうち 1 つを使用して、Linux または macOS マシン上の Plastic SCM クライアントで Bugzilla 拡張機能を設定できます。

  • サーバーでグローバル拡張機能設定を指定します。そうすると、すべての Plastic クライアントにデフォルトで同じ Bugzilla 設定が適用されます。
  • または
  • ローカルの Bugzilla 設定を指定します。これを行うには、次のようにします。
    1. $HOME/.plastic4issuetrackers/server_port/repository という構造を作成します。repository は次のいずれかの値です。
      • イシュートラッカーにリンクしようとするリポジトリの名前。
      • または
      • allrepos(すべてのリポジトリがイシュートラッカーにリンクされます)。
    2. サンプルの設定ファイル bugzilla.conf を新規作成したパスにコピーします。
      このファイルは次の場所にあります。
      • Window または Linux: plasticscm_install_path/client/extensions/config_samples
      • macOS: /Applications/PlasticSCM.app/Contents/IssueTrackerConfigSamples

      たとえば、次のようになります。

      • /home/pablo/.plastic4/issuetrackers/localhost_8087/info/bugzilla.conf
      • または
      • /home/pablo/.plastic4/issuetrackers/localhost_8087/allrepos/bugzilla.conf

    3. bugzilla.conf ファイルを編集します。
      1. WorkingMode パラメーターを編集し、TaskOnBranch または TaskOnChangeset のいずれかの値を割り当てます。
      2. Bugzilla 拡張機能のその他のパラメーター(Bugzilla サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定します。
        Bugzilla 設定パラメーターの詳細については、こちらを参照してください。
    4. client.conf ファイルを編集して、次のキーを追加します。
      <Extensions>
          <Extension AssemblyFile="plasticscm_install_path/client/extensions/bugzilla/bugzillaextension.dll" />
      </Extensions>
      
クライアント設定 - パラメーター
  • Bugzilla Base URL(Bugzilla ベース URL):Bugzilla サーバーがインストールされて実行している URL を指定します。
  • User name(ユーザー名):必要な場合は、ユーザー名を入力します。
  • Branch prefix(ブランチプレフィックス):ブランチ対象タスクモードで操作する場合は、このパラメーターの指定をお勧めします(必須ではありません)。このブランチプレフィックスは、Plastic のブランチを Bugzilla のタスクにバインドするために使用されます。
    たとえば、scm プレフィックスを入力すると、名前がプレフィックス scm で始まるすべてのブランチが Bugzilla のイシューにリンクされます。たとえば、名前が scm012 という Plastic のブランチは Bugzilla の task #12 に関連付けられます。

Bugzilla - 特性

ブランチ対象タスク作業モード

この作業モードを使用すると、すべての Bugzilla タスクが Plastic ブランチ(ブランチを新規作成するとき)に関連付けられます。新規ブランチのブランチ名は、Bugzilla での設定済みの拡張機能プレフィックス(設定されている場合)および数値識別子と一致する必要があります。

ブランチビューの「拡張情報を表示」ボタン(拡張情報を表示)をクリックすると、そのブランチに関連する情報が Plastic GUI の右側のパネルに表示されます。ブランチを選択すると、Bugzilla タスクの情報(数字すなわち識別子、タスク所有者、ステータス、タイトル、説明)が Plastic SCM に表示されます。

ブランチの拡張情報

タスクペインをダブルクリックするか、「イシューをブラウザーで開く」ボタン(イシューをブラウザーで開く)をクリックすると、新しいブラウザーウィンドウが開き、Bugzilla でのタスクの完全な情報が表示されます。

Bugzilla ウェブインターフェースの例

タスクの存在の強制的な確認

タスクに関連付けられた番号付きブランチを Bugzilla に対してチェックするように Plastic SCM リポジトリを設定することができます。Bugzilla で定義されたバグ番号がある場合のみ、作業中のブランチが許可されます。このチェックが実行されるのは、子ブランチのブランチ作成操作時のみです。

リポジトリでブランチ作成チェックを設定するには、plastic-enforce-task-branch という名前の属性を対象のリポジトリに作成します。この属性は、次のいずれかの方法を使用して作成する必要があります。

  • コマンドラインを使用して次のコマンドを実行します。 cm attribute create plastic-enforce-task-branch
  • Plastic SCM GUI の属性ビューを使用します。

    Plastic が Bugzilla タスクの存在を強制的に確認

この属性を作成しておくと、それが定義されたリポジトリ上で子ブランチが作成されるたびに、拡張機能によって新規ブランチの名前がチェックされます。タスクのプレフィックスから始まっている場合は、それに含まれる数字を取得し、一致するバグ番号があるかどうかを Bugzilla に確認します。それ以外の場合は、エラーが出力され、操作がキャンセルされます。

対応するタスクがないブランチ作成の試行

変更セット対象タスク作業モード

変更セット対象タスク作業モードで機能するように Plastic SCM を設定するには、ユーザーは Bugzilla 拡張機能を設定して、「Plastic 変更セットにイシューをバインド」オプションを選択する必要があります。前のクライアントに関する項の説明を参照してください。

ワークフローは次のようになります。

  1. イシューが Bugzilla で作成されます。開発者が 1 つのイシューについて作業を開始すると、そのイシューが開きます。
  2. コードに対して変更が作成されます。つまり、Plastic に表示されるチェックアウト済みの項目です。
  3. ユーザーが変更のチェックインを決定すると、Plastic SCM によって新しいダイアログが表示され、そこで Bugzilla タスクをこの新規変更セットにリンクできます。
  4. ユーザーは、次のいずれかのオプションに従って変更セットとタスクをリンクできます。
    • 新規イシューを追加 - 「新規イシューを追加」ボタンをクリックすると、新しいダイアログが開きます。ここで、ユーザーは、変更セットにリンクする 1 つ以上のタスクを選択できます。
    • コメントハッシュタグを入力 - コメントを「チェックインのコメント」テキストボックスに入力しますが、コメントの先頭には、# 記号とイシューキー(オプションでさらにコロン)を付けてください。これによって、関連するイシューにチェックイン情報が記録されます。たとえば、#9: Edited the user interface です。

変更セットが Bugzilla のタスクにリンクされると、この情報が Plastic SCM の変更セットビューに表示されます。「Extended information(拡張情報)」パネルが表示されているとき(拡張情報を表示)、変更セットをクリックすると、関連する Bugzilla タスクが Plastic によって表示されます。

「変更セット対象タスク」モードで作業中の詳細情報を含む変更セットビュー

ユーザーは、新規タスクの追加や以前のタスクの削除も「Bugzilla Extension(Bugzilla 拡張機能)」ペインで行うことができます。さらに、特定の変更セットに関連付けられた各タスクをダブルクリックするか、「イシューをブラウザーで開く」ボタン(イシューをブラウザーで開く)をクリックすると、新しいウェブブラウザーウィンドウが開き、選択した Bugzilla タスクが表示されます。ユーザーが Bugzilla でタスクを変更した場合は常に、「Bugzilla Extension(Bugzilla 拡張機能)」ペインの「最新情報に更新」ボタンを押すことで、Plastic GUI で新しいデータに更新されます。


Mantis 統合

このセクションでは、Plastic SCM で Mantis 統合を使用するための手順を説明します。また、その利点についても説明します。

この拡張機能は Mantis バージョン 0.19.4、1.0.0、1.0.8 以降と互換性があります。

「前 (<)」および「次へ (>)」の矢印を使用して、Windows、Linux、および macOS のスクリーンショットを表示します。

Mantis - 設定

Mantis 統合をサーバー側とクライアント側の両方で設定する方法を確認してください。

Mantis サーバー設定

Mantis 拡張機能を設定するには、スクリプトファイル plastic.phpplasticscm_install_path/client/extensions/mantis)を Mantis インストールフォルダーにコピーします。

クライアント設定

WindowsLinux、または macOS システムで、Mantis 統合を設定する方法を確認してください。

クライアント設定 - Windows

次のステップに従って、Windows マシン上の Plastic SCM クライアントで Mantis 拡張機能を設定します。

  1. Plastic SCM GUI のメインウィンドウの「環境設定」タブをクリックします。
  2. 新しいウィンドウで「イシュートラッカー」タブをクリックします。
  3. このイシュー追跡システムにバインドする」ラジオボタンをオンにします。
  4. Mantis 追跡システムを選択します。
  5. ここで、「バインドの適用先」にするリポジトリを選択します。
    • グローバル拡張機能設定を行う場合は、plastic-global-config リポジトリを選択します。
    • すべてのリポジトリをイシュートラッカーにバインドする場合は、「Repositories(リポジトリ)」を選択します。
    • Mantis で特定のリポジトリにバインドする場合は、そのリポジトリを選択します。
    イシュー追跡設定:Mantis
  6. デフォルトでは、「Plastic ブランチにイシューをバインド」オプションが有効になっており、ブランチ対象タスクモードで操作します。
    変更セット対象タスクモードで操作するには、「Plastic 変更セットにイシューをバインド」ラジオボタンをオンにします。
  7. 次は、Mantis のパラメーター(Mantis サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定する必要があります。
    Mantis 設定パラメーターの詳細については、こちらを参照してください。
クライアント設定 - Linux および macOS システム

次の方法のうち 1 つを使用して、Linux または macOS マシン上の Plastic SCM クライアントで Mantis 拡張機能を設定できます。

  • サーバーでグローバル拡張機能設定を指定します。そうすると、すべての Plastic クライアントにデフォルトで同じ Mantis 設定が適用されます。
  • または
  • ローカルの Mantis 設定を指定します。これを行うには、次のようにします。
    1. $HOME/.plastic4issuetrackers/server_port/repository という構造を作成します。repository は次のいずれかの値です。
      • イシュートラッカーにリンクしようとするリポジトリの名前。
      • または
      • allrepos(すべてのリポジトリがイシュートラッカーにリンクされます)。
    2. サンプルの設定ファイル mantis.conf を新規作成したパスにコピーします。
      このファイルは次の場所にあります。
      • Window または Linux: plasticscm_install_path/client/extensions/config_samples
      • macOS: /Applications/PlasticSCM.app/Contents/IssueTrackerConfigSamples

      たとえば、次のようになります。

      • /home/pablo/.plastic4/issuetrackers/localhost_8087/info/mantis.conf
      • または
      • /home/pablo/.plastic4/issuetrackers/localhost_8087/allrepos/mantis.conf.

    3. mantis.conf ファイルを編集します。
      1. WorkingMode パラメーターを編集し、TaskOnBranch または TaskOnChangeset のいずれかの値を割り当てます。
      2. Mantis 拡張機能のその他のパラメーター(Mantis サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定する必要があります。
        Mantis 設定パラメーターの詳細については、こちらを参照してください。
    4. client.conf ファイルを編集して、次のキーを追加します。
      <Extensions>
          <Extension AssemblyFile="plasticscm_install_path/client/extensions/mantis/mantisextension.dll" />
      </Extensions>
      
クライアント設定 - パラメーター
  • Mantis Base URL(Mantis ベース URL):Mantis サーバーがインストールされて実行している URL を指定します。
  • User name(ユーザー名):このフィールドには有効な Mantis ユーザーを入力する必要があります。
  • Branch prefix(ブランチプレフィックス):ブランチ対象タスクモードで操作する場合は、このパラメーターの指定をお勧めします(必須ではありません)。このブランチプレフィックスは、Plastic のブランチを Mantis のタスクにバインドするために使用されます。
    たとえば、scm プレフィックスを入力すると、名前がプレフィックス scm で始まるすべてのブランチが Mantis のイシューにリンクされます。たとえば、名前が scm022 という Plastic のブランチは Mantis の task #22 に関連付けられます。
  • Encoding(エンコーディング):UTF-8 がデフォルトです。ほとんどの言語に対応します。エンコーディングを変更する必要がある場合のみ、この値を編集します。

Mantis - 特性

ブランチ対象タスク作業モード

ブランチ対象タスクは、「タスクごとのブランチ」パターンに適した、デフォルトで設定されている作業モードです。この作業モードでは、完了すべきタスクごとに新規ブランチが作成されます。

通常どおり、最初のステップは、Mantis でのイシューの作成です。これは、通常はプロジェクトマネージャーが「Report Issue」オプションをクリックして行います。完了すべき新規イシューの情報を設定するダイアログが開きます。設定する情報は、タイトル、説明、重大度などです。

新規イシューを作成するための Mantis のユーザーインターフェース

イシューが作成されると Mantis によって番号が割り当てられます。このケースでは、次の図のように Mantis によって番号 4 がタスクに割り当てられました。ユーザーが、イシューのリスト(ステータスに応じて色分けされている)からイシューを選択すると、ステータスが変わります。つまり、イシュー 4new から assigned になります。

Mantis のイシューのリスト

次のステップでは、タスクに割り当てられた開発者が新規ブランチを作成する必要があります。これは、次の図のように、親ブランチを右クリックして、「子ブランチを作成」オプションを選択するだけです。

Plastic SCM での子ブランチの作成

新規ブランチを Mantis のイシューにリンクするために、開発者が、同じ Mantis 番号(このケースでは 4)をブランチのプレフィックスの後に付ける必要があります。

Plastic SCM での子ブランチの作成

ここで、ブランチビューの拡張情報パネル(拡張情報を表示)で特定のブランチにリンクされたイシューの情報を確認できます。

「ブランチ対象タスク」モードで作業中の Plastic SCM ブランチ拡張情報

ユーザーが「イシューをブラウザーで開く」ボタン(イシューをブラウザーで開く)をクリックするか、Mantis タスクをダブルクリックすると、関連するブランチのイシューを含むブラウザーウィンドウが開きます。ユーザーがイシューのステータスまたは他のいずれかのフィールドを変更したとき、Mantis 拡張機能を最新情報に更新すると、新しい情報が表示されます。

変更セット対象タスク作業モード

変更セット対象タスク作業モードで機能するように Plastic SCM を設定するには、ユーザーは Mantis 拡張機能を設定して、「Plastic 変更セットにイシューをバインド」オプションを選択する必要があります。前のクライアントに関する項の説明を参照してください。

ワークフローは次のようになります。

  1. イシューが Mantis で作成されます。開発者が 1 つのイシューについて作業を開始すると、そのイシューが開きます。
  2. コードに対して変更が作成されます。つまり、Plastic に表示されるチェックアウト済みの項目です。
  3. ユーザーが変更のチェックインを決定すると、Plastic SCM によって新しいダイアログが表示され、そこで Mantis タスクをこの新規変更セットにリンクできます。
  4. ユーザーは、次のいずれかのオプションに従って変更セットとタスクをリンクできます。
    • 新規イシューを追加 - 「新規イシューを追加」ボタンをクリックすると、新しいダイアログが開きます。ここで、ユーザーは、変更セットにリンクする 1 つ以上のタスクまたは不具合を選択できます。
    • コメントハッシュタグを入力 - コメントを「チェックインのコメント」テキストボックスに入力しますが、コメントの先頭には、# 記号とイシューキー(オプションでさらにコロン)を付けてください。これによって、関連するイシューにチェックイン情報が記録されます。たとえば、#5: Edited const です。

変更セットが Mantis のイシューすなわちタスクにリンクされると、この情報が Plastic SCM の変更セットビューに表示されます。「Extended information(拡張情報)」パネルが表示されているとき(拡張情報を表示)、変更セットをクリックすると、関連する Mantis タスクが Plastic によって表示されます。

「変更セット対象タスク」作業モードでの変更セット拡張情報

ユーザーは、新規タスクの追加や以前のタスクの削除も「Mantis Extension(Mantis 拡張機能)」ペインで行うことができます。さらに、特定の変更セットに関連付けられた各タスクをダブルクリックするか、「イシューをブラウザーで開く」ボタン(イシューをブラウザーで開く)をクリックすると、新しいウェブブラウザーウィンドウが開き、選択した Mantis タスクが表示されます。ユーザーが Mantis でタスクを変更した場合は常に、「Mantis Extension(Mantis 拡張機能)」ペインの「最新情報に更新」ボタンを押すことで、Plastic GUI で新しいデータに更新されます。


Trac 統合

このセクションでは、Plastic SCM で Trac 統合を使用するための手順を説明します。また、その利点についても説明します。

この拡張機能は Trac バージョン 0.10 以降と互換性があります。

「前 (<)」および「次へ (>)」の矢印を使用して、Windows、Linux、および macOS のスクリーンショットを表示します。

Trac - 設定

この章では、Trac 統合をサーバー側とクライアント側の両方で設定する方法について説明します。

Trac サーバー設定

Trac 拡張機能を設定するには、XMLRPC プラグインを Trac サーバーにインストールする必要があります。このダウンロードおよびインストールの方法や、適切に設定されたかどうかを確認する方法については、こちらのリンクを参照してください。

Trac 管理ツールを使用して、この拡張機能を使用するユーザーの XML_RPC 権限を有効にします。この権限をユーザー「anonymous」に割り当てると、すべてのユーザーにとって使用可能になります。

Trac サーバー設定

Trac 拡張機能を使用するときは、いくつかのサーバー設定機能を考慮する必要があります。

  • 使用される認証方法が Basic 認証(tracd 起動時のオプション --basic-auth)、つまり認証モードがユーザー/パスワードに基づいている場合、XMLRPC サービスにアクセスするための URL は http://{trac_server}/{trac_project_name}/login/xmlrpc という形式になります。
  • Trac サーバーがその他の認証方法で設定されている場合、Plastic SCM 拡張機能はユーザー認証を進めることができません。その場合は、ユーザー anonymous の XML-RPC 権限を有効にする必要があります。また、サービスにアクセスするための URL は http://{trac_server}/{trac_project_name}/xmlrpc という形式になります。
    ユーザー/パスワードの認証情報を Plastic SCM Trac 拡張機能に指定する必要はありません。

クライアント設定

WindowsLinux、または macOS システムで、Trac 統合を設定する方法を確認してください。

クライアント設定 - Windows

次のステップに従って、Windows マシン上の Plastic SCM クライアントで Trac 拡張機能を設定します。

  1. Plastic SCM GUI のメインウィンドウの「環境設定」タブをクリックします。
  2. 新しいウィンドウで「イシュートラッカー」タブをクリックします。
  3. このイシュー追跡システムにバインドする」ラジオボタンをオンにします。
  4. Trac 追跡システムを選択します。
  5. ここで、「バインドの適用先」にするリポジトリを選択します。
    • グローバル拡張機能設定を行う場合は、plastic-global-config リポジトリを選択します。
    • すべてのリポジトリをイシュートラッカーにバインドする場合は、「Repositories(リポジトリ)」を選択します。
    • Trac で特定のリポジトリにバインドする場合は、そのリポジトリを選択します。
    Plastic SCM イシュー追跡設定:Trac
  6. デフォルトでは、「Plastic ブランチにイシューをバインド」オプションが有効になっており、ブランチ対象タスクモードで操作します。
    変更セット対象タスクモードで操作するには、「Plastic 変更セットにイシューをバインド」オプションを選択します。
  7. 次は、Trac のパラメーター(Trac サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定する必要があります。
    Trac 設定パラメーターの詳細については、こちらを参照してください。
クライアント - Linux および macOS システム

次の方法のうち 1 つを使用して、Linux または macOS マシン上の Plastic SCM クライアントで Trac 拡張機能を設定できます。

  • サーバーでグローバル拡張機能設定を指定します。そうすると、すべての Plastic クライアントにデフォルトで同じ Trac 設定が適用されます。
  • または
  • ローカルの Trac 設定を指定します。これを行うには、次のようにします。
    1. $HOME/.plastic4issuetrackers/server_port/repository という構造を作成します。repository は次のいずれかの値です。
      • イシュートラッカーにリンクしようとするリポジトリの名前。
      • または
      • allrepos(すべてのリポジトリがイシュートラッカーにリンクされます)。
    2. サンプルの設定ファイル trac.conf を新規作成したパスにコピーします。
      このファイルは次の場所にあります。
      • Window または Linux: plasticscm_install_path/client/extensions/config_samples
      • macOS: /Applications/PlasticSCM.app/Contents/IssueTrackerConfigSamples

      たとえば、次のようになります。

      • /home/pablo/.plastic4/issuetrackers/localhost_8087/info/trac.conf
      • または
      • /home/pablo/.plastic4/issuetrackers/localhost_8087/allrepos/trac.conf.

    3. trac.conf ファイルを編集します。
      1. WorkingMode パラメーターを編集し、TaskOnBranch または TaskOnChangeset のいずれかの値を割り当てます。
      2. Trac 拡張機能のその他のパラメーター(Trac サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定する必要があります。
        Trac 設定パラメーターの詳細については、こちらを参照してください。
    4. client.conf ファイルを編集して、次のキーを追加します。
      <Extensions>
          <Extension AssemblyFile="plasticscm_install_path/client/extensions/trac/tracextension.dll" />
      </Extensions>
      
クライアント設定 - パラメーター
  • Base Trac URL(ベース Trac URL):Trac サーバーがインストールされて実行している URL を指定します。
  • This server requires authentication(このサーバーは認証が必要です)」、「User name(ユーザー名)」、および「Password(パスワード)」:Trac サーバーで Basic 認証のユーザー/パスワードモードが設定されている場合は、「This server requires authentication(このサーバーは認証が必要です)」チェックボックスをオンにして、Trac サーバーに対して認証される資格情報を入力します。
  • Branch prefix(ブランチプレフィックス):ブランチ対象タスクモードで操作する場合は、このパラメーターの指定をお勧めします(必須ではありません)。このブランチプレフィックスは、Plastic のブランチを Trac のタスクにバインドするために使用されます。
    たとえば、scm プレフィックスを入力すると、名前がプレフィックス scm で始まるすべてのブランチが Trac のイシューにリンクされます。

Trac - 特性

ブランチ対象タスク作業モード

デフォルトで設定されている作業モードはブランチ対象タスクモードで、「タスクごとのブランチ」パターンに適しています。この作業モードでは、完了すべきタスクごとに新規ブランチが作成されます。

通常どおり、最初のステップは、Trac でのイシューの作成です。これは、通常はプロジェクトマネージャーが行います。「New Ticket」オプションをクリックすると、完了すべき新規イシューの情報を設定するダイアログが開きます。設定する情報は、タイトル、説明、サマリーなどです。

Trac での新規チケットの作成

タスクすなわちチケットが作成されると、Trac によって番号が割り当てられます(下の例の図では番号 4)。

Trac でのチケットのリスト

次に、開発者が、割り当てられたタスクの作業を行う必要があります。つまり、次の図のように新規ブランチを作成します(親ブランチを右クリックして、「子ブランチを作成」オプションを選択するだけです)。新規ブランチを Trac のイシューにリンクするためには、名前が、Trac 拡張機能の設定済みブランチプレフィックスと Trac イシュー番号(このケースではイシュー番号 4)と一致する必要があります。つまり、ブランチのプレフィックスが「scm」に設定されている場合、ブランチ名 scm004 は Trac チケット #4 にリンクされます。

Plastic SCM での新規ブランチの作成

ブランチの拡張情報は、「拡張情報を表示」ボタン(拡張情報を表示)をクリックすると表示されます。ブランチがブランチビューで選択されているとき、右側のペインに関連するタスク/不具合の情報(番号、タスクが割り当てられている所有者または開発者、ステータス、タイトル、コメント)が表示されます。

「ブランチ対象タスク」モードで作業中の Plastic SCM ブランチ拡張情報

Trac 情報タスクをダブルクリックするか、「イシューをブラウザーで開く」ボタン(イシューをブラウザーで開く)をクリックすると、関連するブランチタスクを表示する新しいブラウザーウィンドウが開き、Trac タスクに関する完全な情報が表示されます。

変更セット対象タスク作業モード

変更セット対象タスク作業モードで機能するように Plastic SCM を設定するには、ユーザーは Trac 拡張機能を設定して、「Plastic 変更セットにイシューをバインド」オプションを選択する必要があります。前のクライアントに関する項の説明を参照してください。

ワークフローは次のようになります。

  1. イシューが Trac で作成されます。開発者が 1 つのイシューについて作業を開始すると、そのイシューが開きます。
  2. コードに対して変更が作成されます。つまり、Plastic に表示されるチェックアウト済みの項目です。
  3. ユーザーが変更のチェックインを決定すると、Plastic SCM によって新しいダイアログが表示され、そこで Trac タスクをこの新規変更セットにリンクできます。
  4. ユーザーは、次のいずれかのオプションに従って変更セットとタスクをリンクできます。
    • 新規イシューを追加 - 「新規イシューを追加」ボタンをクリックすると、新しいダイアログが開きます。ここで、ユーザーは、変更セットにリンクする 1 つ以上のタスクまたは不具合を選択できます。
    • コメントハッシュタグを入力 - コメントを「チェックインのコメント」テキストボックスに入力しますが、コメントの先頭には、# 記号とイシューキー(オプションでさらにコロン)を付けてください。これによって、関連するイシューにチェックイン情報が記録されます。たとえば、#3: Updated values です。

変更セットが Trac のチケットすなわちタスクにリンクされると、この情報が Plastic SCM の変更セットビューに表示されます。「Extended information(拡張情報)」パネルが表示されているとき(拡張情報を表示)、変更セットをクリックすると、関連する Trac タスクが Plastic によって表示されます。

「変更セット対象タスク」モードでの詳細情報を含む変更セットビュー

ユーザーは、新規タスクの追加や以前のタスクの削除も「Trac Extension(Trac 拡張機能)」ペインで行うことができます。さらに、特定の変更セットに関連付けられた各タスクをダブルクリックするか、「イシューをブラウザーで開く」ボタン(イシューをブラウザーで開く)をクリックすると、新しいウェブブラウザーウィンドウが開き、選択した Trac タスクが表示されます。ユーザーが Trac でタスクを変更した場合は常に、「Trac Extension(Trac 拡張機能)」ペインの「最新情報に更新」ボタンを押すことで、Plastic GUI で新しいデータに更新されます。


Jira 統合

このセクションでは、Jira と Plastic SCM を連携させるように設定する手順を説明します。

「前 (<)」および「次へ (>)」の矢印を使用して、Windows、Linux、および macOS のスクリーンショットを表示します。

Jira - 設定

この章では、Jira 統合をサーバー側とクライアント側の両方で設定する方法について説明します。

Jira サーバー設定

  1. Plastic SCM は、変更セットに含まれるファイルおよびフォルダーを対応する Jira イシューに記録します。この機能を作動させるためには、Jira 管理者がカスタムフィールドを作成する必要があります。
    1. このカスタムフィールドを作成するには、「Administration」画面の「Issues」タブに移動し、左側の「Issue Fields」セクション内の「Custom fields」リンクをクリックします。

      Jira の「Issue fields」オプション

    2. 「Add Custom Field」をクリックします。

      Jira でのカスタムフィールドの追加

    3. ここで新しいフィールドの種類を設定します。「Text Field (multi-line)」を選択すると、テキストのサイズが無制限になります。タスクは多くのファイルに影響を与える可能性があり、それらをこのフィールドに格納する必要があるため、これは便利です。チェックイン操作の Jira での記録が、このカスタムフィールドを使用して Plastic SCM によって行われます。

      フリーテキストフィールドタイプの指定

    4. 次に、フィールドの名前を指定する必要があります。どのような名前でもかまいません。Plastic では、フィールドを参照するために名前ではなくフィールド ID が使用されるためです。「Plastic SCM」のようにわかりやすい名前を付けることができます。

      カスタムフィールドの名前

    5. Jira によって、フィールドと画面の関連付けを確認されたら、「Default Screen」を選択します。

      Jira でのその他のオプションの指定

      新規フィールドはデフォルトでは空です。フィールドに内容が含まれるまで、設定した画面に表示されません。

    6. Jira によって内部 ID がカスタムフィールドに割り当てられます。この ID は、Plastic SCM と Jira の間のリンクを設定するために使用されます。これは、画面ページのアドレスバーの URL で確認できます。

      URL 内のカスタムフィールド

    7. これでフィールドが作成され、使用できます。

      Plastic SCM カスタムテキストフィールド

  2. 最後のステップでは、Jira のリモート API に Plastic からアクセスできるようにします。
    Jira Cloud ユーザー向け重要事項

    Jira Cloud では「Accept remote API calls」オプションはデフォルトで有効です。このため、Jira Cloud ユーザーはこのステップを省略できます。

    1. 「System」セクションの「General Configuration」リンクをクリックします。
    2. ここで、「Accept remote API calls」オプションが有効であることを確認します。

      Jira でのグローバル設定のリスト

    3. 無効な場合には、編集して有効にします。

      Accept remote API calls

これらのステップが完了すると、Jira サーバーが Plastic SCM 統合を受け入れることができます。

クライアント設定

WindowsLinux、または macOS システムで、Jira 統合を設定する方法を確認してください。

クライアント設定 - Windows

次のステップに従って、Windows マシン上の Plastic SCM クライアントで Jira 拡張機能を設定します。

  1. Plastic SCM GUI のメインウィンドウの「環境設定」タブをクリックします。
  2. 新しいダイアログで「イシュートラッカー」タブをクリックします。
  3. このイシュー追跡システムにバインドする」ラジオボタンをオンにします。
  4. Atlassian Jira 追跡システムを選択します。
  5. ここで、「バインドの適用先」にするリポジトリを選択します。
    • グローバル拡張機能設定を行う場合は、plastic-global-config リポジトリを選択します。
    • すべてのリポジトリをイシュートラッカーにバインドする場合は、「Repositories(リポジトリ)」を選択します。
    • codeBeamer で特定のリポジトリにバインドする場合は、そのリポジトリを選択します。
    Plastic SCM でのイシュー追跡設定:Jira
  6. デフォルトでは、「Plastic ブランチにイシューをバインド」オプションが有効になっており、ブランチ対象タスクモードで操作します。
    変更セット対象タスクモードで操作するには、「Plastic 変更セットにイシューをバインド」オプションを選択します。このモードでは、チェックイン時に変更がリンクされるタスクをユーザーが選択できます。
  7. 次は、Jira のパラメーター(Jira サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定する必要があります。
    Jira 設定パラメーターの詳細については、こちらを参照してください。
クライアント設定 - Linux および macOS システム

次の方法のうち 1 つを使用して、Linux または macOS マシン上の Plastic SCM クライアントで Jira 拡張機能を設定できます。

  • サーバーでグローバル拡張機能設定を指定します。そうすると、すべての Plastic クライアントにデフォルトで同じ Jira 設定が適用されます。
  • または
  • ローカルの Jira 設定を指定します。これを行うには、次のようにします。
    1. $HOME/.plastic4issuetrackers/server_port/repository という構造を作成します。repository は次のいずれかの値です。
      • イシュートラッカーにリンクしようとするリポジトリの名前。
      • または
      • allrepos(すべてのリポジトリがイシュートラッカーにリンクされます)。
    2. サンプルの設定ファイル jira.conf を新規作成したパスにコピーします。
      このファイルは次の場所にあります。
      • Window または Linux: plasticscm_install_path/client/extensions/config_samples
      • macOS: /Applications/PlasticSCM.app/Contents/IssueTrackerConfigSamples

      たとえば、次のようになります。

      • /home/pablo/.plastic4/issuetrackers/localhost_8087/info/jira.conf
      • または
      • /home/pablo/.plastic4/issuetrackers/localhost_8087/allrepos/jira.conf.

    3. jira.conf ファイルを編集します。
      1. WorkingMode パラメーターを編集し、TaskOnBranch または TaskOnChangeset のいずれかの値を割り当てます。
      2. Jira 拡張機能のその他のパラメーター(Jira サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定する必要があります。
        Jira 設定パラメーターの詳細については、こちらを参照してください。
    4. client.conf ファイルを編集して、次のキーを追加します。
      <Extensions>
          <Extension AssemblyFile="plasticscm_install_path/client/extensions/jira/jiraextension.dll" />
      </Extensions>
      
クライアント設定 - パラメーター
  • Host(ホスト):Jira サーバーがある URL を指定します。この URL は Jira サーバーが実行しているポートを含む必要があることに注意してください。
  • User name(ユーザー名)」および「Password(パスワード)」:Jira へのログインと変更の記録に使用される Jira の資格情報を指定します。
    Jira Cloud ユーザー向け重要事項

    Jira Cloud を使用している場合、「User name(ユーザー名)」はアカウントのメールアドレス、「Password(パスワード)」は API トークンにする必要があります。Atlassian Cloud アカウントの API トークンを生成する方法については、公式ドキュメントを参照してください。

    これらのフィールドには Jira のユーザー資格情報を指定することも、Plastic SCM の変更を記録するために特に作成された別の Jira ユーザーの資格情報を指定することもできます。Jira のイシュー履歴に、ここで設定したユーザーから届く変更が表示されます。
  • Branch prefix(ブランチプレフィックス):ブランチ対象タスクモードで操作する場合は、このパラメーターの指定をお勧めします(必須ではありません)。このブランチプレフィックスは、Plastic のブランチを Jira のタスクにバインドするために使用されます。
    たとえば、scm プレフィックスを入力すると、名前がプレフィックス scm で始まるすべてのブランチが Jira のタスクにリンクされます。
  • Project Key(プロジェクトキー):Plastic ブランチに関連付けるイシューの Jira プロジェクトのキーを指定します。
  • Custom Field ID(カスタムフィールド ID):このパラメーターは、Jira タスクに関する Plastic チェックイン情報を記録するために使用されるカスタムフィールドの識別子です。このフィールドは、フィールドを作成したときに Jira によって割り当てられるカスタムフィールド ID を追加して構築されます。
    このパラメーターはオプションです。これが設定されない場合、Plastic SCM によって、チェックインに関するすべての情報は Jira の関連するイシューに記録されません。その場合でも、ユーザーは、Jira のイシューからブランチを作成したり、ブランチエクスプローラーから Jira のイシューを参照したりして、Jira 統合のメリットを得ることができます。
    Next-gen プロジェクト向け重要事項

    Next-gen プロジェクトではこのフィールドはサポートされません。
    Custom Field ID(カスタムフィールド ID)」を空にして、チェックイン情報をコメントとして追加します。

  • Use LDAP credentials if available(使用可能な場合に LDAP 資格情報を使用します):このパラメーターをオンにすることで、Plastic SCM クライアントの認証モードが LDAP の場合は、それらの資格情報を再利用して Jira にログインするように Jira 拡張機能を設定できます。この機能が作動するためには、Plastic SCM サーバーと Jira の両方が同じ LDAP ユーザーディレクトリを共有する必要があることを覚えておいてください。
  • Use default proxy credentials(デフォルトプロキシ資格情報を使用します):すべての Jira 拡張機能接続に対してデフォルトの資格情報を使用して自動的にプロキシ資格情報を設定します。
  • Issue query limit(イシューのクエリ制限):このパラメーターを使用して、「ブランチを作成」ダイアログに返される結果の最大数を手動で調整します。
    デフォルト値は 50 です。任意の正の数に設定できます。
  • Resolved issue states(解決済みのイシュー状態):「解決済み」とみなされるステータス名のコンマ区切りリストを指定します。
    デフォルト値は Done です。つまり、ステータスが Done のイシューは、デフォルトでは「ブランチを作成」ダイアログのタスクリストには表示されません。
  • Issue types(イシューの種類):Jira 拡張機能が取得するイシューを種類でフィルター処理します。イシューの種類をコンマ区切りリストとして入力するだけです。これが役立つのは、たとえば、Plastic SCM で Bug または Task イシューのみを表示するためにそれ以外をフィルターで除外する場合です。
    GNU/Linux または macOS を使用している場合は、次の行をコピーして必要に応じて編集し、jira.conf ファイルに貼り付けます。
    Name=Issue types;Value=Bug,Task;Type=Text;IsGlobal=False
    
  • Fields mapping(フィールドマッピング):ブランチビューや変更セットビューのタスク情報パネルに表示される Jira イシューのフィールドをマッピングできます。
    Jira のフィールドのマッピングについて詳しくは、こちらを参照してください。
  • Status transition(ステータス遷移):関連するイシューのステータスを変更セットのコメントに基づいて変更できます。この機能は、イシューをブランチと変更セットの両方にバインドして作動します。
    ステータス遷移について詳しくは、こちらを参照してください。

Jira - 特性

ブランチ対象タスク作業モード

デフォルトで設定されている作業モードはブランチ対象タスクモードで、「タスクごとのブランチ」パターンに適しています。この作業モードでは、完了すべきタスクごとに新規ブランチが作成されます。

Plastic SCM と Jira 拡張機能の作業を開始するには、イシュー追跡システム上で、「Create issue」オプションをクリックし、新規イシューに関連するデータ(名前、関連するプロジェクト、サマリーなど)を入力して、タスクを作成する必要があります。

Jira での新規イシューの作成

Jira によって、新たに作成されたイシューに番号が割り当てられます。これは、タスクの作業を行うときに Plastic のブランチに与えられる番号と同じです。このケースでは、イシュー番号 1 を作成します。

Jira でのイシューの詳細

次に、そのイシューに割り当てられた開発者が、それに対して作業を開始します。Plastic SCM GUI クライアントを使用して新規ブランチを作成します。Jira にリンクする新規ブランチを作成するオプションは 2 つあります。

  • Manual(手動):ブランチ名を入力します。新規ブランチの名前は、Jira のイシューの番号(このケースでは 1)の前に scm プレフィックス(Plastic SCM の Jira 拡張機能に対して設定されている)が付いたものと一致する必要があることに注意してください。

    タスクの新規ブランチの作成

  • タスクから:Jira の既存のタスクの選択。

    タスクの新規ブランチの作成

ブランチビューの「拡張情報を表示」ボタン(拡張情報を表示)をクリックすると、そのブランチに関連する情報が Plastic GUI の右側のパネルに表示されます。Plastic のブランチを選択すると、Jira のイシューの情報が表示されます。

ブランチに関連付けられたタスクの詳細情報

これをダブルクリックするか、「イシューをブラウザーで開く」ボタン(イシューをブラウザーで開く)をクリックすると、関連するブランチイシューを表示する新しいブラウザーウィンドウが開き、Jira タスクに関する完全な情報が表示されます。ユーザーがイシューのいずれかのフィールドを変更したとき、「Jira Extension(Jira 拡張機能)」パネルの「最新情報に更新」ボタンをクリックすると新しい情報が表示されます。

変更セット対象タスク作業モード

変更セット対象タスク作業モードで機能するように Plastic SCM を設定するには、ユーザーは Jira 拡張機能を設定して、「Plastic 変更セットにイシューをバインド」オプションを選択する必要があります。前のクライアントに関する項の説明を参照してください。

ワークフローは次のようになります。

  1. イシューが Jira で作成されます。開発者が 1 つのイシューについて作業を開始すると、そのイシューが開きます。
  2. コードに対して変更が作成されます。つまり、Plastic に表示されるチェックアウト済みの項目です。
  3. ユーザーが変更のチェックインを決定すると、Plastic SCM によって新しいダイアログが表示され、そこで Jira イシューをこの新規変更セットにリンクできます。
  4. ユーザーは、次のいずれかのオプションに従って変更セットとタスクをリンクできます。
    • 新規イシューを追加 - 「新規イシューを追加」ボタンをクリックすると、新しいダイアログが開きます。ここで、ユーザーは、変更セットにリンクする 1 つ以上のタスクを選択できます。
    • コメントハッシュタグを入力 - コメントを「チェックインのコメント」テキストボックスに入力しますが、コメントの先頭には、# 記号とイシューキー(オプションでさらにコロン)を付けてください。これによって、関連するイシューにチェックイン情報が記録されます。たとえば、#PJI-2: Updated values です。

変更セットが Jira のイシューすなわちタスクにリンクされると、この情報が Plastic SCM の変更セットビューに表示されます。「Extended information(拡張情報)」パネルが表示されているとき(拡張情報を表示)、変更セットをクリックすると、関連する Jira イシューが表示されます。

「変更セット対象タスク」作業モードでの詳細情報を含む変更セットビュー

ユーザーは、Jira 拡張機能情報で、新規タスクの追加や以前のタスクの削除も行うことができます。さらに、特定の変更セットに関連付けられた各イシューをダブルクリックするか、「イシューをブラウザーで開く」ボタン(イシューをブラウザーで開く)をクリックすると、新しいブラウザーウィンドウが開き、選択した Jira タスクが表示されます。ユーザーがタスク追跡ツールでイシューを変更した場合は常に、「Jira Extension(Jira 拡張機能)」ペインの「最新情報に更新」ボタンを押すと、Plastic GUI で新しいデータに更新されます。

チェックイン操作の記録

ブランチまたは変更セットにバインドされた Jira データを Plastic SCM 内で表示できるだけでなく、統合によって、変更された項目の記録を Jira に保存することができます。変更がチェックインされたときに統合がアクティブな場合、Jira によって、ブランチ対象タスクまたは変更セット対象タスク作業モードのいずれかを使用して、影響を受ける項目が「Plastic SCM」カスタム フィールドに表示されます。

Jira イシューの詳細 - 変更セット - Plastic SCM チェックイン情報


Jira - マルチプロジェクト設定

Plastic SCM では、Jira のマルチプロジェクト設定も使用できます。これは、すべてのブランチに対してグローバルなプロジェクトキーを 1 つ定義する代わりに、各ブランチにその関連タスクのプロジェクトキーを明示的に格納できるようにするという考え方です。

Jira サーバーを設定した後で、マルチプロジェクト設定を使用するように Plastic SCM クライアントを設定します。

Plastic SCM クライアントで Jira 拡張機能を設定するには、Plastic SCM GUI のメインウィンドウの「環境設定」タブをクリックします。新しいダイアログウィンドウが開きます。「Issue tracking(イシュー追跡)」タブをクリックし、「このイシュー追跡システムにバインドする」ラジオボタンをオンにして「Atlassian Jira」を選択します。

  • デフォルトでは、「Plastic ブランチにイシューをバインド」オプションが有効になっています。Plastic SCM をこのモードで動作するように設定する場合、「Branch prefix(ブランチのプレフィックス)」を指定することが推奨されています(必須ではありません)。このブランチプレフィックスは、Plastic のブランチを Jira のタスクにバインドするために使用されます。このマルチプロジェクト設定の例では、ブランチのプレフィックスとして「JIRA_」を使用します。
  • Project Key(プロジェクトキー)」 パラメーターの値は必ずMULTIPLE_PROJECTS」にしてください。
  • Linux または macOS システムで作業している場合は、jira.conf ファイル内の必要な値を更新することを忘れないでください。

Plastic SCM でのイシュー追跡の設定:Jira マルチプロジェクト


Jira 上でプロジェクトとタスクが作成されている必要があります。

Jira プロジェクト

Jira タスク


次に、Plastic SCM ブランチを作成します。Jira タスクに関連するブランチを識別するために「JIRA_」プレフィックスを選択することを忘れないでください。

マルチプロジェクト設定を使用するときは、どのブランチが各プロジェクトに関連しているかを区別することが重要です。下の図に示すように、ここでは「branchPrefix_projectShortName-taskID」というスキームを使用して Plastic SCM ブランチに名前を付けます。

たとえば、Jira タスク「RI-1」のブランチは「JIRA_RI-1」、Jira プロジェクト「FG」(フォームジェネレーター)のブランチは「JIRA_FG-1」となります。

Plastic SCM マルチプロジェクトのブランチエクスプローラー


フィールドマッピング

Jira 拡張機能を使用すると、Plastic SCM のブランチビューや変更セットビューのタスク情報パネルに表示される Jira イシューからのフィールドをマッピングできます。

Jira フィールドのマッピング機能を定義するには、「Fields mapping(フィールドマッピング)」パラメーターを設定する必要があります。これを行うには、Plastic SCM GUI のメインウィンドウの「環境設定」タブをクリックして、Jira 拡張機能の設定を開きます。次に、「Issue tracking(イシュー追跡)」タブをクリックします。「Fields mapping(フィールドマッピング)」設定パラメーターが表示されるまで、パラメーターのリストを下にスクロールします。

フィールドマッピングの設定

ここには、'|'(縦棒)文字で区切られたフィールド名のペア(from->to)が格納されます。パラメーターの構文は次のとおりです。

[ jira_field_name -> plastic_property_name [ | jira_field_name -> plastic_property_name [ | ... ] ] ]

Linux または macOS システムで作業している場合は、jira.conf ファイル内の必要なフィールドを更新することを忘れないでください。

有効な Jira フィールドのマッピングの設定の例を次に示します。

issue.Fields.Project.Name->Description|issue.Fields.Reporter.Name->Owner|issue.Fields.Description->Title

この場合、「Atlassian Jira extension(Atlassian Jira 拡張機能)」拡張情報パネルに表示される値は以下のようになります。表示される「説明」にはプロジェクトキーが含まれ、表示される「所有者」はイシューを作成した Jira ユーザー、表示される「タイトル」は Jira イシューの説明になります。

ペア "from->to" の to 属性は、plastic_property_name が参照する Plastic SCM のフィールドを表します。拡張情報パネルで使用できる Plastic SCM フィールドのリストを以下に示します。

  • ID
  • 所有者
  • ステータス
  • タイトル
  • 説明

フィールドマッピングの例

from 属性は、上で説明したフィールド to にその値が読み込まれる、Jira イシュー内のフィールド(jira_field_name)を表します。Jira 拡張機能で from 属性に使用できるフィールドのリストを次の表に示します。

from フィールドの値 フィールドのデータ型
issue.Fields.Assignee.Name String
issue.Fields.AttachmentNames String[]
issue.Fields.ComponentNames String[]
issue.Fields.Created DateTime
issue.Fields.Description String
issue.Fields.DueDate DateTime
issue.Fields.Environment String
issue.Key String
issue.Fields.Priority.Name String
issue.Fields.Project.Name String
issue.Fields.Reporter.Name String
issue.Fields.Resolution String
issue.Fields.Status.Name String
issue.Fields.Summary String
issue.Fields.Issuetype.Name String
issue.Fields.Updated DateTime
issue.Fields.Votes.Number Long

次のサンプルのマッピングのように、customFieldValues 修飾子を使用するとカスタム Jira フィールドの値にアクセスできます。

customFieldValues[10000]->Description

[ ] 間のインデックスは、前のセクションで説明したように Jira から取得できるカスタムフィールドの ID です。カスタムフィールド ID の数値(サンプルでは 10000)のみを指定する必要があります。

フィールドマッピングの例 - カスタムフィールド


ステータス遷移

Jira イシュートラッカー拡張機能を使用すると、変更セットのコメントに基づいて、関連するイシューのステータスをブランチ/変更セットに変えることができます。

これを行うには、キーワードとステータスのマッピングを独自に定義します。変更セットのコメントにそのキーワードが存在する場合は、イシューのステータスが定義済みのステータスに変更されます。

マッピングの形式は次のようになります。

KEY-VALUE|KEY-VALUE

例:

[FIXED]-Ready for QA|[WONTFIX]-Done

上の例では、変更セットのコメントにキーワード [FIXED](角括弧付き)が含まれている場合に、イシューのステータスが Ready for QA に変わると指定されています。

この機能は、イシューをブランチと変更セットの両方にバインドして作動します。

ステータス間の遷移が Jira ワークフローによって許可される必要があることを覚えておいてください。

Plastic SCM のカスタムフィールド ID をこの操作用に設定する必要はありません。

ステータス遷移の設定

WindowsLinux、または macOS システムで、ステータス遷移機能を設定する方法を確認してください。

ステータス遷移の設定 - Windows
  1. Plastic SCM GUI のメインウィンドウの「環境設定」タブをクリックします。次に、イシュートラッカータブをクリックします。そうすると、Jira 拡張機能設定が開きます。
  2. ステータス遷移フィールドに移動し、必要な KEY-VALUE ペアを入力します。
ステータス遷移設定 - Linux および macOS システム
  1. jira.conf ファイルを開きます。
  2. 次の行を追加し、Value パラメーターのテキストを必要な KEY-VALUE 値に置き換えます。
    Name=Status transitions;Value=[FIXED]-Ready for QA|[WONTFIX]-Done;Type=Text;IsGlobal=True
    

Axosoft 統合

Plastic SCM で Axosoft 統合を使用する場合は、このセクションの手順に従います。

この拡張機能は Axosoft v14 以降と互換性があります。

「前 (<)」および「次へ (>)」の矢印を使用して、Windows、Linux、および macOS のスクリーンショットを表示します。

Axosoft - 設定

この章では、Axosoft 統合をサーバー側とクライアント側の両方で設定する方法について説明します。

Axosoft サーバー設定

Axosoft 拡張機能を設定するには、Axosoft サーバーのベース URL を Plastic SCM に指定する必要があります。

Plastic SCM クライアントが Axosoft 統合を設定するために必要となる他の 2 つの設定パラメーターは、client-id パラメーターおよび client-secret パラメーターです。これらの値を取得するには、「Tools」メニューの「System Options」オプションに移動します。

Axosoft - System Options

「System Settings」ウィンドウで「Axosoft API Settings」タブをクリックします。このビューの下で、「Enable API」チェックボックスをオンにして、「Manage API Keys」ボタンをクリックします。

Axosoft - Manage API keys

新規ウィンドウで、「Add」ボタンをクリックして、Axosoft との Plastic SCM 統合の識別と認証に使用される 2 つの値を取得します。「Application Name」を入力し、「Client ID」と「Client Secret」の値をコピーして、「Save」ボタンをクリックします。

Axosoft - Add API key

API キーが保存されたら、次はカスタムフィールドを作成します。Plastic SCM はこれを使用して、Axosoft イシューに関連するすべてのチェックイン操作で行われたすべての変更を記録できるようになります。

この操作を行えるようにするには、Axosoft で新規カスタムフィールドを作成する必要があります。このためには、「Tools」メニューに移動し、「Fields」サブメニューの下の「Custom Fields」オプションを選択します。

Axosoft - カスタムフィールドの作成

新規ウィンドウの「Bugs」タブの下で「Add」ボタンをクリックしてから、新規カスタムフィールドとして Plastic SCM を入力し、「Large text」タイプを選択します。

チェックイン操作を記録するための新規カスタムフィールドの作成

次の項の Plastic SCM クライアント設定で使用される新規カスタムフィールドを保存します。

Axosoft サーバー設定の詳細については、Axosoft インストールに含まれているマニュアルまたは Axosoft ウェブサイトを参照してください。

クライアント設定

WindowsLinux、または macOS システムで、Axosoft 統合を設定する方法を確認してください。

クライアント設定 - Windows

次のステップに従って、Windows マシン上の Plastic SCM クライアントで Axosoft 拡張機能を設定します。

  1. Plastic SCM GUI のメインウィンドウの「環境設定」タブをクリックします。
  2. 新しいウィンドウで「イシュートラッカー」タブをクリックします。
  3. このイシュー追跡システムにバインドする」ラジオボタンをオンにします。
  4. Axosoft」オプションを選択します。
  5. ここで、「バインドの適用先」にするリポジトリを選択します。
    • グローバル拡張機能設定を行う場合は、plastic-global-config リポジトリを選択します。
    • すべてのリポジトリをイシュートラッカーにバインドする場合は、「Repositories(リポジトリ)」を選択します。
    • codeBeamer で特定のリポジトリにバインドする場合は、そのリポジトリを選択します。
    イシュー追跡設定:Axosoft OnTime
  6. デフォルトでは、「Plastic ブランチにイシューをバインド」オプションが有効になっており、ブランチ対象タスクモードで操作します。
    変更セット対象タスクモードで操作するには、「Plastic 変更セットにイシューをバインド」オプションを選択します。
  7. 次は、Axosoft のパラメーター(Axosoft サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定する必要があります。
    Axosoft 設定パラメーターの詳細については、こちらを参照してください。
クライアント設定 - Linux および macOS システム

次の方法のうち 1 つを使用して、Linux または macOS マシン上の Plastic SCM クライアントで Axosoft 拡張機能を設定できます。

  • サーバーでグローバル拡張機能設定を指定します。そうすると、すべての Plastic クライアントにデフォルトで同じ Axosoft 設定が適用されます。
  • または
  • ローカルの Axosoft 設定を指定します。これを行うには、次のようにします。
    1. $HOME/.plastic4issuetrackers/server_port/repository という構造を作成します。repository は次のいずれかの値です。
      • イシュートラッカーにリンクしようとするリポジトリの名前。
      • または
      • allrepos(すべてのリポジトリがイシュートラッカーにリンクされます)。
    2. サンプルの設定ファイル ontime.conf を新規作成したパスにコピーします。
      このファイルは次の場所にあります。
      • Window または Linux: plasticscm_install_path/client/extensions/config_samples
      • macOS: /Applications/PlasticSCM.app/Contents/IssueTrackerConfigSamples

      たとえば、次のようになります。

      • /home/pablo/.plastic4/issuetrackers/localhost_8087/info/ontime.conf
      • または
      • /home/pablo/.plastic4/issuetrackers/localhost_8087/allrepos/ontime.conf.

    3. ontime.conf ファイルを編集します。
      1. WorkingMode パラメーターを編集し、TaskOnBranch または TaskOnChangeset の値を割り当てます。
      2. cAxosoft のパラメーター(Axosoft サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定します。
        Axosoft 設定パラメーターの詳細については、こちらを参照してください。
    4. client.conf ファイルを編集して、次のキーを追加します。
      <Extensions>
          <Extension AssemblyFile="plasticscm_install_path/client/extensions/ontime/ontimeextension.dll" />
      </Extensions>
      
クライアント設定 - パラメーター
  • Axosoft Root URL(Axosoft ルート URL):サーバーのトピックで説明したように、Plastic SCM Axosoft 拡張機能が作動するためにはこの値が必要です。
  • User(ユーザー)および「Password(パスワード)」:各 Plastic SCM ユーザーは Axosoft アカウントを持つ必要があり、Axosoft 資格情報を使用して Plastic が Axosoft サーバーに接続できるようにする必要があります。
  • Branch prefix(ブランチプレフィックス):Plastic SCM がブランチ対象タスクモードで作動するように設定されている場合、ユーザーはいくつかのブランチプレフィックスを設定して、それらをいくつかの Axosoft オブジェクトにバインドすることができます。たとえば、ユーザーが Axosoft の不具合と Axosoft のタスクのマッピングを有効にした場合、名前がプレフィックス def で始まるブランチは Axosoft の不具合にリンクされ、名前がプレフィックス task で始まるブランチは Axosoft のタスクにリンクされます。
    たとえば、ブランチ名 def021 は Axosoft の不具合 DE21 にリンクされ、ブランチ名 task021 は Axosoft のタスク TA21 にリンクされます。その他のオブジェクトも同様の動作になります。
  • Client ID(クライアント ID)」および「Client Secret(クライアントシークレット)」:これらのフィールドには、Axosoft 管理パネルで生成されるトークンを入力する必要があります。詳細については、サーバーのトピックを参照してください。
  • Plastic SCM custom field(Plastic SCM カスタムフィールド):このパラメーターは、Axosoft で作成されたカスタムフィールドです。Plastic SCM のチェックイン情報を記録するために使用されます。
  • Pending status list(保留中ステータスリスト):このフィールドを使用し、コンマ区切り値の文字列を入力して、「保留中」とみなされるステータスのリストを編集できます(「ブランチを作成」ダイアログに表示されるタスクのリストに影響します)。

Axosoft - 特性

ブランチ対象タスク作業モード

デフォルトで設定されている作業モードはブランチ対象タスクモードで、「タスクごとのブランチ」パターンに適しています。この作業モードでは、完了すべきタスクごとに新規ブランチが作成されます。

Plastic SCM および Axosoft 拡張機能の作業を開始するには、イシュー追跡システム上で不具合を作成する必要があります。このためには、次の図のように、「Add」メニューをクリックして「Full Add」オプションを選択します。

OnTime での新規不具合の作成

「Add Bug」ウィンドウで、新規タスク名、優先度、ステータス、割り当てエンジニアなどの情報を入力する必要があります。新しい不具合が保存されると、Axosoft によって識別番号が与えられます。これは、割り当てられた開発者が、そのタスクの作業を行うために Plastic SCM ブランチを作成するときに使用します。

OnTime での新規不具合の不具合情報

次に、そのイシューに割り当てられた開発者が、Plastic SCM GUI クライアントで新規ブランチを作成することで作業を開始します。新規ブランチをリンクするには、その名前が、Plastic SCM Axosoft 拡張機能の設定済みブランチプレフィックス(定義されている場合)の後に Axosoft 割り当てのイシュー番号が続くものと一致する必要があることに注意してください。

ブランチビューの「拡張情報を表示」ボタン(拡張情報を表示)をクリックすると、そのブランチに関連する情報が GUI の右側に次のスクリーンショットのように表示されます。ブランチを選択すると、Axosoft 不具合の詳細情報(名前、所有者、ステータス、タイトル、説明)が表示されます。

「ブランチ対象タスク」モードでのブランチの詳細情報

これをダブルクリックするか、「イシューをブラウザーで開く」ボタン(イシューをブラウザーで開く)をクリックすると、関連するブランチタスクを含む新しいウェブブラウザーウィンドウが開き、Axosoft タスクに関する完全な情報が表示されます。ユーザーがイシューのステータスまたは他のいずれかのフィールドを変更したとき、「Axosoft Extension(Axosoft 拡張機能)」パネルの「最新情報に更新」ボタンをクリックすると新しい情報が表示されます。

変更セット対象タスク作業モード

変更セット対象タスク作業モードで機能するように Plastic SCM を設定するには、ユーザーは Axosoft 拡張機能を設定して、「Plastic 変更セットにイシューをバインド」オプションを選択する必要があります。前のクライアントに関する項の説明を参照してください。

ワークフローは次のようになります。

  1. イシューが Axosoft で作成されます。開発者が 1 つのイシューについて作業を開始すると、そのイシューが開きます。
  2. コードに対して変更が作成されます。つまり、Plastic に表示されるチェックアウト済みの項目です。
  3. ユーザーが変更のチェックインを決定すると、Plastic SCM によって新しいダイアログが表示され、そこで Axosoft イシューをこの新規変更セットにリンクできます。
  4. ユーザーは、次のいずれかのオプションに従って変更セットとタスクをリンクできます。
    • 新規イシューを追加 - 「新規イシューを追加」ボタンをクリックすると、新しいダイアログが開きます。ここで、ユーザーは、変更セットにリンクする 1 つ以上のタスクを選択できます。
    • コメントハッシュタグを入力 - コメントを「チェックインのコメント」テキストボックスに入力しますが、コメントの先頭には、# 記号とイシューキー(オプションでさらにコロン)を付けてください。これによって、関連するイシューにチェックイン情報が記録されます。たとえば、#def3: Included encode modes です。

変更セットが Axosoft の不具合すなわちタスクにリンクされると、拡張機能情報(拡張情報を表示)が変更セットビューに表示されます。ユーザーは、新規タスクの追加や以前のタスクの削除も「Axosoft extension(Axosoft 拡張機能)」ペインで行うことができます。各イシューをダブルクリックするか、「イシューをブラウザーで開く」ボタン(イシューをブラウザーで開く)をクリックすると、関連する Axosoft イシューを含むウェブブラウザーウィンドウが開きます。ユーザーがタスク追跡ツールでイシューを変更した場合は常に、「Axosoft Extension(Axosoft 拡張機能)」ペインの「最新情報に更新」ボタンを押すことで、Plastic GUI で新しいデータに更新されます。

「変更セット対象タスク」作業モードでの変更セット詳細ビュー

チェックイン操作の記録

この拡張機能は、Plastic SCM と統合されたブランチや変更セットに関連付けられたイシューの情報を表示するだけでなく、関連するイシューで行われたすべてのチェックインを Axosoft に記録します。

このため、ユーザーは、すべてのチェックイン操作が Axosoft タスクにどのように登録されているかを確認できます。

Plastic SCM によって生成されたチェックイン情報


VersionOne 統合

このセクションでは、Plastic SCM で VersionOne 統合を使用するための手順を説明します。

この拡張機能は VersionOne バージョン 7.2 以降と互換性があります。

「前 (<)」および「次へ (>)」の矢印を使用して、Windows、Linux、および macOS のスクリーンショットを表示します。

VersionOne - 設定

この章では、VersionOne 統合をサーバー側とクライアント側の両方で設定する方法について説明します。

VersionOne サーバー設定

Plastic SCM VersionOne 拡張機能設定ではサーバー側で変更を行う必要はありません。

クライアント設定

WindowsLinux、または macOS システムで、VersionOne 統合を設定する方法を確認してください。

クライアント設定 - Windows

Windows マシン上の Plastic SCM クライアントで VersionOne 拡張機能を設定するには、次のステップに従います。

  1. Plastic SCM GUI のメインウィンドウの「環境設定」タブをクリックします。
  2. 新しいウィンドウで「イシュートラッカー」タブをクリックします。
  3. このイシュー追跡システムにバインドする」ラジオボタンをオンにします。
  4. VersionOne 追跡システムを選択します。
  5. ここで、「バインドの適用先」にするリポジトリを選択します。
    • グローバル拡張機能設定を行う場合は、plastic-global-config リポジトリを選択します。
    • すべてのリポジトリをイシュートラッカーにバインドする場合は、「Repositories(リポジトリ)」を選択します。
    • codeBeamer で特定のリポジトリにバインドする場合は、そのリポジトリを選択します。
    Plastic SCM でのイシュー追跡設定:VersionOne
  6. デフォルトでは、「Plastic ブランチにイシューをバインド」オプションが有効になっており、ブランチ対象タスクモードで操作します。
    変更セット対象タスクモードで操作するには、「Plastic 変更セットにイシューをバインド」オプションを選択します。このケースでは、すべての VersionOne オブジェクトを Plastic 変更セットにマッピングできるようになります。
  7. 次は、VersionOne のパラメーター(VersionOne サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定する必要があります。
    VersionOne 設定パラメーターの詳細については、こちらを参照してください。
クライアント - Linux および macOS システム

次の方法のうち 1 つを使用して、Linux または macOS マシン上の Plastic SCM クライアントで VersionOne 拡張機能を設定できます。

  • サーバーでグローバル拡張機能設定を指定します。そうすると、すべての Plastic クライアントにデフォルトで同じ VersionOne 設定が適用されます。
  • または
  • ローカルの VersionOne 設定を指定します。これを行うには、次のようにします。
    1. $HOME/.plastic4issuetrackers/server_port/repository という構造を作成します。repository は次のいずれかの値です。
      • イシュートラッカーにリンクしようとするリポジトリの名前。
      • または
      • allrepos(すべてのリポジトリがイシュートラッカーにリンクされます)。
    2. サンプルの設定ファイル versionone.conf を新規作成したパスにコピーします。
      このファイルは次の場所にあります。
      • Window または Linux: plasticscm_install_path/client/extensions/config_samples
      • macOS: /Applications/PlasticSCM.app/Contents/IssueTrackerConfigSamples

      たとえば、次のようになります。

      • /home/pablo/.plastic4/issuetrackers/localhost_8087/info/versionone.conf
      • または
      • /home/pablo/.plastic4/issuetrackers/localhost_8087/allrepos/versionone.conf.

    3. versionone.conf ファイルを編集します。
      1. WorkingMode パラメーターを編集し、TaskOnBranch または TaskOnChangeset のいずれかの値を割り当てます。
      2. VersionOne 拡張機能のその他のパラメーター(VersionOne サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定します。
        VersionOne 設定パラメーターの詳細については、こちらを参照してください。
    4. client.conf ファイルを編集して、次のキーを追加します。
      <Extensions>
          <Extension AssemblyFile="plasticscm_install_path/client/extensions/versionone/versiononeextension.dll" />
      </Extensions>
      
クライアント設定 - パラメーター
  • Base URL(ベース URL):VersionOne サーバーがインストールされて実行している URL を指定します。
  • User(ユーザー)」および「Password(パスワード)」:「Use integrated authentication(統合認証を使用します)」オプションがオンになっていない場合、これらのフィールドに有効な VersionOne ユーザーを入力する必要があります。
  • Defect prefix(不具合プレフィックス)」、「Task prefix(タスクプレフィックス)」、「Test prefix(テストプレフィックス)」、「Story prefix(ストーリープレフィックス)」:リンクできる VersionOne オブジェクトは、不具合、タスク、テスト、ストーリーです。
    :Plastic SCM がブランチ対象タスクモードで作動するように設定されている場合、ユーザーはいくつかのブランチプレフィックスを設定して、それらをいくつかの VersionOne オブジェクトにバインドすることができます。
    例を見てみましょう。ユーザーが VersionOne の不具合とのマッピングを有効にした場合、名前がプレフィックス def で始まるすべての Plastic ブランチが VersionOne の不具合にリンクされます。ブランチ名 def-1001 は VersionOne の不具合 D-01001 にリンクされます。その他のオブジェクトも同様の動作になります。
    重要:VersionOne のオブジェクトは番号のカウントが 1000 から始まることに注意してください。
  • Use integrated authentication(統合認証を使用します):このオプションでは、Windows ドメインユーザーを使用して認証を解決するかどうかを Plastic SCM に指定します。

VersionOne - 特性

ブランチ対象タスク作業モード

デフォルトの作業モードはブランチ対象タスクで、タスクごとに新規ブランチが作成される「タスクごとのブランチ」パターンで使用されます。

Plastic SCM および VersionOne 拡張機能の作業を開始するには、最初のステップとして VersionOne でタスクを作成します。これは、通常はプロジェクトマネージャーが、VersionOne ウェブインターフェース上で、「Add Defect」、「Add Issue」、「Add backlog Item」および「Add Request」ショートカットをクリックして行います。新規タスクのデータを入力するための新規ダイアログウィンドウが開きます。VersionOne によって、1000 から始まる番号がタスクに割り当てられます。これに注意することが非常に重要です。ブランチ名は、タスクのタイプに合う設定済みプレフィックスと VersionOne の割り当て番号を含む必要があるためです。

VersionOne での新規バックログ項目の作成

イシューが作成されると VersionOne によって番号が割り当てられます。次の図では、作成された項目のリストを確認できます。

VersionOne での不具合のリスト

次に、タスクに割り当てられた開発者が、それに対して作業を開始します。次の図に示すように、新規ブランチを作成する必要があります(親ブランチを右クリックして、「子ブランチを作成」オプションを選択するだけで簡単です)。これを VersionOne のタスクにリンクするためには、ブランチに同じ番号を付ける必要があります(この番号は常に 1000 よりも大きいことに注意してください)。

新規イシューを解決するための Plastic SCM での新規ブランチの作成

ここで、ブランチビューの拡張情報に移動(拡張情報を表示)してブランチを選択するだけで、イシューの情報を確認できます。次に、ビューの右側に新しいペインが表示され、そこに VersionOne 拡張機能情報(タスク番号、所有者、ステータスなど)が表示されます。

「ブランチ対象タスク」モードでのブランチの詳細情報

ブランチに関連付けられたタスクをダブルクリックするか、「イシューをブラウザーで開く」ボタン(イシューをブラウザーで開く)をクリックすると、新しいウェブブラウザーウィンドウが開きます。ユーザーがイシューのステータスまたは他のいずれかのフィールドを変更したとき、VersionOne 拡張機能を最新情報に更新すると、新しい情報が表示されます。

変更セット対象タスク作業モード

変更セット対象タスク作業モードで機能するように Plastic SCM を設定するには、ユーザーは VersionOne 拡張機能を設定して、「Plastic 変更セットにイシューをバインド」オプションを選択する必要があります。前のクライアントに関する項の説明を参照してください。

ワークフローは次のようになります。

  1. イシューが VersionOne で作成されます。開発者が 1 つのイシューについて作業を開始すると、そのイシューが開きます。
  2. コードに対して変更が作成されます。つまり、Plastic に表示されるチェックアウト済みの項目です。
  3. ユーザーが変更のチェックインを決定すると、Plastic SCM によって新しいダイアログが表示され、そこで VersionOne の不具合/タスク/テスト/ストーリーをこの新規変更セットにリンクできます。
  4. ユーザーは、次のいずれかのオプションに従って変更セットと VersionOne イシューをリンクできます。
    • 新規イシューを追加 - 「新規イシューを追加」ボタンをクリックすると、新しいダイアログが開きます。ここで、ユーザーは、変更セットにリンクする 1 つ以上のタスクを選択できます。
    • コメントハッシュタグを入力 - コメントを「チェックインのコメント」テキストボックスに入力しますが、コメントの先頭には、# 記号とイシューキー(オプションでさらにコロン)を付けてください。これによって、関連するイシューにチェックイン情報が記録されます。たとえば、#D-01002: Added search feature です。

変更セットが VersionOne タスクにリンクされると、拡張機能情報(拡張情報を表示)が変更セットビューに表示されます。ユーザーは、VersionOne 拡張機能情報で、新規タスクの追加や以前のタスクの削除も行うことができます。また、特定の変更セットに関連付けられた各イシューをダブルクリックするか、「イシューをブラウザーで開く」ボタン(イシューをブラウザーで開く)をクリックすると、VersionOne を含むブラウザーが開きます。ユーザーが VersionOne でイシューを変更した場合は常に、VersionOne 拡張機能情報を最新情報に更新することで Plastic SCM に表示されます。

「変更セット対象タスク」モードでの詳細情報を含む変更セットビュー


FogBugz 統合

このセクションでは、Plastic SCM で FogBugz 統合を使用するための手順を説明します。

この拡張機能は FogBugz バージョン 7.2 以降と互換性があります。

「前 (<)」および「次へ (>)」の矢印を使用して、Windows、Linux、および macOS のスクリーンショットを表示します。

FogBugz - 設定

FogBugz 統合をサーバー側とクライアント側の両方で設定する方法を確認してください。

FogBugz サーバー設定

Plastic SCM FogBugz 拡張機能ではサーバー側で変更を行う必要はありません。

クライアント設定

WindowsLinux、または macOS システムで、FogBugz 統合を設定する方法を確認してください。

クライアント設定 - Windows

次のステップに従って、Windows マシン上の Plastic SCM クライアントで FogBugz 拡張機能を設定します。

  1. Plastic SCM GUI のメインウィンドウの「環境設定」タブをクリックします。
  2. 新しいウィンドウで「イシュートラッカー」タブをクリックします。
  3. このイシュー追跡システムにバインドする」ラジオボタンをオンにします。
  4. FogBugz 追跡システムを選択します。
  5. ここで、「バインドの適用先」にするリポジトリを選択します。
    • グローバル拡張機能設定を行う場合は、plastic-global-config リポジトリを選択します。
    • すべてのリポジトリをイシュートラッカーにバインドする場合は、「Repositories(リポジトリ)」を選択します。
    • codeBeamer で特定のリポジトリにバインドする場合は、そのリポジトリを選択します。
    Plastic SCM でのイシュー追跡設定:FogBugz

  6. デフォルトでは、「Plastic ブランチにイシューをバインド」オプションが有効になっており、ブランチ対象タスクモードで操作します。
    変更セット対象タスクモードで操作するには、「Plastic 変更セットにイシューをバインド」オプションを選択します。
  7. 次は、FogBugz のパラメーター(FogBugz サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定する必要があります。
    FogBugz 設定パラメーターの詳細については、こちらを参照してください。
クライアント設定 - Linux および macOS システム

次の方法のうち 1 つを使用して、Linux または macOS マシン上の Plastic SCM クライアントで FogBugz 拡張機能を設定できます。

  • サーバーでグローバル拡張機能設定を指定します。そうすると、すべての Plastic クライアントにデフォルトで同じ FogBugz 設定が適用されます。
  • または
  • ローカルの FogBugz 設定を指定します。これを行うには、次のようにします。
    1. $HOME/.plastic4issuetrackers/server_port/repository という構造を作成します。repository は次のいずれかの値です。
      • イシュートラッカーにリンクしようとするリポジトリの名前。
      • または
      • allrepos(すべてのリポジトリがイシュートラッカーにリンクされます)。
    2. サンプルの設定ファイル fogbugz.conf を新規作成したパスにコピーします。
      このファイルは次の場所にあります。
      • Window または Linux: plasticscm_install_path/client/extensions/config_samples
      • macOS: /Applications/PlasticSCM.app/Contents/IssueTrackerConfigSamples

      たとえば、次のようになります。

      • /home/pablo/.plastic4/issuetrackers/localhost_8087/info/fogbugz.conf
      • または
      • /home/pablo/.plastic4/issuetrackers/localhost_8087/allrepos/fogbugz.conf.

    3. fogbugz.conf ファイルを編集します。
      1. WorkingMode パラメーターを編集し、TaskOnBranch または TaskOnChangeset のいずれかの値を割り当てます。
    4. その他の FogBugz のパラメーター(FogBugz サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定します。
      FogBugz 設定パラメーターの詳細については、こちらを参照してください。
    5. client.conf ファイルを編集して、次のキーを追加します。
      <Extensions>
          <Extension AssemblyFile="plasticscm_install_path/client/extensions/fogbugz/fogbugzextension.dll" />
      </Extensions>
      
クライアント設定 - パラメーター
  • FogBugz URL:FogBugz サーバーがインストールされて実行している URL を指定します。
  • User name(ユーザー名)」および「Password(パスワード)」:これらのフィールドには有効な FogBugz ユーザーを入力する必要があります。
  • Branch prefix(ブランチプレフィックス):ブランチ対象タスクモードで操作する場合は、「Branch prefix(ブランチプレフィックス)」の指定をお勧めします(必須ではありません)。このブランチプレフィックスは、Plastic のブランチを FogBugz のタスクにバインドするために使用されます。
    たとえば、scm プレフィックスを入力すると、名前がプレフィックス scm で始まるすべてのブランチが FogBugz のイシューにリンクされます。
  • Enable checkin log(チェックインの記録を有効にします):このオプションを使用すると、FogBugz が Plastic SCM で実行されたすべてのチェックイン操作を記録できるようになります。

FogBugz - 特性

ブランチ対象タスク作業モード

デフォルトで設定される作業モードはブランチ対象タスクで、タスクごとに新規ブランチが作成される「タスクごとのブランチ」パターンで使用されます。

Plastic SCM および FogBugz 拡張機能の作業を開始するには、FogBugz でプロジェクトに対してタスクを作成する必要があります。これは、通常はプロジェクトマネージャーが「New Case」オプションをクリックして行います。新規タスクのデータを入力するための新規ダイアログウィンドウが開きます。

FogBugz での新規イシューの作成

イシューが作成されると FogBugz によって番号が割り当てられます。次に、そのタスクに割り当てられた開発者が、それに対して作業を開始します。次の図のように新規ブランチを作成します(親ブランチを右クリックして、「子ブランチを作成」オプションを選択するだけです)。新規ブランチを FogBugz のタスクにリンクするためには、ブランチ名が、設定済みブランチプレフィックス(定義されている場合)および同一タスク番号に一致する必要があります。

Plastic SCM での新規ブランチの作成

ここで、ブランチビューの拡張情報に移動(拡張情報を表示)してブランチを選択するだけで、イシューの情報を確認できます。ビューの右側に新しいペインが表示され、そこに FogBugz 拡張機能情報(タスク番号、所有者など)が表示されます。

「ブランチ対象タスク」モードで拡張情報を表示するブランチビュー

これをダブルクリックするか、「イシューをブラウザーで開く」ボタン(イシューをブラウザーで開く)をクリックすると、新しいウェブブラウザーウィンドウが開きます。FogBugz タスクの完全な情報が表示されます。ユーザーがイシューのステータスまたは他のいずれかのフィールドを変更したとき、「FogBugz Extension(FogBugz 拡張機能)」パネルの「最新情報に更新」ボタンをクリックすると新しい情報が表示されます。

変更セット対象タスク作業モード

変更セット対象タスク作業モードで機能するように Plastic SCM を設定するには、ユーザーは FogBugz 拡張機能を設定して、「Plastic 変更セットにイシューをバインド」オプションを選択する必要があります。前のクライアントに関する項の説明を参照してください。

ワークフローは次のようになります。

  1. イシューが FogBugz で作成されます。開発者が 1 つのイシューについて作業を開始すると、そのイシューが開きます。
  2. コードに対して変更が作成されます。つまり、Plastic に表示されるチェックアウト済みの項目です。
  3. ユーザーが変更のチェックインを決定すると、Plastic SCM によって新しいダイアログが表示され、そこで FogBugz タスクをこの新規変更セットにリンクできます。
  4. ユーザーは、次のいずれかのオプションに従って変更セットと FogBugz イシューをリンクできます。
    • 新規イシューを追加 - 「新規イシューを追加」ボタンをクリックすると、新しいダイアログが開きます。ここで、ユーザーは、変更セットにリンクする 1 つ以上のイシューを選択できます。
    • コメントハッシュタグを入力 - コメントを「チェックインのコメント」テキストボックスに入力しますが、コメントの先頭には、# 記号とイシューキー(オプションでさらにコロン)を付けてください。これによって、関連するイシューにチェックイン情報が記録されます。たとえば、#4: Fixed login です。

変更セットが FogBugz のイシューすなわちタスクにリンクされると、拡張機能情報(拡張情報を表示)が変更セットビューに表示されます。ユーザーは、FogBugz 拡張機能情報で、新規タスクの追加や以前のタスクの削除も行うことができます。また、特定の変更セットに関連付けられた各イシューをダブルクリックするか、「イシューをブラウザーで開く」ボタン(イシューをブラウザーで開く)をクリックすると、FogBugz を含むブラウザーが開きます。ユーザーが FogBugz でイシューを変更した場合は常に、FogBugz 拡張機能情報を最新情報に更新することで Plastic に表示されます。

「変更セット対象タスク」モードで詳細情報を表示する変更セットビュー

チェックイン操作の記録

この拡張機能は、Plastic SCM と統合されたブランチや変更セットに関連付けられたイシューの情報を表示するだけでなく、クライアントのセクションで「Enable checkin log(チェックインログを有効化)」チェックボックスが選択された場合のみ、関連するイシューで行われたすべてのチェックインを FogBugz に記録します。

このため、ユーザーは、「Checkins - Click to list」リンクをクリックして、すべてのチェックイン操作が FogBugz タスクにどのように登録されているかを確認できます。

Plastic SCM によって生成されたチェックイン情報


Rally 統合

このセクションでは、Plastic SCM で Rally Software Development 統合を使用するための手順を説明します。

「前 (<)」および「次へ (>)」の矢印を使用して、Windows、Linux、および macOS のスクリーンショットを表示します。

Rally - 設定

この章では、Rally 統合をサーバー側とクライアント側の両方で設定する方法について説明します。

Rallyサーバー設定

Rally 拡張機能を設定するには、有効な Rally アカウントが必要です。また、Rally はウェブベースのサービスであるためサーバー側やローカルで行う設定はありません。すべての操作はインターネットを介して Rally に対して行います。

クライアント設定

WindowsLinux、または macOS システムで、Rally 統合を設定する方法を確認してください。

クライアント設定 - Windows

次のステップに従って、Windows マシン上の Plastic SCM クライアントで Rally 拡張機能を設定します。

  1. Plastic SCM GUI のメインウィンドウの「環境設定」タブをクリックします。
  2. 新しいウィンドウで「イシュートラッカー」タブをクリックします。
  3. このイシュー追跡システムにバインドする」ラジオボタンをオンにします。
  4. Rally 追跡システムを選択します。
  5. ここで、「バインドの適用先」にするリポジトリを選択します。
    • グローバル拡張機能設定を行う場合は、plastic-global-config リポジトリを選択します。
    • すべてのリポジトリをイシュートラッカーにバインドする場合は、「Repositories(リポジトリ)」を選択します。
    • codeBeamer で特定のリポジトリにバインドする場合は、そのリポジトリを選択します。
    イシュー追跡設定:Rally
  6. デフォルトでは、「Plastic ブランチにイシューをバインド」オプションが有効になっており、ブランチ対象タスクモードで操作します。
    変更セット対象タスクモードで操作するには、「Plastic 変更セットにイシューをバインド」オプションを選択します。このケースでは、すべての Rally オブジェクトが Plastic 変更セットにマッピングできるようになります。
  7. 次は、Rally のパラメーター(Rally サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定する必要があります。
    Rally 設定パラメーターの詳細については、こちらを参照してください。
クライアント設定 - Linux および macOS システム

次の方法のうち 1 つを使用して、Linux または macOS マシン上の Plastic SCM クライアントで Rally 拡張機能を設定できます。

  • サーバーでグローバル拡張機能設定を指定します。そうすると、すべての Plastic クライアントにデフォルトで同じ Rally 設定が適用されます。
  • または
  • ローカルの Rally 設定を指定します。これを行うには、次のようにします。
    1. $HOME/.plastic4issuetrackers/server_port/repository という構造を作成します。repository は次のいずれかの値です。
      • イシュートラッカーにリンクしようとするリポジトリの名前。
      • または
      • allrepos(すべてのリポジトリがイシュートラッカーにリンクされます)。
    2. サンプルの設定ファイル rally.conf を新規作成したパスにコピーします。
      このファイルは次の場所にあります。
      • Window または Linux: plasticscm_install_path/client/extensions/config_samples
      • macOS: /Applications/PlasticSCM.app/Contents/IssueTrackerConfigSamples

      たとえば、次のようになります。

      • /home/pablo/.plastic4/issuetrackers/localhost_8087/info/rally.conf
      • または
      • /home/pablo/.plastic4/issuetrackers/localhost_8087/allrepos/rally.conf.

    3. rally.conf ファイルを編集します。
      1. WorkingMode パラメーターを編集し、TaskOnBranch または TaskOnChangeset のいずれかの値を割り当てます。
      2. その他の Rally のパラメーター(Rally サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定します。
        Rally 設定パラメーターの詳細については、こちらを参照してください。
    4. client.conf ファイルを編集して、次のキーを追加します。
      <Extensions>
          <Extension AssemblyFile="plasticscm_install_path/client/extensions/rally/rally.dll" />
      </Extensions>
      
クライアント設定 - パラメーター
  • Rally URL:Rally サーバーが実行している URL を指定します。
  • User name(ユーザー名)」および「Password(パスワード)」:これらのフィールドには、設定された Rally サーバーの有効な Rally ユーザーを入力する必要があります。
  • Task prefix(タスクプレフィックス)」、「Defect prefix(不具合プレフィックス)」、「Test case prefix(テストケースプレフィックス)」、および「User story prefix(ユーザーストーリープレフィックス)」:これらは Plastic SCM にリンクできる Rally オブジェクトです。
    :Plastic SCM がブランチ対象タスクモードで作動するように設定されている場合、ユーザーはいくつかのブランチプレフィックスを設定して、それらをいくつかの Rally オブジェクトにバインドすることができます。たとえば、ユーザーが Rally の不具合および Rally のタスクへのマッピングを有効にした場合、名前がプレフィックス def で始まるブランチは Rally の不具合にリンクされ、名前がプレフィックス task で始まるブランチは Rally のタスクにリンクされます。
    例を見てみましょう。ブランチ名 def021 は Rally の不具合 DE21 にリンクされ、ブランチ名 task021 は Rally のタスク TA21 にリンクされます。
    その他のオブジェクトも同様の動作になります。

Rally - 特性

ブランチ対象タスク作業モード

この作業モードを使用するために、最初のステップでは Plastic SCM Rally 拡張機能を設定します。前の項の説明に従うか、このモードに対応するデフォルトの設定のままにしておきます。

Plastic SCM および Rally 拡張機能の作業を開始するには、Rally でオブジェクトを作成する必要があります。

不具合は、「New defect」アクションをクリックして専用のタブで作成できます。その他の Rally オブジェクト(「Tasks」、「Test Cases」、「User Stories」など)も同様です。

Rally での新規不具合の作成

「Create Defect」ウィンドウで、新規タスク名、優先度、状態などの情報を含める必要があります。新しい不具合が保存されると、Rally によって識別文字列が与えられます。これは、割り当てられた開発者が、そのタスクの作業を行うために Plastic SCM ブランチを作成するときに後で使用します。プレフィックス ID はオブジェクトのタイプによって異なります。たとえば、ユーザーが新規タスクを作成する場合、ID は TA4 になります。不具合のケースでは DE4 です。

拡張情報を表示」ボタン(拡張情報を表示)をクリックすると、そのブランチに関連する情報が GUI の右側に次のスクリーンショットのように表示されます。ブランチを選択すると、Rally オブジェクトの詳細情報が表示されます。

「ブランチ対象タスク」作業モードで詳細情報を表示するブランチビュー

これをダブルクリックするか、「イシューをブラウザーで開く」ボタン(イシューをブラウザーで開く)をクリックすると、関連するブランチタスクを含むウェブブラウザーウィンドウが開きます。ユーザーがタスクを完了してステータスまたは他のフィールドを変更した場合は常に、ユーザーは、新しい値を表示するために Plastic ブランチの拡張情報を最新情報に更新する必要があります。

変更セット対象タスク作業モード

変更セット対象タスク作業モードで機能するように Plastic SCM を設定するには、ユーザーは Rally 拡張機能を設定して、「Plastic 変更セットにイシューをバインド」オプションを選択する必要があります。前のクライアントに関する項の説明を参照してください。

ワークフローは次のようになります。

  1. イシューが Rally で作成されます。開発者が 1 つのイシューについて作業を開始すると、そのイシューが開きます。
  2. コードに対して変更が作成されます。つまり、Plastic に表示されるチェックアウト済みの項目です。
  3. ユーザーが変更のチェックインを決定すると、Plastic SCM によって新しいダイアログが表示され、そこで Rally タスクをこの新規変更セットにリンクできます。
  4. ユーザーは、次のいずれかのオプションに従って変更セットとタスクをリンクできます。
    • 新規イシューを追加 - 「新規イシューを追加」ボタンをクリックすると、新しいダイアログが開きます。ここで、ユーザーは、変更セットにリンクする 1 つ以上の Rally オブジェクトを選択できます。
    • コメントハッシュタグを入力 - コメントを「チェックインのコメント」テキストボックスに入力しますが、コメントの先頭には、# 記号とイシューキー(オプションでさらにコロン)を付けてください。これによって、関連するイシューにチェックイン情報が記録されます。たとえば、#DE5: Created report folder です。

変更セットが Rally オブジェクトにリンクされると、その情報が変更セットビューに表示されます。ユーザーは、Rally オブジェクトへの新規リンクを追加することも、以前のリンクを削除することもできます。また、各イシューをダブルクリックするか、「イシューをブラウザーで開く」ボタン(イシューをブラウザーで開く)をクリックすると、Rally の関連するオブジェクトを含むウェブブラウザーウィンドウが開きます。ユーザーが、不具合、テストケースまたはユーザーストーリーをイシュー追跡ツールで変更した場合は常に、Rally 拡張機能の「最新情報に更新」ボタンをクリックすることで変更がロードされます。

「変更セット対象タスク」モードで拡張情報を表示する変更セットビュー


Polarion 統合

このセクションでは、Plastic SCM で Polarion Software Development 統合を使用するための手順を説明します。

「前 (<)」および「次へ (>)」の矢印を使用して、Windows、Linux、および macOS のスクリーンショットを表示します。

Polarion - 設定

Polarion 統合をサーバー側とクライアント側の両方で設定する方法を確認してください。

Polarion サーバー設定

Polarion 拡張機能を設定するために、いくつかのタスクが実行されています。

  1. Plastic SCM プラグインを Polarion に組み込みます。このためには、次のステップに従います。
    1. Plastic サービスを停止します。
    2. Plastic SCM インストールディレクトリの client/polarion フォルダーのディレクトリ com.codicesoftware.platform.repository.external.plasticscm を、Polarion 拡張機能フォルダー [Polarion installation]/polarion/extensions をコピーします。
      このプラグインは、イシュートラッカー拡張機能が Plastic SCM で適切に作動するために必要です。
      これを使用することで、Plastic SCM リビジョン(変更セット)を Polarion 作業項目にリンクできるためです。リビジョンと作業項目を手動でリンクするか、チェックインのコメントを介して作業項目をリンクします。
    3. Polarion サーバーを再度起動します。
  2. 次に、Plastic SCM リポジトリを Polarion サーバー側で作成する必要があります。
    1. Polarion の「Administration」オプションに移動します。
      Polarion サーバー設定
    2. 次に「Repositories」セクションをクリックします。
    3. Plastic SCM リポジトリが必要です。このため、「Add New Repository」ボタンをクリックします。
      Polarion - Add new repository
    4. リポジトリ設定ウィンドウで、新規 Plastic リポジトリを Polarion に作成するために必要な情報を入力します。
      • ID - Polarion でのこのリポジトリの識別子(必須)。
      • Name - Polarion で表示されるリポジトリの名前。
      • Repository Name - Plastic SCM リポジトリの名前。
      • Server - Plastic SCM サーバー。
      • Plastic Cm Executable - cm 実行可能ファイルがある場所のパス(Polarion サーバー側)。
        Plastic インストールが Polarion サーバー側に存在しない場合は、サーバー側に Plastic client フォルダーをコピーしてください。この場合、有効な client.conf が、cm 実行可能ファイルがあるこの client フォルダーに存在する必要があります。
      Polarion リポジトリ設定
    5. 情報が追加されたら、「Save」ボタンをクリックします。

クライアント設定

WindowsLinux、または macOS システムで、Polarion 統合を設定する方法を確認してください。

クライアント設定 - Windows

次のステップに従って、Windows マシン上の Plastic SCM クライアントで Polarion 拡張機能を設定します。

  1. Plastic SCM GUI のメインウィンドウの「環境設定」タブをクリックします。
  2. 新しいウィンドウで「イシュートラッカー」タブをクリックします。
  3. このイシュー追跡システムにバインドする」ラジオボタンをオンにします。
  4. Polarion 追跡システムを選択します。
  5. ここで、「バインドの適用先」にするリポジトリを選択します。
    • グローバル拡張機能設定を行う場合は、plastic-global-config リポジトリを選択します。
    • すべてのリポジトリをイシュートラッカーにバインドする場合は、「Repositories(リポジトリ)」を選択します。
    • codeBeamer で特定のリポジトリにバインドする場合は、そのリポジトリを選択します。
    Plastic SCM でのイシュー追跡設定:Polarion
  6. デフォルトでは、「Plastic ブランチにイシューをバインド」オプションが有効になっており、ブランチ対象タスクモードで操作します。
    変更セット対象タスクモードで操作するには、「Plastic 変更セットにイシューをバインド」オプションを選択します。
  7. 次は、Polarion のパラメーター(Polarion サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定する必要があります。
    Polarion 設定パラメーターの詳細については、こちらを参照してください。
クライアント設定 - Linux および macOS システム

次の方法のうち 1 つを使用して、Linux または macOS マシン上の Plastic SCM クライアントで Polarion 拡張機能を設定できます。

  • サーバーでグローバル拡張機能設定を指定します。そうすると、すべての Plastic クライアントにデフォルトで同じ Polarion 設定が適用されます。
  • または
  • ローカルの Polarion 設定を指定します。これを行うには、次のようにします。
    1. $HOME/.plastic4issuetrackers/server_port/repository という構造を作成します。repository は次のいずれかの値です。
      • イシュートラッカーにリンクしようとするリポジトリの名前。
      • または
      • allrepos(すべてのリポジトリがイシュートラッカーにリンクされます)。
    2. サンプルの設定ファイル polarion.conf を新規作成したパスにコピーします。
      このファイルは次の場所にあります。
      • Window または Linux: plasticscm_install_path/client/extensions/config_samples
      • macOS: /Applications/PlasticSCM.app/Contents/IssueTrackerConfigSamples

      たとえば、次のようになります。

      • /home/pablo/.plastic4/issuetrackers/localhost_8087/info/polarion.conf
      • または
      • /home/pablo/.plastic4/issuetrackers/localhost_8087/allrepos/polarion.conf.

    3. polarion.conf ファイルを編集します。
      1. WorkingMode パラメーターを編集し、TaskOnBranch または TaskOnChangeset のいずれかの値を割り当てます。
      2. Polarion 拡張機能のその他のパラメーター(Polarion サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定します。
        Polarion 設定パラメーターの詳細については、こちらを参照してください。
    4. client.conf ファイルを編集して、次のキーを追加します。
      <Extensions>
          <Extension AssemblyFile="plasticscm_install_path/client/extensions/polarion/polarionextension.dll" />
      </Extensions>
      
クライアント設定 - パラメーター
  • Polarion Base URL(Polarion ベース URL):Polarion サーバーがインストールされて実行している URL を指定します。
  • User name(ユーザー名)」および「Password(パスワード)」:これらのフィールドには有効な Polarion ユーザーを入力する必要があります。
  • Branch prefix(ブランチプレフィックス):ブランチ対象タスクモードで操作する場合は、このパラメーターの指定をお勧めします(必須ではありません)。このブランチプレフィックスは、Plastic のブランチを Polarion のタスクにバインドするために使用されます。
    たとえば、scm プレフィックスを入力すると、名前がプレフィックス scm で始まるすべてのブランチが Polarion のイシューにリンクされます。
  • Work Item Statuses(作業項目ステータス):これらは、新規ブランチが「タスクから」モードで作成されるときに、「保留中のタスク」リストに表示される作業項目の種類です。変更セット対象タスクモードを使用して新しいリビジョンをリンクするときもこれらの値がチェックされます。
    これらのステータスは縦棒の記号(|)で区切る必要があります。
  • Open Work Item Status(未処理作業項目ステータス):これは、ユーザーが「タスクから」モードで新規ブランチを作成する際に、「Mark as open in issue tracker(イシュートラッカーでオープンとしてマーク)」オプションをオンにした場合に、Polarion タスクに設定される新しいステータスです。
  • Repository ID(リポジトリ ID):このパラメーターは、Polarion サーバー側で設定された「ID」フィールドと同じです。
  • Default Repository(デフォルトのリポジトリ):このフィールドは、選択したリポジトリがデフォルトリポジトリかどうかを指定します。選択しない場合、複数リポジトリをサポートすることになります。

Polarion - 特性

ブランチ対象タスク作業モード

デフォルトで設定されている作業モードはブランチ対象タスクモードで、「タスクごとのブランチ」パターンに適しています。この作業モードでは、完了すべきタスクごとに新規ブランチが作成されます。

Plastic SCM と Polarion 拡張機能の作業を開始するには、Polarion プロジェクトに関連する新規作業項目を作成することで、イシュー追跡システム上でタスクを作成する必要があります。

Polarion での新規作業項目の作成

新規タスクに関連するデータ(名前、説明、優先度など)を入力し、「Create」ボタンをクリックします。

Polarion でのタスクの作成

Polarion によって、新たに作成されたタスクに番号が割り当てられます。これは、タスクの作業を行うときに Plastic のブランチに与えられる番号と同じです。

Polarion で作成されたタスク

次に、そのイシューに割り当てられた開発者が、それに対して作業を開始します。Plastic SCM GUI クライアントを使用して新規ブランチを作成します。Polarion にリンクする新規ブランチを作成するオプションは 2 つあります。

  • Manual(手動):ブランチ名を入力します。新規ブランチの名前は、Polarion のイシューの番号(このケースでは 84)の前に scm プレフィックス(Plastic SCM の Polarion 拡張機能に対して設定されている)が付いたものと一致する必要があることに注意してください。

    タスクの新規ブランチの作成

  • タスクから:Polarion の既存のタスクの選択。

    タスクの新規ブランチの作成

    このモジュールではユーザーが次の操作を行います。

    • 「保留中のタスク」リストで、「Work item statuses(作業項目ステータス)」フィールドに設定されたものと同じステータスの作業項目を確認します。
    • イシュートラッカーでオープンとしてマーク」オプションが選択されているときに、Polarion タスクのステータスを「Open work item status(未処理作業項目ステータス)」フィールドに設定されているもので変更します。

    クライアント設定に関する項を参照してください。

ブランチビューの「拡張情報を表示」ボタン(拡張情報を表示)をクリックすると、そのブランチに関連する情報が Plastic GUI の右側のパネルに表示されます。Plastic のブランチを選択すると、Polarion のイシューの情報が Plastic SCM に表示されます。

ブランチに関連付けられたタスクの詳細情報

これをダブルクリックするか、「イシューをブラウザーで開く」ボタン(イシューをブラウザーで開く)をクリックすると、関連するブランチイシューを表示する新しいブラウザーウィンドウが開き、Polarion タスクに関する完全な情報が表示されます。

ユーザーが Polarion で作業項目のいずれかの値を変更したとき、「Polarion Extension(Polarion 拡張機能)」パネルの「最新情報に更新」ボタンをクリックすると Plastic に新しい情報が表示されます。

変更セット対象タスク作業モード

変更セット対象タスク作業モードで機能するように Plastic SCM を設定するには、ユーザーは Polarion 拡張機能を設定して、「Plastic 変更セットにイシューをバインド」オプションを選択する必要があります。前のクライアント設定に関する項の説明を参照してください。

ワークフローは次のようになります。

  1. タスクが Polarion で作成されます。開発者が 1 つのイシューについて作業を開始すると、そのイシューが開きます。
  2. コードに対して変更が作成されます。つまり、Plastic に表示されるチェックアウト済みの項目です。
  3. ユーザーが変更のチェックインを決定すると、Plastic SCM によって新しいダイアログが表示され、そこで Polarion タスクをこの新規変更セットにリンクできます。
  4. ユーザーは、次のいずれかのオプションに従って変更セットと Polarion 作業項目をリンクできます。
    • 新規イシューを追加 - 「新規イシューを追加」ボタンをクリックすると、新しいダイアログが開きます。ここで、ユーザーは、変更セットにリンクする 1 つ以上のタスクを選択できます。
    • コメントハッシュタグを入力 - コメントを「チェックインのコメント」テキストボックスに入力しますが、コメントの先頭には、# 記号とイシューキー(オプションでさらにコロン)を付けてください。これによって、関連するイシューにチェックイン情報が記録されます。たとえば、#IP-83: Fixed error when searching by name です。

次の例では、2 つの Polarion 作業項目が変更にリンクされ、変更がその後チェックインされます。

チェックイン操作を実行するときに変更セットにタスクを関連付けるための「イシューを追加」ダイアログ

Polarion 拡張機能が、リンクされる作業項目のステータスをチェックします。リンクが許可されるのは、クライアント設定の「Work item statuses(作業項目ステータス)」フィールドにステータスが定義されている Polarion 作業項目のみです。前に説明したとおり、設定される作業項目ステータスは draftopen です。つまり、他のすべてのステータスは許可されません。

注:現在、このチェックが機能するのは、「新規イシューを追加」ボタンを使用して Polarion 作業項目をリンクする場合のみです。コメントハッシュタグの入力により作業項目をリンクする場合にもまもなく同じ動作が組み込まれる予定です。

「変更セット対象タスク」モード使用時の作業項目ステータスのチェック

変更セットが Polarion の作業項目にリンクされると、この情報が Plastic SCM の変更セットビューに表示されます。「Extended information(拡張情報)」パネル(拡張情報を表示)が表示されているとき、変更セットをクリックすると、関連する Polarion 作業項目が表示されます。

「変更セット対象タスク」作業モードでの詳細情報を含む変更セットビュー

ユーザーは、Polarion 拡張機能情報で、新規タスクの追加や以前のタスクの削除も行うことができます。さらに、特定の変更セットに関連付けられた各イシューをダブルクリックすると、新しいブラウザーウィンドウが開き、選択した Polarion 作業項目が表示されます。ユーザーがタスク追跡ツールでイシューを変更した場合は常に、「Polarion Extension(Polarion 拡張機能)」ペインの「最新情報に更新」ボタンを押すことで、Plastic GUI で新しいデータに更新されます。

分散型シナリオでの作業

Plastic SCM Polarion 統合では、分散型シナリオがサポートされます。つまり、リンクリビジョンは、変更セット ID(整数)の代わりに変更セット GUID を使用します。

ただし、変更セットの情報(変更セットのコメントなど)は、Polarion に設定された Plastic SCM サーバーに変更セットがレプリケートされるまでは使用できなくなります。

備考:
  • Plastic SCM Polarion 拡張機能(クライアント側)および Polarion Plastic SCM 拡張機能(サーバー側)を同時に更新する必要があります。
  • この更新には後方互換性があり、変更セット ID を使用して Polarion にすでに追加されていたすべてのリンクリビジョンも参照可能になります。

チェックイン操作の記録

説明してきたように、すべての Polarion 作業項目の情報を、関連するブランチまたは変更セットを介して Plastic に取得することができます。また、Plastic で作成されたリビジョンに関連するすべての情報を、Polarion 側で取得することもできます。このように、Polarion 統合によって、変更された項目の記録が保持されます。変更が Plastic でチェックインされたときに統合がアクティブな場合、Polarion によって、影響を受ける項目が「Linked revisions」セクションに表示されます。ブランチ対象タスクモードを使用する場合は次のとおりです。

Polarion のリンクリビジョン - ブランチ - Plastic SCM チェックイン情報

または、変更セット対象タスク作業モードでは次のとおりです。

Polarion のリンクリビジョン - 変更セット - Plastic SCM チェックイン情報

Plastic のリビジョンが Polarion に正しくリンクされると、リビジョンのアイコンに緑色の丸が表示されますリンクリビジョンのアイコン


codeBeamer 統合

Plastic SCM で codeBeamer 統合を使用する場合は、このセクションの手順に従います。


codeBeamer - 設定

codeBeamer 統合をサーバー側とクライアント側の両方で設定する方法を確認してください。

codeBeamerサーバー設定

Plastic SCM codeBeamer 拡張機能設定ではサーバー側で変更を行う必要はありません。

ただし、ウェブフックのシークレットトークンを codeBeamer 設定に追加する場合は、次のステップに従います。

  1. codeBeamer の「System Admin」ページに移動します。
  2. 「Application Configuration」に移動します。
  3. "scc" ノードが json(json ルートレベル)にない場合は追加します。
  4. "plasticscm" ノードが json の "scc" ノードにない場合は追加します。
  5. "secretToken" : "<secret_token_of_the_webhook>""plasticscm" ノードに追加します。
codeBeamer:シークレットトークンの追加

codeBeamerクライアント設定

WindowsLinux、または macOS システムで、codeBeamer 統合を設定する方法を確認してください。

クライアント設定 - Windows

次のステップに従って、Windows マシン上の Plastic SCM クライアントで codeBeamer 拡張機能を設定します。

  1. Plastic SCM GUI のメインウィンドウの「環境設定」タブをクリックします。
  2. 新しいウィンドウで「イシュートラッカー」タブをクリックします。
  3. このイシュー追跡システムにバインドする」ラジオボタンをオンにします。
  4. codeBeamer 追跡システムを選択します。
  5. ここで、「バインドの適用先」にするリポジトリを選択します。
    • グローバル拡張機能設定を行う場合は、plastic-global-config リポジトリを選択します。
    • すべてのリポジトリをイシュートラッカーにバインドする場合は、「Repositories(リポジトリ)」を選択します。
    • codeBeamer で特定のリポジトリにバインドする場合は、そのリポジトリを選択します。
    Plastic SCM でのイシュー追跡設定:codeBeamer
  6. デフォルトでは、「Plastic ブランチにイシューをバインド」オプションが有効になっており、ブランチ対象タスクモードで操作します。
    変更セット対象タスクモードで操作するには、「Plastic 変更セットにイシューをバインド」オプションを選択します。
  7. 次は、codeBeamer のパラメーター(codeBeamer サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定する必要があります。
    codeBeamer 設定パラメーターの詳細については、こちらを参照してください。
クライアント設定 - Linux および macOS システム

次の方法のうち 1 つを使用して、Linux または macOS マシン上の Plastic SCM クライアントで codeBeamer 拡張機能を設定できます。

  • サーバーでグローバル拡張機能設定を指定します。そうすると、すべての Plastic クライアントにデフォルトで同じ codeBeamer 設定が適用されます。
  • または
  • ローカルの codeBeamer 設定を指定します。これを行うには、次のようにします。
    1. $HOME/.plastic4issuetrackers/server_port/repository という構造を作成します。repository は次のいずれかの値です。
      • イシュートラッカーにリンクしようとするリポジトリの名前。
      • または
      • allrepos(すべてのリポジトリがイシュートラッカーにリンクされます)。
    2. サンプルの設定ファイル codebeamer.conf を新規作成したパスにコピーします。
      このファイルは次の場所にあります。
      • Window または Linux: plasticscm_install_path/client/extensions/config_samples
      • macOS: /Applications/PlasticSCM.app/Contents/IssueTrackerConfigSamples

      たとえば、次のようになります。

      • /home/pablo/.plastic4/issuetrackers/localhost_8087/info/codebeamer.conf
      • または
      • /home/pablo/.plastic4/issuetrackers/localhost_8087/allrepos/codebeamer.conf.

    3. codebeamer.conf ファイルを編集します。
      1. WorkingMode パラメーターを編集し、TaskOnBranch または TaskOnChangeset のいずれかの値を割り当てます。
      2. codeBeamer 拡張機能のその他のパラメーター(codeBeamer サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定します。
        codeBeamer 設定パラメーターの詳細については、こちらを参照してください。
    4. client.conf ファイルを編集して、次のキーを追加します。
      <Extensions>
          <Extension AssemblyFile="plasticscm_install_path/client/extensions/codebeamer/codebeamerextension.dll" />
      </Extensions>
      
クライアント設定 - パラメーター
  • codeBeamer URL:codeBeamer サーバーがインストールされて実行している URL を指定します。
  • User name(ユーザー名)」および「Password(パスワード)」:これらのフィールドには有効な codeBeamer ユーザーを入力する必要があります。
  • Branch prefix(ブランチプレフィックス):ブランチ対象タスクモードで操作する場合は、このパラメーターの指定をお勧めします(必須ではありません)。このブランチプレフィックスは、Plastic のブランチを codeBeamer のタスクにバインドするために使用されます。
    たとえば、scm プレフィックスを入力すると、名前がプレフィックス scm で始まるすべてのブランチが codeBeamer のイシューにリンクされます。
  • Enable SCM log(SCM 記録を有効にします):codeBeamer バージョンによって外部 SCM 統合がサポートされる場合は、このチェックボックスをオンにします。
  • Secret token(シークレットトークン):シークレットトークンが codeBeamer サーバーで設定される場合は、シークレットトークン値を入力します。

codeBeamer - 特性

「前 (<)」および「次へ (>)」の矢印を使用して、Windows、Linux、および macOS のスクリーンショットを表示します。

ブランチ対象タスク作業モード

デフォルトで設定されている作業モードはブランチ対象タスクモードで、「タスクごとのブランチ」パターンに適しています。この作業モードでは、完了すべきタスクごとに新規ブランチが作成されます。

Plastic SCM および codeBeamer 拡張機能の作業を開始するには、codeBeamer でプロジェクトに対してタスクを作成する必要があります。

codeBeamer での新規タスクの作成

新規タスクが保存されると、codeBeamer によってそのタスクに識別番号が与えられます。これは、割り当てられた開発者が、そのタスクの作業を行うために Plastic SCM ブランチを作成するときに使用します。

codeBeamer でのタスク情報

次に、そのタスクに割り当てられた開発者が、それに対して作業を開始します。Plastic SCM GUI クライアントを使用して新規ブランチを作成します。codeBeamer にリンクする新規ブランチを作成するオプションは 2 つあります。

  • Manual(手動):ブランチ名を入力します。新規ブランチの名前は、codeBeamer のタスク番号(このケースでは 1129)の前に、Plastic SCM codeBeamer 拡張機能に対して設定されたブランチプレフィックス(このケースでは scm)が付いたものと一致する必要があることに注意してください。
  • タスクから:codeBeamer の既存のタスクの選択。

ブランチビューの「拡張情報を表示」ボタン(拡張情報を表示)をクリックすると、そのブランチに関連する情報が Plastic GUI の右側のパネルに表示されます。Plastic のブランチを選択すると、codeBeamer のタスクの情報が表示されます。

ブランチに関連付けられたタスクの詳細情報

タスクをダブルクリックするか、「イシューをブラウザーで開く」ボタン(イシューをブラウザーで開く)をクリックすると、関連するブランチイシューを表示する新しいウェブブラウザーウィンドウが開き、関連する codeBeamer タスクの完全な情報が表示されます。ユーザーがタスクのいずれかのフィールドを変更したとき、「codeBeamer Extension(codeBeamer 拡張機能)」パネルの「最新情報に更新」ボタンをクリックすると新しい情報が表示されます。

変更セット対象タスク作業モード

変更セット対象タスク作業モードで機能するように Plastic SCM を設定するには、codeBeamer 拡張機能を設定するときに、「Plastic 変更セットにイシューをバインド」オプションを選択する必要があります。前のクライアントに関する項の説明を参照してください。

ワークフローは次のようになります。

  1. タスクが codeBeamer で作成されます。開発者が 1 つのタスクについて作業を開始すると、そのタスクが開きます。
  2. コードに対して変更が作成されます。つまり、Plastic に表示されるチェックアウト済みの項目です。
  3. ユーザーが変更のチェックインを決定すると、Plastic SCM によって新しいダイアログが表示され、そこで codeBeamer タスクをこの新規変更セットにリンクできます。
  4. その後、ユーザーは、次のいずれかのオプションに従って変更セットとタスクをリンクできます。
    • 新規イシューを追加 - 「新規イシューを追加」ボタンをクリックすると、新しいダイアログが開きます。ここで、ユーザーは、変更セットにリンクする 1 つ以上のタスクを選択できます。
    • コメントハッシュタグを入力 - コメントを「チェックインのコメント」テキストボックスに入力しますが、コメントの先頭には、# 記号とイシューキー(オプションでさらにコロン)を付けてください。これによって、関連するイシューにチェックイン情報が記録されます。たとえば、#1129: Added the new structure to define waypoints です。

      コメントハッシュタグの入力による変更セットのリンク

変更セットが codeBeamer のタスクにリンクされると、この情報が Plastic SCM の変更セットビューに表示されます。「Extended information(拡張情報)」パネルが表示されているとき(拡張情報を表示)、変更セットをクリックすると、関連する codeBeamer タスクが Plastic によって表示されます。

「変更セット対象タスク」作業モードでの詳細情報を含む変更セットビュー

ユーザーは、新規タスクの追加や以前のタスクの削除も「codeBeamer Extension(codeBeamer 拡張機能)」ペインで行うことができます。さらに、特定の変更セットに関連付けられた各タスクをダブルクリックするか、「イシューをブラウザーで開く」ボタン(イシューをブラウザーで開く)をクリックすると、新しいウェブブラウザーウィンドウが開き、選択した codeBeamer タスクが表示されます。ユーザーが codeBeamer でタスクを変更した場合は常に、「codeBeamer Extension(codeBeamer 拡張機能)」ペインの「最新情報に更新」ボタンを押すことで、Plastic GUI で新しいデータに更新されます。

チェックイン操作の記録

この拡張機能は、Plastic SCM と統合されたブランチや変更セットに関連付けられたイシューの情報を表示するだけでなく、イシューにリンクされたすべてのチェックインを codeBeamer に記録します。

バージョン 10.0 未満の codeBeamer を使用している場合は、codeBeamer 拡張機能をクライアント側で設定するときに Enable SCM log パラメーターを FALSE に設定します。

こうすると、ユーザーは、各チェックイン操作が codeBeamer にどのように登録されているかを確認できます。

チェックイン情報


グローバル拡張機能設定

サーバーでグローバルファイル設定をセットアップして、すべてのクライアントにデフォルトで同じ設定が適用されるようにできます。これは接続文字列などのデフォルトのグローバルパラメーターを設定するのに役立ち、ユーザーが特定の資格情報を指定できるようになります。

グローバル設定がサーバー側で作成されると、Plastic GUI の起動時にクライアント側でサーバー設定がダウンロードされます。

これはグローバルファイル設定を指定した場合と同じ動作です。
「前 (<)」および「次へ (>)」の矢印を使用して、Windows、Linux、および macOS のスクリーンショットを表示します。

グローバル拡張機能設定の作成

サーバーにグローバル設定をセットアップするには、plastic-global-config という名前のリポジトリを作成します。このリポジトリは明確に定義された構造を持ち、リポジトリに適用され、Plastic のユーザーによって使用される、イシュートラッカー拡張機能用の設定ファイルが備わっています。

plastic-global-config リポジトリは次のような構造となっています。

  • 特定のリポジトリのグローバル設定:/repname/issuetrackers/extension_configuration_file.conf
    例:/doomsrc/issuetrackers/jira.conf
  • すべてのリポジトリのグローバル設定:/allrepos/issuetrackers/extension_configuration_file.conf
    例:/allrepos/issuetrackers/bugzilla.conf
注:サブモジュールの場合は、「/」の代わりに「-」を使用してください:/myrepo-mysubrepo/issuetrackers/extension_configuration_file.conf
例:/plugins-3dplugin/issuetrackers/jira.conf。ここで、plugins はメインリポジトリで、3dplugin はサブモジュールです。

グローバル設定のロード方法

plastic-global-config リポジトリは、1 つ以上のイシュートラッキングシステムに対して設定することができます。Plastic クライアントは最初に、ユーザーが作業している特定の設定をロードします。特定の設定が存在しない場合は、allrepos 設定がロードされます。

グローバル設定のセットアップ方法

グローバル拡張機能設定をセットアップするには、最初のステップとして、サーバーに plastic-global-config リポジトリを作成します(グローバルファイル設定をセットアップする際に作成されたものであるため、まだサーバーに存在しない場合)。

plastic-global-config リポジトリを作成する

その後、このリポジトリは、先に示した必要とされる構造になっている必要があります。次の例では、vb44 リポジトリが Bugzilla にリンクされ、その他のリポジトリは Jira にリンクされます。

「前 (<)」および「次へ (>)」の矢印を使用して、Windows、Linux、および macOS で例を表示します。
注:イシュートラッカーの設定例のファイルは、plasticscm_install_path/client/extensions/config_samples フォルダーにあります。必要なパラメーターを追加して更新する必要があります。

クライアント GUI が起動すると、ユーザーのローカルディレクトリで自動的に作成される非表示のワークスペース(plastic4 ディレクトリ(Linux/Mac システムの $HOME/.plastic4 か、Windows の C:\Users\user\AppData\Local\plastic4))に、各サーバー設定がダウンロードされます。例: C:\Users\user\AppData\Local\plastic4\globalconfig\server_port


グローバル設定をカスタマイズする

必要な場合は、イシュートラッカーの設定を全クライアントが使用する資格情報から構成することができます。こうすることで、ユーザーが Plastic SCM クライアントの「環境設定」ダイアログの「Issue tracking(イシュー追跡)」タブを開けば、リンクされたイシュートラッカー用にそれら共通の値とグローバルな値が自動的にロードされるようになり、ユーザーは資格情報を入力するだけでそのイシュー追跡システムに正しくログインできうようになります。

こういったユーザー資格情報は、ユーザーのローカルディレクトリ(plastic4 ディレクトリ(Linux/Mac システムの場合は $HOME/.plastic4、Windows の場合は C:\Users\ユーザー\AppData\Local\plastic4 の下))へ保存されます。例:C:\Users\user\AppData\Local\plastic4\issuetrackers\server_port\repname\extension_configuration_file.conf


Plastic SCM カスタム拡張機能の記述

Plastic SCM にはいくつかの「すぐに使える」イシュートラッカー統合拡張機能が含まれており、それを使用してほとんどの一般的なイシュー追跡システムやプロジェクト管理システムに接続できます。

これらの「すぐに使える」拡張機能により、ブランチ(推奨)または変更セットにリンクされたタスクに関する情報を、Plastic SCM のブランチエクスプローラー変更セットビュー、またはブランチビューで表示できるようになります。これにより、「タスクごとのブランチ」パターンを実装するか個別の変更セットをタスクにリンクすると、イシュートラッカーからの関連情報をいつでも即座に利用できるようになります。

カスタムの「拡張機能」を開発するための方法を作成した理由は、市場に存在するすべての ALM、イシュートラッカー、およびビルドシステムとの統合を提供することは不可能だろうと考えたためです。共通のイシュートラッカー接続インターフェースが設計されたので、ユーザーは独自の Plastic SCM 用カスタム拡張機能を記述できます。


要件

Plastic SCM に対する独自のカスタム拡張機能を記述するには、Visual Studio と Plastic SCM をマシンにインストールする必要があります。イシュートラッカー拡張機能を構築するために必要なライブラリは 1 つだけあります。issuetrackerinterface.dll です。ロギング機能を追加したい場合は、log4net.dll を利用できます(Plastic SCM によって使用されます)


新規拡張機能の作成

新規拡張機能を作成するには、まず Visual Studio に Class Library プロジェクトを作成し、issuetrackerinterface.dll リファレンス(必要に応じて log4net.dll)を追加する必要があります。

注:お使いの Plastic SCM クライアントで使用される .NET Framework のバージョンに十分に注意してください。Plastic SCM のダウンロード領域には、.NET 2.0 用と .NET 4.0 用の両方の標準バージョンがあります。.NET 4.0 以降を使用する場合は、.NET 4 と互換性のある Plastic SCM のバージョンをダウンロードする必要があります。

Visual Studio に Class Library プロジェクトを作成するのに加えて、次の 2 つの異なるインターフェースを実装する必要があります。

  • IPlasticIssueTrackerExtension:Plastic SCM 用のすべてのイシュートラッカー接続機能の定義。
  • IPlasticIssueTrackerExtensionFactory:イシュートラッカー拡張機能の設定と作成を管理します。

Class Library とファイルのセットアップが完了したら、Plastic SCM の使用を開始する準備が整います。まず、SampleExtension という新しいクラスを追加します。さらに、次のようにクラスを配置する名前空間を Codice.Client.IssueTracker.SampleExtension に変更します。

namespace Codice.Client.IssueTracker.SampleExtension
{
    public class SampleExtension : IPlasticIssueTrackerExtension
    {
    }
}

まず、拡張機能設定を保存する必要があります。これはクラスコンストラクターを使用して行います。可視性は internal に設定します。この種のオブジェクトを作成する方法を把握する必要があるのはファクトリーのみであるためです。

public class SampleExtension : IPlasticIssueTrackerExtension
{
    IssueTrackerConfiguration mConfig;

    // If you want logging, this is the way to declare it
    // Don't forget to set log4net.dll as a reference!
    static readonly ILog mLog = LogManager.GetLogger("sampleextension");

    Internal SampleExtension(IssueTrackerConfiguration config)
    {
        mConfig = config; 

        mLog.Info("Sample issue tracker is initialized");
    } 
}

これで、イシュートラッカー拡張機能のクラスを作成する方法が定義されました。次はファクトリーを構築します。そのためには、IPlasticIssueTrackerExtension インターフェースを実装する新しい SampleExtensionFactory クラスを追加します。必要とされるすべてのメソッドを追加するには、Visual Studio のリファクターオプションを使用することをお勧めします。インターフェースのリファレンスを右クリックして、「リファクター」 > 「インターフェイスの実装」を選択するだけです。これにより、各インターフェースメソッドにスタブが追加されます。次のように始まります。

namespace Codice.Client.IssueTracker.SampleExtension
{
    public class SampleExtensionFactory : IPlasticIssueTrackerExtensionFactory
    {
        public IssueTrackerConfiguration GetConfiguration(
            IssueTrackerConfiguration storedConfiguration)
        {
            throw new NotImplementedException();
        }

        public IPlasticIssueTrackerExtension GetIssueTrackerExtension(
            IssueTrackerConfiguration configuration)
        {
            throw new NotImplementedException();
        }

        public string GetIssueTrackerName()
        {
            throw new NotImplementedException();
        }
    }
}

次のように、最後の 2 つのメソッドは実装がとても簡単です。

public IPlasticIssueTrackerExtension GetIssueTrackerExtension(
    IssueTrackerConfiguration configuration)
{
    return new SampleExtension(configuration);
}

public string GetIssueTrackerName()
{
    return "Sample Issue Tracker";
}

メソッドはそれぞれ、有効な設定から動作中のイシュートラッカー拡張機能と、そのイシュートラッカーの名前を返します。ただし、最初のメソッドは少し複雑です。イシュートラッカー設定を取得し、有効な拡張機能を返します。その後、必須のパラメーターとそれらのデフォルト値を定義する必要があります。

IssueTrackerConfiguration クラスは非常にシンプルです。列挙する ExtensionWorkingMode フィールドと IssueTrackerConfigurationParameter のリストを格納します。

動作モードは次の 2 つの値を受け取ります。

  • TaskOnBranch:タスクは、定義済みのブランチプレフィックス(後述)を使用して、名前によってブランチに自動的にリンクされます。
  • TaskOnChangeset:タスクは手動で変更セットにリンクされます。

設定パラメーターの一覧は、Plastic SCM の「環境設定」ダイアログの「イシュートラッカー」タブに表示されます。詳細については、以下の「拡張機能の設定」セクションを参照してください。

現在のユーザー ID と Plastic SCM のブランチプレフィックスの 2 つのみ定義します。前者は現在保留中のタスクの結果に影響を及ぼす一方で、後者はブランチがイシュートラッカーのタスクにリンクされているかどうかを推測しているときに、どのブランチ名プレフィックスが予期されるかを Plastic に伝えます。

基本的に、各パラメーターには namevaluetypeIsGlobal の 4 つの属性があります。最初の 2 つはその名前のとおり、単に 2 つの文字列のクラス属性です。パラメーターの型は、列挙型 IssueTrackerConfigurationParameterType によって定義されます。次にパラメーターの構成要素について説明します。

  • Host:ターゲットホスト
  • User:認証するユーザーの名前
  • Password:認証するパスワード
  • Label:設定パネルに表示されるテキスト
  • BranchPrefix:Plastic SCM のブランチプレフィックス
  • Text:設定パネルにテキストボックスとして描画されるシンプルなテキスト値
  • Boolean:設定パネルにチェックボックスとして描画される true/false 値

HostUserPassword を除き、同じ型に設定されたパラメーターはいくつでも定義できます。拡張機能モードが TaskOnChangeset に切り替えられると、設定パネルで BranchPrefix のすべてのエントリが無効になります。

最終的に、GetConfiguration メソッドは次のようになります。

public IssueTrackerConfiguration GetConfiguration(
    IssueTrackerConfiguration storedConfiguration)
{
    List<IssueTrackerConfigurationParameter> parameters
        = new List<IssueTrackerConfigurationParameter>();

    ExtensionWorkingMode workingMode = GetWorkingMode(storedConfiguration);

    string user = GetValidParameterValue(
        storedConfiguration, SampleExtension.USER_KEY, "1");

    string prefix = GetValidParameterValue(
        storedConfiguration, SampleExtension.BRANCH_PREFIX_KEY, "sample");

    IssueTrackerConfigurationParameter userIdParam =
        new IssueTrackerConfigurationParameter()
    {
        Name = SampleExtension.USER_KEY,
        Value = GetValidParameterValue(
            storedConfiguration, SampleExtension.USER_KEY, "1"),
        Type = IssueTrackerConfigurationParameterType.User,
        IsGlobal = false
    };
            
    IssueTrackerConfigurationParameter branchPrefixParam =
        new IssueTrackerConfigurationParameter()
    {
        Name = SampleExtension.BRANCH_PREFIX_KEY,
        Value = GetValidParameterValue(
            storedConfiguration, SampleExtension.BRANCH_PREFIX_KEY, "scm"),
        Type = IssueTrackerConfigurationParameterType.BranchPrefix,
        IsGlobal = true
    };

    parameters.Add(userIdParam);
    parameters.Add(branchPrefixParam);

    return new IssueTrackerConfiguration(workingMode, parameters);
}

ExtensionWorkingMode GetWorkingMode(IssueTrackerConfiguration config)
{
    if (config == null)
        return ExtensionWorkingMode.TaskOnBranch;

    if (config.WorkingMode == ExtensionWorkingMode.None)
        return ExtensionWorkingMode.TaskOnBranch;

    return config.WorkingMode;
}

string GetValidParameterValue(
    IssueTrackerConfiguration config, string paramName, string defaultValue)
{
    string configValue = (config != null) ? config.GetValue(paramName) : null;
    if (string.IsNullOrEmpty(configValue))
        return defaultValue;
    return configValue;
}

これでファクトリーは完成です!Extension クラスに戻りましょう。


拡張機能メソッドの実装

次のステップでは、すべてのインターフェースメソッドを実装します。Visual Studio のリファクターを使用してすべてのインターフェースメソッドを追加します。

public class SampleExtension : IPlasticIssueTrackerExtension
{
    public void Connect()
    {
        throw new NotImplementedException();
    }

    public void Disconnect()
    {
        throw new NotImplementedException();
    }

    public string GetExtensionName()
    {
        throw new NotImplementedException();
    }

    public List<PlasticTask> GetPendingTasks(string assignee)
    {
        throw new NotImplementedException();
    }

    public List<PlasticTask> GetPendingTasks()
    {
        throw new NotImplementedException();
    }

    public PlasticTask GetTaskForBranch(string fullBranchName)
    {
        throw new NotImplementedException();
    }

    public Dictionary<string, PlasticTask> GetTasksForBranches(List<string> fullBranchNames)
    {
        throw new NotImplementedException();
    }

    public List<PlasticTask> LoadTasks(List<string> taskIds)
    {
        throw new NotImplementedException();
    }

    public void LogCheckinResult(PlasticChangeset changeset, List<PlasticTask> tasks)
    {
        throw new NotImplementedException();
    }

    public void MarkTaskAsOpen(string taskId, string assignee)
    {
        throw new NotImplementedException();
    }

    public void OpenTaskExternally(string taskId)
    {
        throw new NotImplementedException();
    }

    public bool TestConnection(IssueTrackerConfiguration configuration)
    {
        throw new NotImplementedException();
    }

    public void UpdateLinkedTasksToChangeset(PlasticChangeset changeset, List<string> tasks)
    {
        throw new NotImplementedException();
    }
}

もちろん、すべてのメソッドを実装する必要はありません。不要な機能や提供しない機能がある場合は、メソッド本体を空のままにするか、デフォルト値を返すようにしてください。戻り値がコレクション型の場合は、null オブジェクトではなく空のコレクションを返すことをお勧めします。

各メソッドの簡単な説明を以下に示します。

Connect
ターゲットのイシュートラッカーに接続するための拡張機能の準備に必要なアクションをここに記述します。
Disconnect
Connect とは逆のメソッドであり、ターゲットのイシュートラッカーに接続するために必要なリソース(セッションなど)を解放するコードが含まれます。
GetExtensionName
Plastic SCM のビューに表示される、人間が判読可能な名前を返します。
GetPendingTasks
イシュートラッカーシステム内の保留中のタスクのリストを返します。2 つのメソッドのオーバーロードがあります。一方は特定のユーザー名のタスクのリストを返し、もう一方は既存のすべての保留中のタスクを返します。
GetTaskForBranch
フルブランチ名に関連付けられたタスク(完全なブランチ階層の表示など)を返します。一致するタスクが見つからない場合は、結果を null にすることができます。
GetTasksForBranches
ブランチのリストに関するタスクの情報を取得します。結果については、各ブランチ名が関連するタスクの情報にマップされます。
LoadTasks
タスク ID のリストに関するイシュートラッカーのタスクの情報を取得します。これらの ID の形式はイシュートラッカーシステムによって定義されます。
LogCheckinResult
1 つの変更セットの情報を関連付けられたタスクのリストに記録し、パラメーターとして渡します。このメソッドは、チェックインが成功した後で呼び出されます。
MarkTaskAsOpen
ID で定義されたタスク(パラメーターとして渡す)の状態を変更します。イシュートラッカーシステムでサポートされている場合は、割り当てられたユーザーを参照先として設定します。
OpenTaskExternally
タスク(ID として渡す)を外部のブラウザーで開きます。
TestConnection
渡された設定によって定義済みのイシュートラッカーへの接続を正常に確立できるかどうかをテストします。
UpdateLinkedTasksToChangeset
Plastic SCM で参照されているタスクのリストの変更セットを変更します(イシュートラッカーシステムでサポートされている場合)。

これらのメソッドの一部について、実装例を以下に示します。タスクのコンテンツは、サンプルの lorem ipsum ウェブサービス(http://jsonplaceholder.typicode.com)から取得します。

GetExtensionName

これは非常に単純な実装例です。Plastic のビューに表示される名前を返すだけで済みます。

public string GetExtensionName()
{
    return "My awesome extension";
}

GetTasksForBranches

TaskOnBranch モードで動作するようにイシュートラッカーの拡張機能が設定されている場合、このメソッドは、描画されたブランチを関連付けられたタスクにマップするためにブランチエクスプローラーで使用されます。また、コードを簡潔にするために、この機能を複数のメソッドに分割して読みやすくしています。

public Dictionary<string, PlasticTask> GetTasksForBranches(
    List<string> fullBranchNames)
{
    Dictionary<string, PlasticTask> result =
        new Dictionary<string, PlasticTask>();

    foreach(string fullBranchName in fullBranchNames)
    {
        string taskId = GetTaskIdFromBranchName(
            GetBranchName(fullBranchName));
        result.Add(fullBranchName, LoadSingleTask(taskId));
    }
    return result;
}

string GetBranchName(string fullBranchName)
{
    int lastSeparatorIndex = fullBranchName.LastIndexOf('/');

    if (lastSeparatorIndex <  0 )
        return fullBranchName;

    if (lastSeparatorIndex == fullBranchName.Length - 1)
        return string.Empty;

    return fullBranchName.Substring(lastSeparatorIndex + 1);
}

string GetTaskIdFromBranchName(string branchName)
{
    string prefix = mConfig.GetValue(BRANCH_PREFIX_KEY);
    if (string.IsNullOrEmpty(prefix))
        return branchName;

    if (!branchName.StartsWith(branchName) || branchName == prefix)
        return string.Empty;

    return branchName.Substring(prefix.Length);
}

const string POST_URL = "http://jsonplaceholder.typicode.com/posts/{0}";

PlasticTask LoadSingleTask(string taskId)
{
    if (string.IsNullOrEmpty(taskId))
        return null;

    string uri = string.Format(POST_URL, taskId);
    string resultJson = PerformJsonRequest(uri);

    return BuildTaskFromJson(
        JsonConvert.DeserializeObject<MyServiceData>(resultJson));
}

string PerformJsonRequest(string targetUri)
{
    HttpWebRequest req = (HttpWebRequest)WebRequest.Create(targetUri);

    try
    {
        using (HttpWebResponse resp = (HttpWebResponse)req.GetResponse())
        using (StreamReader reader = new StreamReader(resp.GetResponseStream()))
        {
            return reader.ReadToEnd();
        }
    }
    catch(Exception e)
    {
        mLog.ErrorFormat(
            "Unable to perform request on URI {0}: {1}", targetUri, e.Message);
        mLog.DebugFormat(
            "Stack trace:{0}{1}", Environment.NewLine, e.StackTrace);
        return string.Empty;
    }
}

PlasticTask BuildTaskFromJson(MyServiceData jsonData)
{
    if (jsonData == null)
        return null;

    return new PlasticTask()
    {
        Id = jsonData.Id.ToString(),
        Owner = jsonData.UserId.ToString(),
        Title = jsonData.Title,
        Description = jsonData.Body,
        Status = "working"
    };
}

このメソッドがフルブランチ名(階層全体を含む名前など)のリストを受け取ることがわかります。それぞれの名前について、このメソッドはタスク ID を抽出し、jsonplaceholder サービスに対するクエリを実行します。

注:JsonPlaceholder は、REST サービスに相当する「lorem ipsum」ジェネレーターです。数値を渡すと、いくつかのサンプルフィールドを含む JSON オブジェクトが返されます。数値を指定せずに URL のクエリを実行すると、オブジェクトのリストが返されます。詳細については、http://jsonplaceholder.typicode.com を参照してください。

JSON 応答を受け取ったら、お好みの JSON パーサーを使用して有効なオブジェクトインスタンスに逆シリアライズできます。前の例では、Newtonsoft.Json を使用しました。

最後のステップでは、PlasticTask インスタンスを構築し、REST サービスから返された値を使用してそのフィールドを設定します。すべてのブランチ名が処理されると、このメソッドはマッピングを Dictionary<string, PlasticTask> クラスとして返します。

OpenTask

OpenTask メソッドは、元の情報ソースへのアクセスが必要な場合に使用されます。たとえば、ウェブサイトやサードパーティのアプリケーションに必要な情報が含まれている場合があります。このような状況において、Plastic イシュートラッカーの拡張機能では、OpenTask メソッドを使用してこのデータを表示することができます。

public void OpenTaskExternally(string taskId)
{
    Process.Start(string.Format(
        "https://www.google.es/search?q={0}", taskId));
}

実装例は非常にシンプルです。Google でタスク番号を検索するための URI を構築し、System.Diagnostics.Process クラスを使用してデフォルトのブラウザーで開きます。

OpenTask メソッドは、Plastic SCM とイシュートラッカーを緊密に統合する必要がある場合に便利です。


SampleExtension の例

前の GetTasksForBranches コードサンプルについて言えば、sample というプレフィックスで始まるブランチを Plastic SCM のブランチビューで選択すると、右側のパネルに詳細情報が表示されます。

ブランチビュー - 拡張機能の詳細

このように、右側のパネルには GetTasksForBranches メソッドによって取得された PlasticTask プロパティの情報が表示されます。

TaskOnChangeset 動作モードを使用するように拡張機能を設定した場合は、右側のパネルに 3 つのボタンが表示されます。

変更セットビュー - 拡張機能の詳細

  • 変更セットビュー - 拡張機能の詳細 - ボタン 1 つ目のボタンをクリックすると、タスク情報がブラウザーで開かれます。これは、前に OpenTask メソッドで見たものと同様のものです。
  • 変更セットビュー - 拡張機能の詳細 - ボタン 2 つ目のボタンをクリックすると、選択された変更セットにタスクがリンクされます。クリックすると、リンクするタスクを選択するためのダイアログが表示されます。

    「イシューを追加」ダイアログ

    このダイアログの「イシューを開く」ボタンは、前に説明したものと同様のものです。任意の数のイシューを特定の変更セットにリンクできます。

    イシューと変更セットを関連付ける

  • 変更セットビュー - 拡張機能の詳細 - ボタン 3 つ目のボタンをクリックすると、現在選択されている変更セットにリンクされた、選択中のイシューが削除されます。

TaskOnBranch」モードは自動化されたメカニズムなので、ブランチ名とプレフィックスを使用してイシューがブランチに自動的にリンクされますが、TaskOnChangeset モードでは、イシュー情報を個別の変更セットに手動で関連付けることができます。ここで紹介した変更セットビューのアクションボタン以外に、「チェックイン情報」ダイアログを使用して、この種のリンクをチェックイン時に追加することもできます。

「チェックイン情報」ダイアログ

イシュートラッカーに関する最新の主要機能は、特定のイシューから新規ブランチを作成できる機能です。イシュートラッカー拡張機能が適切に設定されたいれば、「ブランチを作成」ダイアログに新規のコントロールセットが自動的に表示されます(「タスクから」モード)。

ブランチを作成

メインコントロールはタスクリストによって決定され、GetPendingTasks メソッドによって返された結果が表示されます。デフォルトでは、現在のユーザーに割り当てられたタスク(設定パネルで設定されたもの)のみが表示されます。「保留中のタスクをすべてのユーザーから表示」コントロールをオンにすると、チェックボックスのタイトルが示すように、この制約がオーバーライドされます。「ブランチ名」と「コメント」は自動的に設定されますが、後者は変更することもできます。

最後に、「イシュートラッカーでオープンとしてマーク」をオンにすると、ブランチが正常に作成された後に、MarkTaskAsOpen メソッドが実行されます。これにより、選択されたイシューの状態が、OpenIn Progress、または現在のイシュートラッカーに対応する同等の状態に設定されます。


デバッグ

クラスライブラリを作成するたびに、コードを簡単にデバッグするベストな方法は何なのかという疑問が起こります。Plastic SCM 拡張機能に関しては、その解決策は明らかです。ビルドセクションでクラスライブラリの特性に変更を加え、.dll 出力ファイルと .pdb 出力ファイルを次のように Plastic SCM クライアントディレクトリに直接展開するだけです。

デバッグ - 「Build(ビルド)」セクション

出力パスを設定した後は、Plastic SCM クライアントを起動し、デバッガーを結果の plastic.exe プロセスに自動的にアタッチするように、Visual Studio を設定することもできます。こうすることで、Plastic がカスタム拡張機能のコードと対話するときに、設定したブレークポイントが自動的にトリガーされます。

デバッグ - 「Debug(デバッグ)」セクション

注:コンパイルされたファイルを Plastic SCM クライアントディレクトリの内部に配置するには、適切な権限が必要であることを覚えておくことが重要です。これは通常、Program Files の下に配置されます。

拡張機能の設定

Plastic でカスタム拡張機能を認識できるようにするには、Plastic SCM クライアントフォルダー内の customextensions.conf ファイルを編集する必要があります。

# Each line defines a Plastic SCM extension with a name and a relative dll 
# path from client installation directory
# i.e: 
# My Custom Extension=extensions/mycustomextension/mycustomextension.dll
Sample Extension=SampleExtension.dll

この設定ステップの後で、「環境設定」ダイアログを開き、「Issue tracking(イシュー追跡)」タブを開く場合があります。拡張機能がドロップダウンリストにリスト表示されます。選択すると、拡張機能を設定するために必要なコントロールがメインパネルに表示されます。

環境設定 - 「イシュートラッカー」ダイアログ

適用」または「OK」ボタンをクリックすると、Plastic が新しい拡張機能と連携できるようになります。


独自の拡張機能の作成

カスタムイシュートラッカー拡張機能を使用すると、任意のイシュートラッカーを Plastic SCM に統合できます。企業のイントラネット、自社開発のイシュー追跡システムなど、可能性は無限大です。

独自のコードを開発して自社のシステムに接続する機能と、Plastic SCM クライアントに簡単に統合する機能が備わっており、そのすべてが Plastic SCM での SCM 体験をカスタマイズする素晴らしい機会をもたらします。

こちらのサンプル拡張機能に興味がある場合は、Plastic の GitHub リポジトリでソース全文を確認できます。


最終更新

2020 年 11 月 19 日
  • Jira Next-gen プロジェクトのサポートに関する注記を追加しました。
  • 2020 年 4 月 29 日
  • codeBeamer 統合に関する新しい章を追加しました。
  • macOS システム上の設定例ファイルの場所を追加しました。
  • 2020 年 3 月 10 日
  • 「Accept remote API calls」オプションに関する Jira Cloud ユーザー向けの注記を追加しました。
  • 2019 年 5 月 16 日
  • Atlassian Cloud の使用時に資格情報を設定する方法を説明するために、Jira の設定を更新しました。
  • 2019 年 3 月 22 日
  • 非推奨となった属性管理コマンド(cm makeattribute など)に関する説明を、新しい代替機能の説明に置き換えました。
  • 2018 年 11 月 21 日
  • 新しいJira 拡張機能のパラメーターとして Use LDAP credentials if availableUse default proxy credentials、および Issue types を設定できるようになりました。
  • 2018 年 5 月 18 日
    すべてのイシュートラッカー:
    • コメントハッシュタグから変更セットをイシュートラッカーシステムにリンクできるようになりました。コメントを「#」文字で始めて、その後にイシューキー(オプションでさらにコロン)を入力すると、関連するイシューにチェックイン情報が記録されます。この動作は、イシュートラッカーの拡張機能が「変更セット対象タスク」モードに設定されている場合にのみ有効となります。
    2017 年 9 月 27 日
  • Jira 拡張機能で、関連するチェックインのコメントに基づいてステータスを移行できるようになりました。
  • 2017 年 6 月 14 日
    すべてのイシュートラッカー:
    • イシュートラッカークライアントの設定が更新されました:
      • イシュー追跡システムにリンクするリポジトリ(またはすべてのリポジトリ)を選択できます。
      • Linux または macOS システムでイシュートラッカーの統合を設定する方法についてご確認ください。
    • 統合がどのように表示されるかを示すために、Linux と macOS のスクリーンショットをいくつか追加しました。
    Axosoft: Polarion: Jira:
    2015 年 10 月 8 日
  • Polarion 統合が追加されました。
  • 2015 年 10 月 7 日
  • Jira 拡張機能で新しい Rest API がサポートされるようになりました。フィールドマッピングのドキュメントが更新されました。
  • 2015 年 8 月 25 日
  • ブランチプレフィックスに関するすべての説明で、ブランチプレフィックスが必須と記載されなくなりました。
  • 2015 年 6 月 12 日
  • Plastic SCM カスタム拡張機能の記述」の章が更新され、新しいメソッドが追加されました。
  • 2015 年 6 月 12 日
  • グローバル拡張機能設定の設定が簡単になりました。
  • 2015 年 2 月 26 日
  • Axosoft 統合」の章を更新しました:Axosoft v14 との互換性。
  • 2015 年 1 月 22 日
  • Plastic SCM のカスタム拡張機能を記述する方法をご確認ください。
  • 2015 年 1 月 8 日
  • Jira のマルチプロジェクト設定を追加しました。