タスクとイシュートラッキングのガイド
概要
このガイドでは、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 拡張機能を設定するには、スクリプトファイル plastic.cgi
(plasticscm_install_path/client/extensions/bugzilla
)を Bugzilla インストールフォルダーにコピーします。
次のようにサーバーのオペレーティングシステムに応じて、場合によってはスクリプトファイルの最初の行を変更する必要があります。
Windows、Linux、または macOS システムで、Bugzilla 統合を設定する方法を確認してください。
次のステップに従って、Windows マシン上の Plastic SCM クライアントで Bugzilla 拡張機能を設定します。
-
Plastic SCM GUI のメインウィンドウの「環境設定」タブをクリックします。
-
新しいウィンドウで「イシュートラッカー」タブをクリックします。
-
「このイシュー追跡システムにバインドする」ラジオボタンをオンにします。
-
Bugzilla 追跡システムを選択します。
-
ここで、「バインドの適用先」にするリポジトリを選択します。
-
グローバル拡張機能設定を行う場合は、
plastic-global-config
リポジトリを選択します。
-
すべてのリポジトリをイシュートラッカーにバインドする場合は、「
Repositories
(リポジトリ)」を選択します。
-
Bugzilla で特定のリポジトリにバインドする場合は、そのリポジトリを選択します。
-
デフォルトでは、「Plastic ブランチにイシューをバインド」オプションが有効になっており、ブランチ対象タスクモードで操作します。
変更セット対象タスクモードで操作するには、「Plastic 変更セットにイシューをバインド」オプションを選択します。
-
次は、Bugzilla のパラメーター(Bugzilla サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定する必要があります。
Bugzilla 設定パラメーターの詳細については、
こちらを参照してください。
次の方法のうち 1 つを使用して、Linux または macOS マシン上の Plastic SCM クライアントで Bugzilla 拡張機能を設定できます。
- サーバーでグローバル拡張機能設定を指定します。そうすると、すべての Plastic クライアントにデフォルトで同じ Bugzilla 設定が適用されます。
または
-
ローカルの Bugzilla 設定を指定します。これを行うには、次のようにします。
-
$HOME/.plastic4
に issuetrackers/server_port/repository
という構造を作成します。repository
は次のいずれかの値です。
-
イシュートラッカーにリンクしようとするリポジトリの名前。
または
-
allrepos
(すべてのリポジトリがイシュートラッカーにリンクされます)。
-
サンプルの設定ファイル
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
-
bugzilla.conf
ファイルを編集します。
-
WorkingMode
パラメーターを編集し、TaskOnBranch
または TaskOnChangeset
のいずれかの値を割り当てます。
-
Bugzilla 拡張機能のその他のパラメーター(Bugzilla サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定します。
Bugzilla 設定パラメーターの詳細については、
こちらを参照してください。
-
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 に対してチェックするように Plastic SCM リポジトリを設定することができます。Bugzilla で定義されたバグ番号がある場合のみ、作業中のブランチが許可されます。このチェックが実行されるのは、子ブランチのブランチ作成操作時のみです。
リポジトリでブランチ作成チェックを設定するには、plastic-enforce-task-branch という名前の属性を対象のリポジトリに作成します。この属性は、次のいずれかの方法を使用して作成する必要があります。
- コマンドラインを使用して次のコマンドを実行します。
cm attribute create plastic-enforce-task-branch
-
Plastic SCM GUI の属性ビューを使用します。
この属性を作成しておくと、それが定義されたリポジトリ上で子ブランチが作成されるたびに、拡張機能によって新規ブランチの名前がチェックされます。タスクのプレフィックスから始まっている場合は、それに含まれる数字を取得し、一致するバグ番号があるかどうかを Bugzilla に確認します。それ以外の場合は、エラーが出力され、操作がキャンセルされます。
変更セット対象タスク作業モードで機能するように Plastic SCM を設定するには、ユーザーは Bugzilla 拡張機能を設定して、「Plastic 変更セットにイシューをバインド」オプションを選択する必要があります。前のクライアントに関する項の説明を参照してください。
ワークフローは次のようになります。
- イシューが Bugzilla で作成されます。開発者が 1 つのイシューについて作業を開始すると、そのイシューが開きます。
- コードに対して変更が作成されます。つまり、Plastic に表示されるチェックアウト済みの項目です。
- ユーザーが変更のチェックインを決定すると、Plastic SCM によって新しいダイアログが表示され、そこで Bugzilla タスクをこの新規変更セットにリンクできます。
- ユーザーは、次のいずれかのオプションに従って変更セットとタスクをリンクできます。
-
新規イシューを追加 - 「新規イシューを追加」ボタンをクリックすると、新しいダイアログが開きます。ここで、ユーザーは、変更セットにリンクする 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 拡張機能を設定するには、スクリプトファイル plastic.php
(plasticscm_install_path/client/extensions/mantis
)を Mantis インストールフォルダーにコピーします。
Windows、Linux、または macOS システムで、Mantis 統合を設定する方法を確認してください。
次のステップに従って、Windows マシン上の Plastic SCM クライアントで Mantis 拡張機能を設定します。
-
Plastic SCM GUI のメインウィンドウの「環境設定」タブをクリックします。
-
新しいウィンドウで「イシュートラッカー」タブをクリックします。
-
「このイシュー追跡システムにバインドする」ラジオボタンをオンにします。
-
Mantis 追跡システムを選択します。
-
ここで、「バインドの適用先」にするリポジトリを選択します。
-
グローバル拡張機能設定を行う場合は、
plastic-global-config
リポジトリを選択します。
-
すべてのリポジトリをイシュートラッカーにバインドする場合は、「
Repositories
(リポジトリ)」を選択します。
-
Mantis で特定のリポジトリにバインドする場合は、そのリポジトリを選択します。
-
デフォルトでは、「Plastic ブランチにイシューをバインド」オプションが有効になっており、ブランチ対象タスクモードで操作します。
変更セット対象タスクモードで操作するには、「Plastic 変更セットにイシューをバインド」ラジオボタンをオンにします。
-
次は、Mantis のパラメーター(Mantis サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定する必要があります。
Mantis 設定パラメーターの詳細については、
こちらを参照してください。
次の方法のうち 1 つを使用して、Linux または macOS マシン上の Plastic SCM クライアントで Mantis 拡張機能を設定できます。
- サーバーでグローバル拡張機能設定を指定します。そうすると、すべての Plastic クライアントにデフォルトで同じ Mantis 設定が適用されます。
または
-
ローカルの Mantis 設定を指定します。これを行うには、次のようにします。
-
$HOME/.plastic4
に issuetrackers/server_port/repository
という構造を作成します。repository
は次のいずれかの値です。
-
イシュートラッカーにリンクしようとするリポジトリの名前。
または
-
allrepos
(すべてのリポジトリがイシュートラッカーにリンクされます)。
-
サンプルの設定ファイル
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.
-
mantis.conf
ファイルを編集します。
-
WorkingMode
パラメーターを編集し、TaskOnBranch
または TaskOnChangeset
のいずれかの値を割り当てます。
-
Mantis 拡張機能のその他のパラメーター(Mantis サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定する必要があります。
Mantis 設定パラメーターの詳細については、
こちらを参照してください。
-
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 によって番号 4 がタスクに割り当てられました。ユーザーが、イシューのリスト(ステータスに応じて色分けされている)からイシューを選択すると、ステータスが変わります。つまり、イシュー 4 が new から assigned になります。
次のステップでは、タスクに割り当てられた開発者が新規ブランチを作成する必要があります。これは、次の図のように、親ブランチを右クリックして、「子ブランチを作成」オプションを選択するだけです。
新規ブランチを Mantis のイシューにリンクするために、開発者が、同じ Mantis 番号(このケースでは 4)をブランチのプレフィックスの後に付ける必要があります。
ここで、ブランチビューの拡張情報パネル(
)で特定のブランチにリンクされたイシューの情報を確認できます。
ユーザーが「イシューをブラウザーで開く」ボタン(
)をクリックするか、Mantis タスクをダブルクリックすると、関連するブランチのイシューを含むブラウザーウィンドウが開きます。ユーザーがイシューのステータスまたは他のいずれかのフィールドを変更したとき、Mantis 拡張機能を最新情報に更新すると、新しい情報が表示されます。
変更セット対象タスク作業モードで機能するように Plastic SCM を設定するには、ユーザーは Mantis 拡張機能を設定して、「Plastic 変更セットにイシューをバインド」オプションを選択する必要があります。前のクライアントに関する項の説明を参照してください。
ワークフローは次のようになります。
- イシューが Mantis で作成されます。開発者が 1 つのイシューについて作業を開始すると、そのイシューが開きます。
- コードに対して変更が作成されます。つまり、Plastic に表示されるチェックアウト済みの項目です。
- ユーザーが変更のチェックインを決定すると、Plastic SCM によって新しいダイアログが表示され、そこで Mantis タスクをこの新規変更セットにリンクできます。
- ユーザーは、次のいずれかのオプションに従って変更セットとタスクをリンクできます。
-
新規イシューを追加 - 「新規イシューを追加」ボタンをクリックすると、新しいダイアログが開きます。ここで、ユーザーは、変更セットにリンクする 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 拡張機能を設定するには、XMLRPC プラグインを Trac サーバーにインストールする必要があります。このダウンロードおよびインストールの方法や、適切に設定されたかどうかを確認する方法については、こちらのリンクを参照してください。
Trac 管理ツールを使用して、この拡張機能を使用するユーザーの XML_RPC 権限を有効にします。この権限をユーザー「anonymous」に割り当てると、すべてのユーザーにとって使用可能になります。
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 拡張機能に指定する必要はありません。
Windows、Linux、または macOS システムで、Trac 統合を設定する方法を確認してください。
次のステップに従って、Windows マシン上の Plastic SCM クライアントで Trac 拡張機能を設定します。
-
Plastic SCM GUI のメインウィンドウの「環境設定」タブをクリックします。
-
新しいウィンドウで「イシュートラッカー」タブをクリックします。
-
「このイシュー追跡システムにバインドする」ラジオボタンをオンにします。
-
Trac 追跡システムを選択します。
-
ここで、「バインドの適用先」にするリポジトリを選択します。
-
グローバル拡張機能設定を行う場合は、
plastic-global-config
リポジトリを選択します。
-
すべてのリポジトリをイシュートラッカーにバインドする場合は、「
Repositories
(リポジトリ)」を選択します。
-
Trac で特定のリポジトリにバインドする場合は、そのリポジトリを選択します。
-
デフォルトでは、「Plastic ブランチにイシューをバインド」オプションが有効になっており、ブランチ対象タスクモードで操作します。
変更セット対象タスクモードで操作するには、「Plastic 変更セットにイシューをバインド」オプションを選択します。
-
次は、Trac のパラメーター(Trac サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定する必要があります。
Trac 設定パラメーターの詳細については、
こちらを参照してください。
次の方法のうち 1 つを使用して、Linux または macOS マシン上の Plastic SCM クライアントで Trac 拡張機能を設定できます。
- サーバーでグローバル拡張機能設定を指定します。そうすると、すべての Plastic クライアントにデフォルトで同じ Trac 設定が適用されます。
または
-
ローカルの Trac 設定を指定します。これを行うには、次のようにします。
-
$HOME/.plastic4
に issuetrackers/server_port/repository
という構造を作成します。repository
は次のいずれかの値です。
-
イシュートラッカーにリンクしようとするリポジトリの名前。
または
-
allrepos
(すべてのリポジトリがイシュートラッカーにリンクされます)。
-
サンプルの設定ファイル
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.
-
trac.conf
ファイルを編集します。
-
WorkingMode
パラメーターを編集し、TaskOnBranch
または TaskOnChangeset
のいずれかの値を割り当てます。
-
Trac 拡張機能のその他のパラメーター(Trac サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定する必要があります。
Trac 設定パラメーターの詳細については、
こちらを参照してください。
-
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 によって番号が割り当てられます(下の例の図では番号 4)。
次に、開発者が、割り当てられたタスクの作業を行う必要があります。つまり、次の図のように新規ブランチを作成します(親ブランチを右クリックして、「子ブランチを作成」オプションを選択するだけです)。新規ブランチを Trac のイシューにリンクするためには、名前が、Trac 拡張機能の設定済みブランチプレフィックスと Trac イシュー番号(このケースではイシュー番号 4)と一致する必要があります。つまり、ブランチのプレフィックスが「scm」に設定されている場合、ブランチ名 scm004 は Trac チケット #4 にリンクされます。
ブランチの拡張情報は、「拡張情報を表示」ボタン(
)をクリックすると表示されます。ブランチがブランチビューで選択されているとき、右側のペインに関連するタスク/不具合の情報(番号、タスクが割り当てられている所有者または開発者、ステータス、タイトル、コメント)が表示されます。
Trac 情報タスクをダブルクリックするか、「イシューをブラウザーで開く」ボタン(
)をクリックすると、関連するブランチタスクを表示する新しいブラウザーウィンドウが開き、Trac タスクに関する完全な情報が表示されます。
変更セット対象タスク作業モードで機能するように Plastic SCM を設定するには、ユーザーは Trac 拡張機能を設定して、「Plastic 変更セットにイシューをバインド」オプションを選択する必要があります。前のクライアントに関する項の説明を参照してください。
ワークフローは次のようになります。
- イシューが Trac で作成されます。開発者が 1 つのイシューについて作業を開始すると、そのイシューが開きます。
- コードに対して変更が作成されます。つまり、Plastic に表示されるチェックアウト済みの項目です。
- ユーザーが変更のチェックインを決定すると、Plastic SCM によって新しいダイアログが表示され、そこで Trac タスクをこの新規変更セットにリンクできます。
- ユーザーは、次のいずれかのオプションに従って変更セットとタスクをリンクできます。
-
新規イシューを追加 - 「新規イシューを追加」ボタンをクリックすると、新しいダイアログが開きます。ここで、ユーザーは、変更セットにリンクする 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 統合をサーバー側とクライアント側の両方で設定する方法について説明します。
-
Plastic SCM は、変更セットに含まれるファイルおよびフォルダーを対応する Jira イシューに記録します。この機能を作動させるためには、Jira 管理者がカスタムフィールドを作成する必要があります。
-
このカスタムフィールドを作成するには、「Administration」画面の「Issues」タブに移動し、左側の「Issue Fields」セクション内の「Custom fields」リンクをクリックします。
-
「Add Custom Field」をクリックします。
-
ここで新しいフィールドの種類を設定します。「Text Field (multi-line)」を選択すると、テキストのサイズが無制限になります。タスクは多くのファイルに影響を与える可能性があり、それらをこのフィールドに格納する必要があるため、これは便利です。チェックイン操作の Jira での記録が、このカスタムフィールドを使用して Plastic SCM によって行われます。
-
次に、フィールドの名前を指定する必要があります。どのような名前でもかまいません。Plastic では、フィールドを参照するために名前ではなくフィールド ID が使用されるためです。「Plastic SCM」のようにわかりやすい名前を付けることができます。
-
Jira によって、フィールドと画面の関連付けを確認されたら、「Default Screen」を選択します。
新規フィールドはデフォルトでは空です。フィールドに内容が含まれるまで、設定した画面に表示されません。
-
Jira によって内部 ID がカスタムフィールドに割り当てられます。この ID は、Plastic SCM と Jira の間のリンクを設定するために使用されます。これは、画面ページのアドレスバーの URL で確認できます。
-
これでフィールドが作成され、使用できます。
-
最後のステップでは、Jira のリモート API に Plastic からアクセスできるようにします。
Jira Cloud ユーザー向け重要事項
Jira Cloud では「Accept remote API calls」オプションはデフォルトで有効です。このため、Jira Cloud ユーザーはこのステップを省略できます。
-
「System」セクションの「General Configuration」リンクをクリックします。
-
ここで、「Accept remote API calls」オプションが有効であることを確認します。
-
無効な場合には、編集して有効にします。
これらのステップが完了すると、Jira サーバーが Plastic SCM 統合を受け入れることができます。
Windows、Linux、または macOS システムで、Jira 統合を設定する方法を確認してください。
次のステップに従って、Windows マシン上の Plastic SCM クライアントで Jira 拡張機能を設定します。
-
Plastic SCM GUI のメインウィンドウの「環境設定」タブをクリックします。
-
新しいダイアログで「イシュートラッカー」タブをクリックします。
-
「このイシュー追跡システムにバインドする」ラジオボタンをオンにします。
-
Atlassian Jira 追跡システムを選択します。
-
ここで、「バインドの適用先」にするリポジトリを選択します。
-
グローバル拡張機能設定を行う場合は、
plastic-global-config
リポジトリを選択します。
-
すべてのリポジトリをイシュートラッカーにバインドする場合は、「
Repositories
(リポジトリ)」を選択します。
-
codeBeamer で特定のリポジトリにバインドする場合は、そのリポジトリを選択します。
-
デフォルトでは、「Plastic ブランチにイシューをバインド」オプションが有効になっており、ブランチ対象タスクモードで操作します。
変更セット対象タスクモードで操作するには、「Plastic 変更セットにイシューをバインド」オプションを選択します。このモードでは、チェックイン時に変更がリンクされるタスクをユーザーが選択できます。
-
次は、Jira のパラメーター(Jira サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定する必要があります。
Jira 設定パラメーターの詳細については、
こちらを参照してください。
次の方法のうち 1 つを使用して、Linux または macOS マシン上の Plastic SCM クライアントで Jira 拡張機能を設定できます。
-
サーバーでグローバル拡張機能設定を指定します。そうすると、すべての Plastic クライアントにデフォルトで同じ Jira 設定が適用されます。
または
-
ローカルの Jira 設定を指定します。これを行うには、次のようにします。
-
$HOME/.plastic4
に issuetrackers/server_port/repository
という構造を作成します。repository
は次のいずれかの値です。
-
イシュートラッカーにリンクしようとするリポジトリの名前。
または
-
allrepos
(すべてのリポジトリがイシュートラッカーにリンクされます)。
-
サンプルの設定ファイル
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.
-
jira.conf
ファイルを編集します。
-
WorkingMode
パラメーターを編集し、TaskOnBranch
または TaskOnChangeset
のいずれかの値を割り当てます。
-
Jira 拡張機能のその他のパラメーター(Jira サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定する必要があります。
Jira 設定パラメーターの詳細については、
こちらを参照してください。
-
client.conf
ファイルを編集して、次のキーを追加します。
<Extensions>
<Extension AssemblyFile="plasticscm_install_path/client/extensions/jira/jiraextension.dll" />
</Extensions>
Jira - 特性
デフォルトで設定されている作業モードはブランチ対象タスクモードで、「タスクごとのブランチ」パターンに適しています。この作業モードでは、完了すべきタスクごとに新規ブランチが作成されます。
Plastic SCM と Jira 拡張機能の作業を開始するには、イシュー追跡システム上で、「Create issue」オプションをクリックし、新規イシューに関連するデータ(名前、関連するプロジェクト、サマリーなど)を入力して、タスクを作成する必要があります。
Jira によって、新たに作成されたイシューに番号が割り当てられます。これは、タスクの作業を行うときに Plastic のブランチに与えられる番号と同じです。このケースでは、イシュー番号 1 を作成します。
次に、そのイシューに割り当てられた開発者が、それに対して作業を開始します。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 変更セットにイシューをバインド」オプションを選択する必要があります。前のクライアントに関する項の説明を参照してください。
ワークフローは次のようになります。
- イシューが Jira で作成されます。開発者が 1 つのイシューについて作業を開始すると、そのイシューが開きます。
- コードに対して変更が作成されます。つまり、Plastic に表示されるチェックアウト済みの項目です。
- ユーザーが変更のチェックインを決定すると、Plastic SCM によって新しいダイアログが表示され、そこで Jira イシューをこの新規変更セットにリンクできます。
- ユーザーは、次のいずれかのオプションに従って変更セットとタスクをリンクできます。
-
新規イシューを追加 - 「新規イシューを追加」ボタンをクリックすると、新しいダイアログが開きます。ここで、ユーザーは、変更セットにリンクする 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 のマルチプロジェクト設定も使用できます。これは、すべてのブランチに対してグローバルなプロジェクトキーを 1 つ定義する代わりに、各ブランチにその関連タスクのプロジェクトキーを明示的に格納できるようにするという考え方です。
Jira サーバーを設定した後で、マルチプロジェクト設定を使用するように Plastic SCM クライアントを設定します。
Plastic SCM クライアントで Jira 拡張機能を設定するには、Plastic SCM GUI のメインウィンドウの「環境設定」タブをクリックします。新しいダイアログウィンドウが開きます。「Issue tracking(イシュー追跡)」タブをクリックし、「このイシュー追跡システムにバインドする」ラジオボタンをオンにして「Atlassian Jira」を選択します。
Jira 上でプロジェクトとタスクが作成されている必要があります。
次に、Plastic SCM ブランチを作成します。Jira タスクに関連するブランチを識別するために「JIRA_」プレフィックスを選択することを忘れないでください。
マルチプロジェクト設定を使用するときは、どのブランチが各プロジェクトに関連しているかを区別することが重要です。下の図に示すように、ここでは「branchPrefix_projectShortName-taskID」というスキームを使用して Plastic SCM ブランチに名前を付けます。
たとえば、Jira タスク「RI-1」のブランチは「JIRA_RI-1」、Jira プロジェクト「FG」(フォームジェネレーター)のブランチは「JIRA_FG-1」となります。
フィールドマッピング
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 フィールドのリストを以下に示します。
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 をこの操作用に設定する必要はありません。
Windows、Linux、または macOS システムで、ステータス遷移機能を設定する方法を確認してください。
-
Plastic SCM GUI のメインウィンドウの「環境設定」タブをクリックします。次に、イシュートラッカータブをクリックします。そうすると、Jira 拡張機能設定が開きます。
-
ステータス遷移フィールドに移動し、必要な KEY-VALUE ペアを入力します。
-
jira.conf
ファイルを開きます。
-
次の行を追加し、
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 サーバーのベース URL を Plastic SCM に指定する必要があります。
Plastic SCM クライアントが Axosoft 統合を設定するために必要となる他の 2 つの設定パラメーターは、client-id
パラメーターおよび client-secret
パラメーターです。これらの値を取得するには、「Tools」メニューの「System Options」オプションに移動します。
「System Settings」ウィンドウで「Axosoft API Settings」タブをクリックします。このビューの下で、「Enable API」チェックボックスをオンにして、「Manage API Keys」ボタンをクリックします。
新規ウィンドウで、「Add」ボタンをクリックして、Axosoft との Plastic SCM 統合の識別と認証に使用される 2 つの値を取得します。「Application Name」を入力し、「Client ID」と「Client Secret」の値をコピーして、「Save」ボタンをクリックします。
API キーが保存されたら、次はカスタムフィールドを作成します。Plastic SCM はこれを使用して、Axosoft イシューに関連するすべてのチェックイン操作で行われたすべての変更を記録できるようになります。
この操作を行えるようにするには、Axosoft で新規カスタムフィールドを作成する必要があります。このためには、「Tools」メニューに移動し、「Fields」サブメニューの下の「Custom Fields」オプションを選択します。
新規ウィンドウの「Bugs」タブの下で「Add」ボタンをクリックしてから、新規カスタムフィールドとして Plastic SCM を入力し、「Large text」タイプを選択します。
次の項の Plastic SCM クライアント設定で使用される新規カスタムフィールドを保存します。
Axosoft サーバー設定の詳細については、Axosoft インストールに含まれているマニュアルまたは Axosoft ウェブサイトを参照してください。
Windows、Linux、または macOS システムで、Axosoft 統合を設定する方法を確認してください。
次のステップに従って、Windows マシン上の Plastic SCM クライアントで Axosoft 拡張機能を設定します。
-
Plastic SCM GUI のメインウィンドウの「環境設定」タブをクリックします。
-
新しいウィンドウで「イシュートラッカー」タブをクリックします。
-
「このイシュー追跡システムにバインドする」ラジオボタンをオンにします。
-
「Axosoft」オプションを選択します。
-
ここで、「バインドの適用先」にするリポジトリを選択します。
-
グローバル拡張機能設定を行う場合は、
plastic-global-config
リポジトリを選択します。
-
すべてのリポジトリをイシュートラッカーにバインドする場合は、「
Repositories
(リポジトリ)」を選択します。
-
codeBeamer で特定のリポジトリにバインドする場合は、そのリポジトリを選択します。
-
デフォルトでは、「Plastic ブランチにイシューをバインド」オプションが有効になっており、ブランチ対象タスクモードで操作します。
変更セット対象タスクモードで操作するには、「Plastic 変更セットにイシューをバインド」オプションを選択します。
-
次は、Axosoft のパラメーター(Axosoft サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定する必要があります。
Axosoft 設定パラメーターの詳細については、
こちらを参照してください。
次の方法のうち 1 つを使用して、Linux または macOS マシン上の Plastic SCM クライアントで Axosoft 拡張機能を設定できます。
-
サーバーでグローバル拡張機能設定を指定します。そうすると、すべての Plastic クライアントにデフォルトで同じ Axosoft 設定が適用されます。
または
-
ローカルの Axosoft 設定を指定します。これを行うには、次のようにします。
-
$HOME/.plastic4
に issuetrackers/server_port/repository
という構造を作成します。repository
は次のいずれかの値です。
-
イシュートラッカーにリンクしようとするリポジトリの名前。
または
-
allrepos
(すべてのリポジトリがイシュートラッカーにリンクされます)。
-
サンプルの設定ファイル
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.
-
ontime.conf
ファイルを編集します。
-
WorkingMode
パラメーターを編集し、TaskOnBranch
または TaskOnChangeset
の値を割り当てます。
-
cAxosoft のパラメーター(Axosoft サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定します。
Axosoft 設定パラメーターの詳細については、
こちらを参照してください。
-
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」オプションを選択します。
「Add Bug」ウィンドウで、新規タスク名、優先度、ステータス、割り当てエンジニアなどの情報を入力する必要があります。新しい不具合が保存されると、Axosoft によって識別番号が与えられます。これは、割り当てられた開発者が、そのタスクの作業を行うために Plastic SCM ブランチを作成するときに使用します。
次に、そのイシューに割り当てられた開発者が、Plastic SCM GUI クライアントで新規ブランチを作成することで作業を開始します。新規ブランチをリンクするには、その名前が、Plastic SCM Axosoft 拡張機能の設定済みブランチプレフィックス(定義されている場合)の後に Axosoft 割り当てのイシュー番号が続くものと一致する必要があることに注意してください。
ブランチビューの「拡張情報を表示」ボタン(
)をクリックすると、そのブランチに関連する情報が GUI の右側に次のスクリーンショットのように表示されます。ブランチを選択すると、Axosoft 不具合の詳細情報(名前、所有者、ステータス、タイトル、説明)が表示されます。
これをダブルクリックするか、「イシューをブラウザーで開く」ボタン(
)をクリックすると、関連するブランチタスクを含む新しいウェブブラウザーウィンドウが開き、Axosoft タスクに関する完全な情報が表示されます。ユーザーがイシューのステータスまたは他のいずれかのフィールドを変更したとき、「Axosoft Extension(Axosoft 拡張機能)」パネルの「最新情報に更新」ボタンをクリックすると新しい情報が表示されます。
変更セット対象タスク作業モードで機能するように Plastic SCM を設定するには、ユーザーは Axosoft 拡張機能を設定して、「Plastic 変更セットにイシューをバインド」オプションを選択する必要があります。前のクライアントに関する項の説明を参照してください。
ワークフローは次のようになります。
- イシューが Axosoft で作成されます。開発者が 1 つのイシューについて作業を開始すると、そのイシューが開きます。
- コードに対して変更が作成されます。つまり、Plastic に表示されるチェックアウト済みの項目です。
- ユーザーが変更のチェックインを決定すると、Plastic SCM によって新しいダイアログが表示され、そこで Axosoft イシューをこの新規変更セットにリンクできます。
- ユーザーは、次のいずれかのオプションに従って変更セットとタスクをリンクできます。
-
新規イシューを追加 - 「新規イシューを追加」ボタンをクリックすると、新しいダイアログが開きます。ここで、ユーザーは、変更セットにリンクする 1 つ以上のタスクを選択できます。
-
コメントハッシュタグを入力 - コメントを「チェックインのコメント」テキストボックスに入力しますが、コメントの先頭には、# 記号とイシューキー(オプションでさらにコロン)を付けてください。これによって、関連するイシューにチェックイン情報が記録されます。たとえば、#def3: Included encode modes です。
変更セットが Axosoft の不具合すなわちタスクにリンクされると、拡張機能情報(
)が変更セットビューに表示されます。ユーザーは、新規タスクの追加や以前のタスクの削除も「Axosoft extension(Axosoft 拡張機能)」ペインで行うことができます。各イシューをダブルクリックするか、「イシューをブラウザーで開く」ボタン(
)をクリックすると、関連する Axosoft イシューを含むウェブブラウザーウィンドウが開きます。ユーザーがタスク追跡ツールでイシューを変更した場合は常に、「Axosoft Extension(Axosoft 拡張機能)」ペインの「最新情報に更新」ボタンを押すことで、Plastic GUI で新しいデータに更新されます。
この拡張機能は、Plastic SCM と統合されたブランチや変更セットに関連付けられたイシューの情報を表示するだけでなく、関連するイシューで行われたすべてのチェックインを Axosoft に記録します。
このため、ユーザーは、すべてのチェックイン操作が Axosoft タスクにどのように登録されているかを確認できます。
VersionOne 統合
このセクションでは、Plastic SCM で VersionOne 統合を使用するための手順を説明します。
この拡張機能は VersionOne バージョン 7.2 以降と互換性があります。
「前 (<)」および「次へ (>)」の矢印を使用して、Windows、Linux、および macOS のスクリーンショットを表示します。
VersionOne - 設定
この章では、VersionOne 統合をサーバー側とクライアント側の両方で設定する方法について説明します。
Plastic SCM VersionOne 拡張機能設定ではサーバー側で変更を行う必要はありません。
Windows、Linux、または macOS システムで、VersionOne 統合を設定する方法を確認してください。
Windows マシン上の Plastic SCM クライアントで VersionOne 拡張機能を設定するには、次のステップに従います。
-
Plastic SCM GUI のメインウィンドウの「環境設定」タブをクリックします。
-
新しいウィンドウで「イシュートラッカー」タブをクリックします。
-
「このイシュー追跡システムにバインドする」ラジオボタンをオンにします。
-
VersionOne 追跡システムを選択します。
-
ここで、「バインドの適用先」にするリポジトリを選択します。
-
グローバル拡張機能設定を行う場合は、
plastic-global-config
リポジトリを選択します。
-
すべてのリポジトリをイシュートラッカーにバインドする場合は、「
Repositories
(リポジトリ)」を選択します。
-
codeBeamer で特定のリポジトリにバインドする場合は、そのリポジトリを選択します。
-
デフォルトでは、「Plastic ブランチにイシューをバインド」オプションが有効になっており、ブランチ対象タスクモードで操作します。
変更セット対象タスクモードで操作するには、「Plastic 変更セットにイシューをバインド」オプションを選択します。このケースでは、すべての VersionOne オブジェクトを Plastic 変更セットにマッピングできるようになります。
-
次は、VersionOne のパラメーター(VersionOne サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定する必要があります。
VersionOne 設定パラメーターの詳細については、
こちらを参照してください。
次の方法のうち 1 つを使用して、Linux または macOS マシン上の Plastic SCM クライアントで VersionOne 拡張機能を設定できます。
-
サーバーでグローバル拡張機能設定を指定します。そうすると、すべての Plastic クライアントにデフォルトで同じ VersionOne 設定が適用されます。
または
-
ローカルの VersionOne 設定を指定します。これを行うには、次のようにします。
-
$HOME/.plastic4
に issuetrackers/server_port/repository
という構造を作成します。repository
は次のいずれかの値です。
-
イシュートラッカーにリンクしようとするリポジトリの名前。
または
-
allrepos
(すべてのリポジトリがイシュートラッカーにリンクされます)。
-
サンプルの設定ファイル
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.
-
versionone.conf
ファイルを編集します。
-
WorkingMode
パラメーターを編集し、TaskOnBranch
または TaskOnChangeset
のいずれかの値を割り当てます。
-
VersionOne 拡張機能のその他のパラメーター(VersionOne サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定します。
VersionOne 設定パラメーターの詳細については、
こちらを参照してください。
-
client.conf
ファイルを編集して、次のキーを追加します。
<Extensions>
<Extension AssemblyFile="plasticscm_install_path/client/extensions/versionone/versiononeextension.dll" />
</Extensions>
VersionOne - 特性
デフォルトの作業モードはブランチ対象タスクで、タスクごとに新規ブランチが作成される「タスクごとのブランチ」パターンで使用されます。
Plastic SCM および VersionOne 拡張機能の作業を開始するには、最初のステップとして VersionOne でタスクを作成します。これは、通常はプロジェクトマネージャーが、VersionOne ウェブインターフェース上で、「Add Defect」、「Add Issue」、「Add backlog Item」および「Add Request」ショートカットをクリックして行います。新規タスクのデータを入力するための新規ダイアログウィンドウが開きます。VersionOne によって、1000 から始まる番号がタスクに割り当てられます。これに注意することが非常に重要です。ブランチ名は、タスクのタイプに合う設定済みプレフィックスと VersionOne の割り当て番号を含む必要があるためです。
イシューが作成されると VersionOne によって番号が割り当てられます。次の図では、作成された項目のリストを確認できます。
次に、タスクに割り当てられた開発者が、それに対して作業を開始します。次の図に示すように、新規ブランチを作成する必要があります(親ブランチを右クリックして、「子ブランチを作成」オプションを選択するだけで簡単です)。これを VersionOne のタスクにリンクするためには、ブランチに同じ番号を付ける必要があります(この番号は常に 1000 よりも大きいことに注意してください)。
ここで、ブランチビューの拡張情報に移動(
)してブランチを選択するだけで、イシューの情報を確認できます。次に、ビューの右側に新しいペインが表示され、そこに VersionOne 拡張機能情報(タスク番号、所有者、ステータスなど)が表示されます。
ブランチに関連付けられたタスクをダブルクリックするか、「イシューをブラウザーで開く」ボタン(
)をクリックすると、新しいウェブブラウザーウィンドウが開きます。ユーザーがイシューのステータスまたは他のいずれかのフィールドを変更したとき、VersionOne 拡張機能を最新情報に更新すると、新しい情報が表示されます。
変更セット対象タスク作業モードで機能するように Plastic SCM を設定するには、ユーザーは VersionOne 拡張機能を設定して、「Plastic 変更セットにイシューをバインド」オプションを選択する必要があります。前のクライアントに関する項の説明を参照してください。
ワークフローは次のようになります。
- イシューが VersionOne で作成されます。開発者が 1 つのイシューについて作業を開始すると、そのイシューが開きます。
- コードに対して変更が作成されます。つまり、Plastic に表示されるチェックアウト済みの項目です。
- ユーザーが変更のチェックインを決定すると、Plastic SCM によって新しいダイアログが表示され、そこで VersionOne の不具合/タスク/テスト/ストーリーをこの新規変更セットにリンクできます。
- ユーザーは、次のいずれかのオプションに従って変更セットと 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 統合をサーバー側とクライアント側の両方で設定する方法を確認してください。
Plastic SCM FogBugz 拡張機能ではサーバー側で変更を行う必要はありません。
Windows、Linux、または macOS システムで、FogBugz 統合を設定する方法を確認してください。
次のステップに従って、Windows マシン上の Plastic SCM クライアントで FogBugz 拡張機能を設定します。
-
Plastic SCM GUI のメインウィンドウの「環境設定」タブをクリックします。
-
新しいウィンドウで「イシュートラッカー」タブをクリックします。
-
「このイシュー追跡システムにバインドする」ラジオボタンをオンにします。
-
FogBugz 追跡システムを選択します。
-
ここで、「バインドの適用先」にするリポジトリを選択します。
-
グローバル拡張機能設定を行う場合は、
plastic-global-config
リポジトリを選択します。
-
すべてのリポジトリをイシュートラッカーにバインドする場合は、「
Repositories
(リポジトリ)」を選択します。
-
codeBeamer で特定のリポジトリにバインドする場合は、そのリポジトリを選択します。
-
デフォルトでは、「Plastic ブランチにイシューをバインド」オプションが有効になっており、ブランチ対象タスクモードで操作します。
変更セット対象タスクモードで操作するには、「Plastic 変更セットにイシューをバインド」オプションを選択します。
-
次は、FogBugz のパラメーター(FogBugz サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定する必要があります。
FogBugz 設定パラメーターの詳細については、
こちらを参照してください。
次の方法のうち 1 つを使用して、Linux または macOS マシン上の Plastic SCM クライアントで FogBugz 拡張機能を設定できます。
-
サーバーでグローバル拡張機能設定を指定します。そうすると、すべての Plastic クライアントにデフォルトで同じ FogBugz 設定が適用されます。
または
-
ローカルの FogBugz 設定を指定します。これを行うには、次のようにします。
-
$HOME/.plastic4
に issuetrackers/server_port/repository
という構造を作成します。repository
は次のいずれかの値です。
-
イシュートラッカーにリンクしようとするリポジトリの名前。
または
-
allrepos
(すべてのリポジトリがイシュートラッカーにリンクされます)。
-
サンプルの設定ファイル
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.
-
fogbugz.conf
ファイルを編集します。
-
WorkingMode
パラメーターを編集し、TaskOnBranch
または TaskOnChangeset
のいずれかの値を割り当てます。
-
その他の FogBugz のパラメーター(FogBugz サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定します。
FogBugz 設定パラメーターの詳細については、
こちらを参照してください。
-
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 拡張機能情報(タスク番号、所有者など)が表示されます。
これをダブルクリックするか、「イシューをブラウザーで開く」ボタン(
)をクリックすると、新しいウェブブラウザーウィンドウが開きます。FogBugz タスクの完全な情報が表示されます。ユーザーがイシューのステータスまたは他のいずれかのフィールドを変更したとき、「FogBugz Extension(FogBugz 拡張機能)」パネルの「最新情報に更新」ボタンをクリックすると新しい情報が表示されます。
変更セット対象タスク作業モードで機能するように Plastic SCM を設定するには、ユーザーは FogBugz 拡張機能を設定して、「Plastic 変更セットにイシューをバインド」オプションを選択する必要があります。前のクライアントに関する項の説明を参照してください。
ワークフローは次のようになります。
- イシューが FogBugz で作成されます。開発者が 1 つのイシューについて作業を開始すると、そのイシューが開きます。
- コードに対して変更が作成されます。つまり、Plastic に表示されるチェックアウト済みの項目です。
- ユーザーが変更のチェックインを決定すると、Plastic SCM によって新しいダイアログが表示され、そこで FogBugz タスクをこの新規変更セットにリンクできます。
- ユーザーは、次のいずれかのオプションに従って変更セットと FogBugz イシューをリンクできます。
-
新規イシューを追加 - 「新規イシューを追加」ボタンをクリックすると、新しいダイアログが開きます。ここで、ユーザーは、変更セットにリンクする 1 つ以上のイシューを選択できます。
-
コメントハッシュタグを入力 - コメントを「チェックインのコメント」テキストボックスに入力しますが、コメントの先頭には、# 記号とイシューキー(オプションでさらにコロン)を付けてください。これによって、関連するイシューにチェックイン情報が記録されます。たとえば、#4: Fixed login です。
変更セットが FogBugz のイシューすなわちタスクにリンクされると、拡張機能情報(
)が変更セットビューに表示されます。ユーザーは、FogBugz 拡張機能情報で、新規タスクの追加や以前のタスクの削除も行うことができます。また、特定の変更セットに関連付けられた各イシューをダブルクリックするか、「イシューをブラウザーで開く」ボタン(
)をクリックすると、FogBugz を含むブラウザーが開きます。ユーザーが FogBugz でイシューを変更した場合は常に、FogBugz 拡張機能情報を最新情報に更新することで Plastic に表示されます。
この拡張機能は、Plastic SCM と統合されたブランチや変更セットに関連付けられたイシューの情報を表示するだけでなく、クライアントのセクションで「Enable checkin log(チェックインログを有効化)」チェックボックスが選択された場合のみ、関連するイシューで行われたすべてのチェックインを FogBugz に記録します。
このため、ユーザーは、「Checkins - Click to list」リンクをクリックして、すべてのチェックイン操作が FogBugz タスクにどのように登録されているかを確認できます。
Rally 統合
このセクションでは、Plastic SCM で Rally Software Development 統合を使用するための手順を説明します。
「前 (<)」および「次へ (>)」の矢印を使用して、Windows、Linux、および macOS のスクリーンショットを表示します。
Rally - 設定
この章では、Rally 統合をサーバー側とクライアント側の両方で設定する方法について説明します。
Rally 拡張機能を設定するには、有効な Rally アカウントが必要です。また、Rally はウェブベースのサービスであるためサーバー側やローカルで行う設定はありません。すべての操作はインターネットを介して Rally に対して行います。
Windows、Linux、または macOS システムで、Rally 統合を設定する方法を確認してください。
次のステップに従って、Windows マシン上の Plastic SCM クライアントで Rally 拡張機能を設定します。
-
Plastic SCM GUI のメインウィンドウの「環境設定」タブをクリックします。
-
新しいウィンドウで「イシュートラッカー」タブをクリックします。
-
「このイシュー追跡システムにバインドする」ラジオボタンをオンにします。
-
Rally 追跡システムを選択します。
-
ここで、「バインドの適用先」にするリポジトリを選択します。
-
グローバル拡張機能設定を行う場合は、
plastic-global-config
リポジトリを選択します。
-
すべてのリポジトリをイシュートラッカーにバインドする場合は、「
Repositories
(リポジトリ)」を選択します。
-
codeBeamer で特定のリポジトリにバインドする場合は、そのリポジトリを選択します。
-
デフォルトでは、「Plastic ブランチにイシューをバインド」オプションが有効になっており、ブランチ対象タスクモードで操作します。
変更セット対象タスクモードで操作するには、「Plastic 変更セットにイシューをバインド」オプションを選択します。このケースでは、すべての Rally オブジェクトが Plastic 変更セットにマッピングできるようになります。
-
次は、Rally のパラメーター(Rally サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定する必要があります。
Rally 設定パラメーターの詳細については、
こちらを参照してください。
次の方法のうち 1 つを使用して、Linux または macOS マシン上の Plastic SCM クライアントで Rally 拡張機能を設定できます。
- サーバーでグローバル拡張機能設定を指定します。そうすると、すべての Plastic クライアントにデフォルトで同じ Rally 設定が適用されます。
または
-
ローカルの Rally 設定を指定します。これを行うには、次のようにします。
-
$HOME/.plastic4
に issuetrackers/server_port/repository
という構造を作成します。repository
は次のいずれかの値です。
-
イシュートラッカーにリンクしようとするリポジトリの名前。
または
-
allrepos
(すべてのリポジトリがイシュートラッカーにリンクされます)。
-
サンプルの設定ファイル
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.
-
rally.conf
ファイルを編集します。
-
WorkingMode
パラメーターを編集し、TaskOnBranch
または TaskOnChangeset
のいずれかの値を割り当てます。
-
その他の Rally のパラメーター(Rally サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定します。
Rally 設定パラメーターの詳細については、
こちらを参照してください。
-
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」など)も同様です。
「Create Defect」ウィンドウで、新規タスク名、優先度、状態などの情報を含める必要があります。新しい不具合が保存されると、Rally によって識別文字列が与えられます。これは、割り当てられた開発者が、そのタスクの作業を行うために Plastic SCM ブランチを作成するときに後で使用します。プレフィックス ID はオブジェクトのタイプによって異なります。たとえば、ユーザーが新規タスクを作成する場合、ID は TA4 になります。不具合のケースでは DE4 です。
「拡張情報を表示」ボタン(
)をクリックすると、そのブランチに関連する情報が GUI の右側に次のスクリーンショットのように表示されます。ブランチを選択すると、Rally オブジェクトの詳細情報が表示されます。
これをダブルクリックするか、「イシューをブラウザーで開く」ボタン(
)をクリックすると、関連するブランチタスクを含むウェブブラウザーウィンドウが開きます。ユーザーがタスクを完了してステータスまたは他のフィールドを変更した場合は常に、ユーザーは、新しい値を表示するために Plastic ブランチの拡張情報を最新情報に更新する必要があります。
変更セット対象タスク作業モードで機能するように Plastic SCM を設定するには、ユーザーは Rally 拡張機能を設定して、「Plastic 変更セットにイシューをバインド」オプションを選択する必要があります。前のクライアントに関する項の説明を参照してください。
ワークフローは次のようになります。
- イシューが Rally で作成されます。開発者が 1 つのイシューについて作業を開始すると、そのイシューが開きます。
- コードに対して変更が作成されます。つまり、Plastic に表示されるチェックアウト済みの項目です。
- ユーザーが変更のチェックインを決定すると、Plastic SCM によって新しいダイアログが表示され、そこで Rally タスクをこの新規変更セットにリンクできます。
- ユーザーは、次のいずれかのオプションに従って変更セットとタスクをリンクできます。
-
新規イシューを追加 - 「新規イシューを追加」ボタンをクリックすると、新しいダイアログが開きます。ここで、ユーザーは、変更セットにリンクする 1 つ以上の Rally オブジェクトを選択できます。
-
コメントハッシュタグを入力 - コメントを「チェックインのコメント」テキストボックスに入力しますが、コメントの先頭には、# 記号とイシューキー(オプションでさらにコロン)を付けてください。これによって、関連するイシューにチェックイン情報が記録されます。たとえば、#DE5: Created report folder です。
変更セットが Rally オブジェクトにリンクされると、その情報が変更セットビューに表示されます。ユーザーは、Rally オブジェクトへの新規リンクを追加することも、以前のリンクを削除することもできます。また、各イシューをダブルクリックするか、「イシューをブラウザーで開く」ボタン(
)をクリックすると、Rally の関連するオブジェクトを含むウェブブラウザーウィンドウが開きます。ユーザーが、不具合、テストケースまたはユーザーストーリーをイシュー追跡ツールで変更した場合は常に、Rally 拡張機能の「最新情報に更新」ボタンをクリックすることで変更がロードされます。
Polarion 統合
このセクションでは、Plastic SCM で Polarion Software Development 統合を使用するための手順を説明します。
「前 (<)」および「次へ (>)」の矢印を使用して、Windows、Linux、および macOS のスクリーンショットを表示します。
Polarion - 設定
Polarion 統合をサーバー側とクライアント側の両方で設定する方法を確認してください。
Polarion 拡張機能を設定するために、いくつかのタスクが実行されています。
-
Plastic SCM プラグインを Polarion に組み込みます。このためには、次のステップに従います。
-
Plastic サービスを停止します。
-
Plastic SCM インストールディレクトリの
client/polarion
フォルダーのディレクトリ com.codicesoftware.platform.repository.external.plasticscm
を、Polarion 拡張機能フォルダー [Polarion installation]/polarion/extensions
をコピーします。
このプラグインは、イシュートラッカー拡張機能が Plastic SCM で適切に作動するために必要です。
これを使用することで、Plastic SCM リビジョン(変更セット)を Polarion 作業項目にリンクできるためです。リビジョンと作業項目を手動でリンクするか、チェックインのコメントを介して作業項目をリンクします。
-
Polarion サーバーを再度起動します。
-
次に、Plastic SCM リポジトリを Polarion サーバー側で作成する必要があります。
-
Polarion の「Administration」オプションに移動します。
-
次に「Repositories」セクションをクリックします。
-
Plastic SCM リポジトリが必要です。このため、「Add New Repository」ボタンをクリックします。
-
リポジトリ設定ウィンドウで、新規 Plastic リポジトリを Polarion に作成するために必要な情報を入力します。
-
情報が追加されたら、「Save」ボタンをクリックします。
Windows、Linux、または macOS システムで、Polarion 統合を設定する方法を確認してください。
次のステップに従って、Windows マシン上の Plastic SCM クライアントで Polarion 拡張機能を設定します。
-
Plastic SCM GUI のメインウィンドウの「環境設定」タブをクリックします。
-
新しいウィンドウで「イシュートラッカー」タブをクリックします。
-
「このイシュー追跡システムにバインドする」ラジオボタンをオンにします。
-
Polarion 追跡システムを選択します。
-
ここで、「バインドの適用先」にするリポジトリを選択します。
-
グローバル拡張機能設定を行う場合は、
plastic-global-config
リポジトリを選択します。
-
すべてのリポジトリをイシュートラッカーにバインドする場合は、「
Repositories
(リポジトリ)」を選択します。
-
codeBeamer で特定のリポジトリにバインドする場合は、そのリポジトリを選択します。
-
デフォルトでは、「Plastic ブランチにイシューをバインド」オプションが有効になっており、ブランチ対象タスクモードで操作します。
変更セット対象タスクモードで操作するには、「Plastic 変更セットにイシューをバインド」オプションを選択します。
-
次は、Polarion のパラメーター(Polarion サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定する必要があります。
Polarion 設定パラメーターの詳細については、
こちらを参照してください。
次の方法のうち 1 つを使用して、Linux または macOS マシン上の Plastic SCM クライアントで Polarion 拡張機能を設定できます。
- サーバーでグローバル拡張機能設定を指定します。そうすると、すべての Plastic クライアントにデフォルトで同じ Polarion 設定が適用されます。
または
-
ローカルの Polarion 設定を指定します。これを行うには、次のようにします。
-
$HOME/.plastic4
に issuetrackers/server_port/repository
という構造を作成します。repository
は次のいずれかの値です。
-
イシュートラッカーにリンクしようとするリポジトリの名前。
または
-
allrepos
(すべてのリポジトリがイシュートラッカーにリンクされます)。
-
サンプルの設定ファイル
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.
-
polarion.conf
ファイルを編集します。
-
WorkingMode
パラメーターを編集し、TaskOnBranch
または TaskOnChangeset
のいずれかの値を割り当てます。
-
Polarion 拡張機能のその他のパラメーター(Polarion サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定します。
Polarion 設定パラメーターの詳細については、
こちらを参照してください。
-
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 プロジェクトに関連する新規作業項目を作成することで、イシュー追跡システム上でタスクを作成する必要があります。
新規タスクに関連するデータ(名前、説明、優先度など)を入力し、「Create」ボタンをクリックします。
Polarion によって、新たに作成されたタスクに番号が割り当てられます。これは、タスクの作業を行うときに Plastic のブランチに与えられる番号と同じです。
次に、そのイシューに割り当てられた開発者が、それに対して作業を開始します。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 変更セットにイシューをバインド」オプションを選択する必要があります。前のクライアント設定に関する項の説明を参照してください。
ワークフローは次のようになります。
- タスクが Polarion で作成されます。開発者が 1 つのイシューについて作業を開始すると、そのイシューが開きます。
- コードに対して変更が作成されます。つまり、Plastic に表示されるチェックアウト済みの項目です。
- ユーザーが変更のチェックインを決定すると、Plastic SCM によって新しいダイアログが表示され、そこで Polarion タスクをこの新規変更セットにリンクできます。
- ユーザーは、次のいずれかのオプションに従って変更セットと Polarion 作業項目をリンクできます。
-
新規イシューを追加 - 「新規イシューを追加」ボタンをクリックすると、新しいダイアログが開きます。ここで、ユーザーは、変更セットにリンクする 1 つ以上のタスクを選択できます。
-
コメントハッシュタグを入力 - コメントを「チェックインのコメント」テキストボックスに入力しますが、コメントの先頭には、# 記号とイシューキー(オプションでさらにコロン)を付けてください。これによって、関連するイシューにチェックイン情報が記録されます。たとえば、#IP-83: Fixed error when searching by name です。
次の例では、2 つの Polarion 作業項目が変更にリンクされ、変更がその後チェックインされます。
Polarion 拡張機能が、リンクされる作業項目のステータスをチェックします。リンクが許可されるのは、クライアント設定の「Work item statuses(作業項目ステータス)」フィールドにステータスが定義されている Polarion 作業項目のみです。前に説明したとおり、設定される作業項目ステータスは draft と open です。つまり、他のすべてのステータスは許可されません。
注:現在、このチェックが機能するのは、「新規イシューを追加」ボタンを使用して 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」セクションに表示されます。ブランチ対象タスクモードを使用する場合は次のとおりです。
または、変更セット対象タスク作業モードでは次のとおりです。
Plastic のリビジョンが Polarion に正しくリンクされると、リビジョンのアイコンに緑色の丸が表示されます
codeBeamer 統合
Plastic SCM で codeBeamer 統合を使用する場合は、このセクションの手順に従います。
codeBeamer - 設定
codeBeamer 統合をサーバー側とクライアント側の両方で設定する方法を確認してください。
Plastic SCM codeBeamer 拡張機能設定ではサーバー側で変更を行う必要はありません。
ただし、ウェブフックのシークレットトークンを codeBeamer 設定に追加する場合は、次のステップに従います。
-
codeBeamer の「System Admin」ページに移動します。
-
「Application Configuration」に移動します。
-
"scc"
ノードが json(json ルートレベル)にない場合は追加します。
-
"plasticscm"
ノードが json の "scc"
ノードにない場合は追加します。
-
"secretToken" : "<secret_token_of_the_webhook>"
を "plasticscm"
ノードに追加します。
Windows、Linux、または macOS システムで、codeBeamer 統合を設定する方法を確認してください。
次のステップに従って、Windows マシン上の Plastic SCM クライアントで codeBeamer 拡張機能を設定します。
-
Plastic SCM GUI のメインウィンドウの「環境設定」タブをクリックします。
-
新しいウィンドウで「イシュートラッカー」タブをクリックします。
-
「このイシュー追跡システムにバインドする」ラジオボタンをオンにします。
-
codeBeamer 追跡システムを選択します。
-
ここで、「バインドの適用先」にするリポジトリを選択します。
-
グローバル拡張機能設定を行う場合は、
plastic-global-config
リポジトリを選択します。
-
すべてのリポジトリをイシュートラッカーにバインドする場合は、「
Repositories
(リポジトリ)」を選択します。
-
codeBeamer で特定のリポジトリにバインドする場合は、そのリポジトリを選択します。
-
デフォルトでは、「Plastic ブランチにイシューをバインド」オプションが有効になっており、ブランチ対象タスクモードで操作します。
変更セット対象タスクモードで操作するには、「Plastic 変更セットにイシューをバインド」オプションを選択します。
-
次は、codeBeamer のパラメーター(codeBeamer サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定する必要があります。
codeBeamer 設定パラメーターの詳細については、
こちらを参照してください。
次の方法のうち 1 つを使用して、Linux または macOS マシン上の Plastic SCM クライアントで codeBeamer 拡張機能を設定できます。
-
サーバーでグローバル拡張機能設定を指定します。そうすると、すべての Plastic クライアントにデフォルトで同じ codeBeamer 設定が適用されます。
または
-
ローカルの codeBeamer 設定を指定します。これを行うには、次のようにします。
-
$HOME/.plastic4
に issuetrackers/server_port/repository
という構造を作成します。repository
は次のいずれかの値です。
-
イシュートラッカーにリンクしようとするリポジトリの名前。
または
-
allrepos
(すべてのリポジトリがイシュートラッカーにリンクされます)。
-
サンプルの設定ファイル
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.
-
codebeamer.conf
ファイルを編集します。
-
WorkingMode
パラメーターを編集し、TaskOnBranch
または TaskOnChangeset
のいずれかの値を割り当てます。
-
codeBeamer 拡張機能のその他のパラメーター(codeBeamer サーバーの場所を示す URL、資格情報、ブランチプレフィックスなど)を状況に応じて設定します。
codeBeamer 設定パラメーターの詳細については、
こちらを参照してください。
-
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 によってそのタスクに識別番号が与えられます。これは、割り当てられた開発者が、そのタスクの作業を行うために Plastic SCM ブランチを作成するときに使用します。
次に、そのタスクに割り当てられた開発者が、それに対して作業を開始します。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 変更セットにイシューをバインド」オプションを選択する必要があります。前のクライアントに関する項の説明を参照してください。
ワークフローは次のようになります。
- タスクが codeBeamer で作成されます。開発者が 1 つのタスクについて作業を開始すると、そのタスクが開きます。
- コードに対して変更が作成されます。つまり、Plastic に表示されるチェックアウト済みの項目です。
-
ユーザーが変更のチェックインを決定すると、Plastic SCM によって新しいダイアログが表示され、そこで codeBeamer タスクをこの新規変更セットにリンクできます。
-
その後、ユーザーは、次のいずれかのオプションに従って変更セットとタスクをリンクできます。
-
新規イシューを追加 - 「新規イシューを追加」ボタンをクリックすると、新しいダイアログが開きます。ここで、ユーザーは、変更セットにリンクする 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 リポジトリを作成します(グローバルファイル設定をセットアップする際に作成されたものであるため、まだサーバーに存在しない場合)。
その後、このリポジトリは、先に示した必要とされる構造になっている必要があります。次の例では、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 に伝えます。
基本的に、各パラメーターには name
、value
、type
、IsGlobal
の 4 つの属性があります。最初の 2 つはその名前のとおり、単に 2 つの文字列のクラス属性です。パラメーターの型は、列挙型 IssueTrackerConfigurationParameterType
によって定義されます。次にパラメーターの構成要素について説明します。
- Host:ターゲットホスト
- User:認証するユーザーの名前
- Password:認証するパスワード
- Label:設定パネルに表示されるテキスト
- BranchPrefix:Plastic SCM のブランチプレフィックス
- Text:設定パネルにテキストボックスとして描画されるシンプルなテキスト値
- Boolean:設定パネルにチェックボックスとして描画される true/false 値
Host、User、Password を除き、同じ型に設定されたパラメーターはいくつでも定義できます。拡張機能モードが 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)から取得します。
これは非常に単純な実装例です。Plastic のビューに表示される名前を返すだけで済みます。
public string GetExtensionName()
{
return "My awesome extension";
}
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
メソッドは、元の情報ソースへのアクセスが必要な場合に使用されます。たとえば、ウェブサイトやサードパーティのアプリケーションに必要な情報が含まれている場合があります。このような状況において、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 つのボタンが表示されます。
「TaskOnBranch」モードは自動化されたメカニズムなので、ブランチ名とプレフィックスを使用してイシューがブランチに自動的にリンクされますが、TaskOnChangeset モードでは、イシュー情報を個別の変更セットに手動で関連付けることができます。ここで紹介した変更セットビューのアクションボタン以外に、「チェックイン情報」ダイアログを使用して、この種のリンクをチェックイン時に追加することもできます。
イシュートラッカーに関する最新の主要機能は、特定のイシューから新規ブランチを作成できる機能です。イシュートラッカー拡張機能が適切に設定されたいれば、「ブランチを作成」ダイアログに新規のコントロールセットが自動的に表示されます(「タスクから」モード)。
メインコントロールはタスクリストによって決定され、GetPendingTasks
メソッドによって返された結果が表示されます。デフォルトでは、現在のユーザーに割り当てられたタスク(設定パネルで設定されたもの)のみが表示されます。「保留中のタスクをすべてのユーザーから表示」コントロールをオンにすると、チェックボックスのタイトルが示すように、この制約がオーバーライドされます。「ブランチ名」と「コメント」は自動的に設定されますが、後者は変更することもできます。
最後に、「イシュートラッカーでオープンとしてマーク」をオンにすると、ブランチが正常に作成された後に、MarkTaskAsOpen
メソッドが実行されます。これにより、選択されたイシューの状態が、Open、In Progress、または現在のイシュートラッカーに対応する同等の状態に設定されます。
デバッグ
クラスライブラリを作成するたびに、コードを簡単にデバッグするベストな方法は何なのかという疑問が起こります。Plastic SCM 拡張機能に関しては、その解決策は明らかです。ビルドセクションでクラスライブラリの特性に変更を加え、.dll
出力ファイルと .pdb
出力ファイルを次のように Plastic SCM クライアントディレクトリに直接展開するだけです。
出力パスを設定した後は、Plastic SCM クライアントを起動し、デバッガーを結果の plastic.exe プロセスに自動的にアタッチするように、Visual Studio を設定することもできます。こうすることで、Plastic がカスタム拡張機能のコードと対話するときに、設定したブレークポイントが自動的にトリガーされます。
注:コンパイルされたファイルを 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 available
、Use 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 のマルチプロジェクト設定を追加しました。