Jira同期の準備
ALM OctaneとJiraの間でレコードを同期するには、同期要件とともに、一方のエンドポイントのデータを、もう一方のエンドポイントでサポートされているフィールドに合わせて調整する必要があります。
注: Jira REST APIの認証は、Jira提供の機能に基づいて、基本認証を使用して行われます。同期で使用される統合ユーザーには、必要な操作を実行するための最小限の権限が必要です。
ALM OctaneとJiraでの必須エンティティの作成
-
ALM OctaneとJiraを同期する前に、システムで、Jiraの問題を各タイプにつき1つ以上定義しておく必要があります。たとえば、Jiraの標準設定の問題タイプは、エピック、ストーリー、サブタスク、不具合、タスクです。これらのいずれかが見つからない場合は、後で手動で削除できるダミーのエンティティを作成します。
Synchronizerは、Jiraにダミーエンティティを作成して、各エンティティタイプで使用可能なすべての遷移を検出します。同期プロセスの最後に、クレデンシャルマネージャーで使用されるJiraユーザーがエンティティを削除する権限を持っている場合、Synchronizerは作成したこれらのダミーエンティティを削除します。それ以外の場合、これらのダミーエンティティはプロジェクトに残ります。
ヒント: 課題タイプごとに個別のJira課題を作成したくない場合は、[Synchronizerエンドポイントマネージャー] > [アダプターのプロパティ] セクションで課題タイプを指定できます。詳細については、ステップ2: エンドポイントの作成 (エンドポイントマネージャー) を参照してください。
ただし、すでに同期しているリンクの [アダプタのプロパティ] セクションは変更しないことをお勧めします。変更すると、データベースが破損する可能性があります。
-
ALM Octaneでは、各リリースに開始日と終了日が必要ですが、Jiraではこれらの日付はオプションです。同期を実行するには、Jiraの各エンティティを、開始日と終了日が定義されているリリースに関連付ける必要があります。同期する前に、すべてのJiraエンティティがこの要件を満たしていることを確認してください。
必要に応じたオプションエンティティの作成
-
JIRAのエピックには [summary] フィールドが必須ですが、ALM Octaneの標準設定には、このフィールドはありません。Jiraのサマリーデータをマッピングする場合は、同期を実行する前にALM Octaneに [サマリー] フィールドを作成します (他のエンティティの [summary] は、標準設定でALM Octaneの [名前] フィールドにマッピングされます)。
エピック名のみが必要で、[サマリー] フィールドは不要な場合、ALM Octaneの [名前] フィールドからJiraの [summary] フィールドに一方向のマッピングを実行できます。
-
ALM Octaneの [フェーズ] は、Jiraでは [Status] と呼ばれています。これらの値は標準設定でマッピングされますが、ALM OctaneまたはJiraでこれらのフィールドをカスタマイズした場合は、それに応じて手動でマッピングを調整する必要があります。
スプリントの同期
ALM Octaneのスプリントは、常に特定のリリースに関連付けられ、特定の開始日と終了日が設定されています。Jiraのスプリントは、時間フレームのみを定義し、1つの時間フレーム内に、複数のバージョンに属する問題を配置できます。さらに、Jiraのスプリントはボードのコンテキストで定義され、1つのスプリントを複数のボードに表示できます。こうした違いから、ALM OctaneとJiraのスプリントの同期は、次のガイドラインに従って行われます。
スプリントの作成と更新
ALM Octaneで作成または更新されたスプリントをJiraと同期するには、[リリース] リンクを使用します。ただし、Jiraで作成されたスプリントは、ALM Octaneと同期できません。
ALM Octaneで定義されたスプリントは、マッピング先のJiraプロジェクトで最初に定義されたボードに同期されます。これらのスプリントはJiraで「フラット化」され、特定のリリースには属しません。
ALM OctaneからJiraに [リリース] リンクでスプリントを作成する機能は、オフにはできません。
不具合またはバックログ項目へのスプリントの割り当て
ALM OctaneとJiraの両方でスプリントが定義されている場合は、[不具合] リンクと [バックログ] リンクを使用してスプリントを互いにマッピングすることができます。その前に、リリースリンクを作成して同期したことを確認してください。
スプリントを同期するには、フィールドマッピングの最初にリリースフィールドをマッピングするようにしてください。
複数のJiraプロジェクトをマッピングする
Jiraと同期する場合、Jiraオプションフィールドプロジェクト名とプロジェクトキーを使用して、複数のJiraプロジェクトを単一のALM Octaneワークスペースにマッピングできます。
-
同期しているエンティティ (不具合、フィーチャー、ユーザーストーリー) ごとに、ALM Octaneに2つのユーザー定義フィールドを作成します。プロジェクト名およびプロジェクトキー。UDFは、フィールドタイプ文字列である必要があります。詳細については、フィールドのカスタマイズを参照してください。
-
Synchronizerで、次のようにこれらのフィールドをJiraからALM Octaneにマップします。
- プロジェクト (Jira) > プロジェクト名 (ALM Octane)
- プロジェクトキー (Jira) >プロジェクトキー (ALM Octane)
-
ALM Octaneバックログモジュールで、[Synchronizerにフィルターを保存] ボタンを使用して各エンティティのフィルターを作成します。詳細については、お気に入りの作成を参照してください。
フィルタで、プロジェクトキーフィールドを定義して、Jiraのプロジェクトキー値と一致させます。
例: フィーチャーとユーザーストーリーを同期させたいとします。[バックログ] > [フィーチャー] タブでフィーチャーのフィルターを作成します。
次に、[バックログ] > [バックログ項目] タブでユーザーストーリーのフィルターを作成します。
-
Synchronizerの [一般] タブで、以前にプロジェクト名とキーをマップしたリンクを選択します。[リンクの編集] をクリックし、バックログモジュールで作成したフィルターを指定します。バックログリンクには複数のフィルターを選択できます。
-
同期を実行します。
JiraからALM Octaneに同期される項目には、プロジェクトキーおよびプロジェクト名フィールドの値が入力されます。このワークフローは一方向であり、JiraからALM Octaneまでのみサポートされていることに注意してください。ALM Octaneのこれらのフィールドの値は変更しないでください。
不具合関係を同期する
不具合リンクを同期する不具合、ALM Octane不具合とその関連フィーチャーまたはユーザーストーリーとの関係を、バグとそれらの関連エンティティ間のJiraリンクと同期させることもできます。
-
関係がターゲット側で正常に同期されるためには、不具合に関連するエンティティが、バックログリンク同期を使用してターゲット上ですでに同期されている必要があります。
-
Jiraバグのリンクは、バグと同じプロジェクト内のJiraの問題を指している必要があります。そうでない場合、リンクは同期されません。
-
ALM OctaneからのエンティティタイプをJiraからの複数のエンティティタイプにマップするバックログリンクの場合、標準設定でマップされたエンティティへのリンクのみが同期されます。
不具合関係を同期するには:
-
SynchronizerでALM OctaneとJiraの間に不具合リンクを設定した後、[ルール] ペインを開きます。左下の領域には、関係同期設定が含まれています。
-
Jiraバックログリンクの推奨構成は次のとおりです。
-
フィーチャー (ALM Octane) - エピック (Jira)
-
ユーザーストーリー (ALM Octane) - ストーリー /タスク /カスタムの問題 (Jira)
不具合リンクに次の関係マッピングがあります。
-
親フィーチャーの関係 (ALM Octane) - エピックリンク (Jira)
-
リンクされたユーザーストーリー (ALM Octane) - 「関連」リンク (Jira)
-
-
不具合からマップされていないエンティティへの関係がある場合 (たとえば、Jiraにマップされた問題がないALM Octaneのユーザーストーリー)、同期は失敗します。
これを防ぐには、チェックボックスマップされていないエンティティとの関係を無視するを選択します。
-
競合が発生した場合、つまりALM OctaneとJiraの両方で関係フィールドの変更が検出された場合は、ドミナントサイド (ALM OctaneまたはJira) を選択します。
-
変更を保存し、準備ができたら同期を実行します。
制限事項:
-
ALM Octane側の不具合にリンクされたユーザーストーリーがあり、それがJiraで同期されている場合、ユーザーストーリーまたは不具合をフィーチャーに変換すると、関係が削除されます。
-
完全同期を実行すると、支配的な側の関係が他のエンドポイントの関係を上書きします。これには、支配的な側に存在しない関係の削除が含まれます。
-
関係は、いずれかの側で変更が検出された場合にのみ同期されます (ALM Octaneの不具合またはJiraのバグ)。たとえば、Jiraでストーリーを削除しても、このストーリーに関連するバグの変更は検出されません。したがって、このバグは、不具合リンクを同期するときにALM Octane側で更新されません。
あるJiraプロジェクトから別のプロジェクトへのエンティティの移動
複数のリンクを使用して複数のALM Octaneワークスペースにマップされた複数のJiraプロジェクトがある場合、エンティティを1つのJiraプロジェクトから別のプロジェクトに移動すると、この移動はALM Octaneで同期されます。エンティティは新しいALM Octaneワークスペースで再作成され、古いワークスペースから削除されます (削除ルールが有効になっている場合)。
注: ALM Octaneから古いエンティティを削除するためには、あなたはそれが移動された新しいワークスペースへのリンクがあり、そのリンクを同期する必要があります。その後、古いリンクが再度同期されると、古いエンティティは削除されます。
-
エピックに関連するストーリーを移動すると、エピックとストーリーをバックログルートに同期するオプションがチェックされていない場合にのみ同期が失敗します。この場合、 Synchronizerは、関係を削除するか、関連するすべてのエンティティを同じワークスペースに移動することを提案します。たとえば、エピックの下にユーザーストーリーがあり、ユーザーストーリーを別のワークスペースに移動すると、ユーザーストーリーの同期は失敗します。
-
エピックに関連するストーリーを移動し、エピックとストーリーをバックログルートに同期するオプションがオンになっている場合、関係はALM Octane側から削除されますが、Jira側からは削除されません。
-
ストーリーに関連するエピックを移動すると、エピックとストーリーをバックログルートに同期するオプションがオンになっているかどうかに関係なく、同期が渡されます。
-
QAテスターがALM Octaneで不具合を開き、開発者がJiraでこの不具合をあるプロジェクトから別のプロジェクトに移動し、Synchronizerが実行を継続し、移動イベントがALM Octaneプロジェクトキーフィールドとプロジェクト名フィールドに反映されるとします。
Jiraの課題をプロジェクトAからBに移動すると、プロジェクトBが同期されたときに、不具合がALM Octaneに移動されます。その結果、ALM Octaneとまだ同期されていないプロジェクトに問題を移動した場合、対応する不具合は、以前に同期されていないプロジェクトへのリンクを作成したときにALM Octaneでのみ移動されます。
commitメッセージパターンを使用して、JiraからのコミットをALM Octaneエンティティに関連付けます
Jiraなどのサードパーティアプリケーションでバックログを管理し、ALM Octaneを使用して品質を管理する場合は、次の手順を実行して、ALM Octaneが関連するコミットを割り当てることができるようにします。エンティティ。これにより、最近変更された領域を分析し、テスト作業をどこに集中させるかを決定し、特定のバックログ項目の開発を追跡できます。
このソリューションには、次のものが必要です。
-
サードパーティのアプリケーションを使用してバックログを管理します。
-
ALM Octaneは他のアプリケーションと同期されます。
-
以下に説明するように、ALM Octaneには、元のバックログ項目IDを持つユーザー定義フィールドがあります。
-
ALM Octaneで設定されたパイプラインがあり、他のアプリケーションの項目に対して行われたSCMコミットが含まれています。
コミットをALM Octaneエンティティに関連付けるには:
-
同期するストーリータイプ (ユーザーストーリー、品質ストーリー、不具合) ごとに、ALM Octaneにユーザー定義フィールドを作成します (例:Jira_ID_UDF)。UDFは、フィールドタイプStringまたはLongである必要があります。詳細については、フィールドのカスタマイズを参照してください。
-
同期中に、このUDFをJira IDにマップします。
-
各ストーリータイプの場合、その関連ALM Octaneとコミットを関連付けるためにメッセージパターンをコミットを加えます。パターンフィールドで、作成したUDFを選択します。このフィールドには、エンティティに存在するタイプStringまたはLongのUDFが表示されます。詳細については、SCM変更パターンのカスタマイズを参照してください。
これにより、ALM Octaneは、JiraIDを含む各コミットメッセージを正しいALM Octaneエンティティに割り当てることができます。
例:
コミットメッセージパターンを作成しました: (JRA-\d+)
-
Jiraコミットメッセージが次のようになっているとします。
JRA-34 #time 1w 2d 4h 30m Total work logged.
ALM Octaneでは、このコミットは、JRA-34を含むUDFを持つ作業項目にリンクされます。
-
Jiraコミットメッセージが次のようになっているとします。
JRA-123 JRA-234 JRA-345 #resolve #time 2d 5h #comment Task completed ahead of schedule.
ALM Octaneでは、このコミットは、次のUDF値のいずれかを持つ作業項目にリンクされます。JRA-123 JRA-234 JRA-345
Synchronizerが削除された不具合を処理する方法
Synchronizerは、最後の同期実行以降にごみ箱に移動された不具合を削除された不具合として扱います。これらの不具合は、ALM Octaneでレコードが削除されたときに指定したルールに従って処理されます。
-
対応するレコードを削除する。ごみ箱内のALM Octaneの不具合 (またはごみ箱に移動して復元された不具合) と同期すると、リモート側の対応する不具合が削除されます。同期後、ALM Octaneの不具合が復元された場合、次の同期でリモート側に不具合が再作成されます。
-
何もしない。ごみ箱内のALM Octane不具合と同期する場合、対応する不具合はリモート側に保持されます。不具合を復元した後、リモート側でこの不具合に対して行われた更新は、ALM Octane側で同期されません。
-
対応するリモート・レコードに基づいてALM Octane中のレコードを再作成する。ごみ箱内のALM Octane不具合と同期するときに、ALM Octane不具合は、リモート側のレコードに基づいて再現されます。ごみ箱から不具合を復元すると、ALM Octaneに2つの同一の不具合が発生します。
Synchronizerが変換されたバックログ項目を処理する方法
ALM OctaneまたはJiraでバックログ項目をあるサブタイプから別のサブタイプに変換すると、次の場合に変換が同期されます。
-
不具合 /バグ > バックログ項目 /要件。
-
バックログ項目 /要件 > 不具合 /バグ。
-
バックログ項目 /要件 > バックログ項目 /要件。
注: ALM Octaneは、JiraのMove and convertオプションの同期をサポートしていません。
バグまたは不具合からバックログ項目または要件に変換する場合、バックログ項目を表示するには、要件リンクがあり、それを同期する必要があります。
Synchronizerは古いエンティティを削除してから、新しいサブタイプで新しいエンティティを作成します。履歴は新しいエンティティに引き継がれません。
削除を有効にするには、Synchronizerで削除ルールを有効にする必要があります。削除ルールが有効になっていない場合は、元のエンティティを手動で削除するように指示するエラーメッセージが表示されます。詳細については、同期ルールの編集を参照してください。
コメントの同期
-
コメントフィールドは、JiraからALM Octaneに同期されます。ただし、ALM Octaneで生成されたコメントは、Jiraで元のユーザー名を失い、REST APIで使用するユーザー名が割り当てられます。
-
無効なコメントのあるエンティティがALM OctaneからJiraに同期される場合、エンティティはコメントなしで同期されます。
注意事項と制限事項
-
ALM Octaneで使用する階層は、エピック > フィーチャー > ストーリーですが、Jiraで使用する階層は、エピック > ストーリーです。同期するときはALM Octane、のフィーチャーをJiraのエピックにマッピングします。ALM OctaneのエピックはJiraに同期されません。
-
ALM Octaneにエピックがあり、[バックログ] リンクを作成する場合は、[Synchronize epics and user stories to the Backlog root (エピックとユーザーストーリーをバックログルートに同期する)] チェックボックスを選択する必要があります。
-
JIRAでは、すべてのリリースにステータスがありますが、ALM Octaneにはありません。リリースステータスは同期されません。
-
統合は、Octaneの [スプリント] -> Jiraの [Sprint] と、Octaneの [UDFスプリント] <- Jiraの [Sprint] の2つのマッピングを同時にはサポートしません。
-
リリースの同期では、[名前]、[開始日]、[終了日]、および [説明] の各フィールドがサポートされます。
-
リリースの説明では、リッチテキストはサポートされていません。
-
説明やコメントなどのメモフィールド内の画像の同期はサポートされていません。
-
ALM OctaneからJiraに同期すると、ハイライトの色と配置が削除されます。Jiraで説明を更新して同期を再度実行すると、ハイライトの色と配置もALM Octaneから削除されます。
-
テーブルをマージされたカラムと同期する場合、結果のテーブルがわずかにずれている可能性があります。
-
カスタムフォントのサイズとタイプはJiraでサポートされていないため、テキストには常にJiraの標準設定のフォントサイズとタイプが使用されます。
-
同期後にJiraまたはALM Octaneでリリースを削除し、手動同期を実行すると、結果は「Jiraの対応するレコードに基づいてレコードを再作成する」というルールに依存します。ルールが選択されていない場合、手動同期は削除されたリリースを再作成せず、エラーで失敗します。
-
期間が1日のスプリントは、ALM OctaneからJIRAに同期されません。
-
次の手順を実行する場合、スプリントがJiraからALM Octaneに再作成されません。
- ALM OctaneとJiraの両方でリリースを作成します。
- [Recreate the record in based on the corresponding record in JIRA (Jiraの対応するレコードに基づいてALM Octaneでレコードを再作成)] というルールを選択します。
- 手動同期を実行します。ALM OctaneとJiraにそれぞれ2つのリリースが作成されます。これは、同期によって、各エンドポイントのレコードが相手側のエンドポイントにコピーされるためです。
- JiraとALM Octaneの両方で元のリリースを削除すると、ルールに基づき、削除したリリースが相手側のエンドポイントから再作成されますが、スプリントはJiraからALM Octaneに再作成されません。
-
フィルタリングの制限:
-
バックログモジュールで、フィーチャーにフィルターを追加します (ストーリーポイントやフェーズなど)。
-
フィルターをSynchronizerに保存します。
-
Synchronizerでバックログリンクを編集し、保存したフィルターを追加します。
-
フィルタは、タイプフィーチャーのエンティティだけでなく、すべてのエンティティタイプに適用されます。
-
参照情報: