要件管理
- プラン: Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
要求事項を使用すると、製品をチェックするための基準を設定できます。これらは、ユーザー、ステークホルダー、システム、ソフトウェア、またはキャプチャすることが重要であると判断したその他のものに基づいています。
要求は、製品の特定の動作を記述するアーティファクトです。要求事項は永続的であり、手動でクリアしない限り消えることはありません。
業界標準でアプリケーションに特定の機能または動作が必要な場合は、それを反映するために要求を作成できます。機能が不要になった場合は、関連する要求をアーカイブすることができます。
概要については、要件管理を参照してください。
詳細なチュートリアルについては、GitLab要求のトレーサビリティのチュートリアルを参照してください。
要求の作成
要求事項のページ分割されたリストは各プロジェクトで使用でき、そこで新しい要求を作成できます。
前提要件:
- プランナー以上のロールが必要です。
要求を作成するには:
- プロジェクトで、Plan > 要求に移動します。
- 新しい要件を選択します。
- タイトルと説明を入力し、新しい要件を選択します。
新しく作成された要求はリストの一番上に表示され、要求のリストは作成日順に降順にソートされます。
要求の表示
リストから要求を選択して表示できます。
要求を表示しているときに要求を編集するには、要求タイトルの横にある編集アイコン( )を選択します。
要求の編集
要求事項のリストページから要求を編集できます。
前提要件:
- プランナーロール以上であるか、要求の作成者または担当者である必要があります。
要求を編集するには:
- 要求事項リストから、編集アイコン( )を選択します。
- 入力フィールドでタイトルと説明を更新します。編集フォームで満たしていますチェックボックスを使用して、要求を満たしていますとしてマークすることもできます。
- 変更を保存を選択します。
要求のアーカイブ
オープンタブで、開いているタブでオープンの要求をアーカイブできます。
前提要件:
- プランナーロール以上であるか、要求の作成者または担当者である必要があります。
要求をアーカイブするには、アーカイブ( )を選択します。
要求がアーカイブされるとすぐに、オープンタブに表示されなくなります。
要求を再開
アーカイブされた要求事項のリストは、アーカイブ済みタブで表示できます。
前提要件:
- プランナーロール以上であるか、要求の作成者または担当者である必要があります。
アーカイブされた要求を再度開くには、再開を選択します。
要求が再度開かれるとすぐに、アーカイブ済みタブに表示されなくなります。
要求を検索
次の基準に基づいて、要求事項のリストページから要求を検索できます:
- タイトル
- 作成者のユーザー名
- ステータス(満たしています、失敗、または不明)
要求を検索するには:
- プロジェクトで、Plan > 要求 > リストに移動します。
- 結果を検索またはフィルタリングフィールドを選択します。ドロップダウンリストが表示されます。
- ドロップダウンリストから要求の作成者またはステータスを選択するか、プレーンテキストを入力して要求のタイトルで検索します。
- キーボードのEnterを押して、リストをフィルタリングします。
要求事項リストは、次のようにソートすることもできます:
- 作成日
- 更新日
CIジョブから要求を満たしていますにすることを許可
GitLabは、要求テストレポートをサポートするようになりました。手動ジョブがトリガーされたときに、既存のすべての要求事項を満たしていますとしてマークするジョブをCIパイプラインに追加できます(編集フォームで要求を手動で満たしていますにすることができます要求を編集する)。
手動ジョブをCIに追加
手動ジョブがトリガーされたときに要求事項を満たしていますとしてマークするようにCIを設定するには、次のコードを.gitlab-ci.ymlファイルに追加します。
requirements_confirmation:
when: manual
allow_failure: false
script:
- mkdir tmp
- echo "{\"*\":\"passed\"}" > tmp/requirements.json
artifacts:
reports:
requirements: tmp/requirements.jsonこの定義により、手動でトリガーされた(when: manual)ジョブがCIパイプラインに追加されます。これはブロック(allow_failure: false)ですが、CIジョブをトリガーするために使用する条件はユーザー次第です。また、requirements.jsonアーティファクトがCIジョブによって生成およびアップロードされている限り、既存のCIジョブを使用してすべての要求事項を満たしていますとしてマークできます。
このジョブを手動でトリガーすると、requirements.jsonを含む{"*":"passed"}ファイルがアーティファクトとしてサーバーにアップロードされます。サーバー側では、要求レポートで「すべて合格」レコード({"*":"passed"})がチェックされ、成功すると、既存のすべてのオープンの要求事項が満たしていますとしてマークされます。
個々の要求事項の指定
個々の要求事項とそのステータスを指定できます。
次の要求事項が存在する場合:
REQ-1(IID1を使用)REQ-2(IID2を使用)REQ-3(IID3を使用)
最初の要求が合格し、2番目が失敗したことを指定できます。有効な値は「合格」と「失敗」です。要求のIDを省略すると(この場合はREQ-3のID 3)、結果は記録されません。
requirements_confirmation:
when: manual
allow_failure: false
script:
- mkdir tmp
- echo "{\"1\":\"passed\", \"2\":\"failed\"}" > tmp/requirements.json
artifacts:
reports:
requirements: tmp/requirements.json手動ジョブを条件付きでCIに追加
オープンの要求事項がある場合にのみ手動ジョブを含めるようにCIを設定するには、CI_HAS_OPEN_REQUIREMENTSCI/CD変数をチェックするルールを追加します。
requirements_confirmation:
rules:
- if: '$CI_HAS_OPEN_REQUIREMENTS == "true"'
when: manual
- when: never
allow_failure: false
script:
- mkdir tmp
- echo "{\"*\":\"passed\"}" > tmp/requirements.json
artifacts:
reports:
requirements: tmp/requirements.json要求事項とテストケースは作業アイテムに移行されます。プロジェクトで作業アイテムを有効にしている場合は、以前の設定のrequirementsをrequirements_v2に置き換える必要があります:
requirements_v2: tmp/requirements.jsonCSVファイルから要求事項をインポートする
プランナー以上のロールが必要です。
title列とdescription列を含むCSVファイルをアップロードして、プロジェクトに要求事項をインポートできます。
インポート後、CSVファイルをアップロードするユーザーが、インポートされた要求事項の作成者として設定されます。
ファイルをインポートする
ファイルをインポートする前に:
- 少数の要求事項のみを含むテストファイルをインポートすることを検討してください。GitLab APIを使用せずに、大規模なインポートを元に戻す方法はありません。
- CSVファイルがファイル形式の要件を満たしていることを確認してください。
要求事項をインポートするには:
- プロジェクトで、Plan > 要求に移動します。
- 要求事項のあるプロジェクトの場合は、右上隅にある縦方向の省略記号( )を選択し、要求事項のインポート( )を選択します。
- 要求事項のないプロジェクトの場合は、ページの真ん中で、CSVからのインポートを選択します。
- ファイルを選択し、要求事項のインポートを選択します。
ファイルはバックグラウンドで処理され、インポートが完了すると通知メールが送信されます。
インポートされたCSVファイル形式
CSVファイルから要求事項をインポートする場合、特定の方法でフォーマットする必要があります:
- Header row(ヘッダー行): CSVファイルには、次のヘッダーが含まれている必要があります:
titleとdescription。ヘッダーでは大文字と小文字は区別されません。 - Columns(列):
titleおよびdescription以外の列のデータはインポートされません。 - Separators(区切り文字): 列の区切り文字は、ヘッダー行から自動的に検出されます。サポートされている区切り文字は、コンマ(
,)、セミコロン(;)、およびタブ(\t)です。行の区切り文字は、CRLFまたはLFのいずれかです。 - Double-quote character(二重引用符): 二重引用符(
")文字はフィールドを引用するために使用され、フィールドでの列区切り文字の使用を有効にします(以下のサンプルCSVファイルデータの3行目を参照)。引用符で囲まれたフィールドに二重引用符(")を挿入するには、2つの二重引用符文字を連続して使用します("")。 - Data rows(データ行): ヘッダー行の下では、後続の行は同じ列順序に従う必要があります。タイトルのテキストは必須ですが、説明はオプションであり、空のままにすることができます。
CSVファイルデータのサンプル:
title,description
My Requirement Title,My Requirement Description
Another Title,"A description, with a comma"
"One More Title","One More Description"ファイルサイズ
制限は、GitLabインスタンスの最大添付ファイルサイズの設定値によって異なります。
GitLab.comの場合、10 MBに設定されています。
CSVファイルへの要求事項のエクスポート
GitLabの要求事項を、添付ファイルとしてデフォルトの通知メールに送信されるCSVファイルにエクスポートできます。
要求事項をエクスポートすることにより、ユーザーとチームはそれらを別のツールにインポートしたり、顧客と共有したりできます。要求事項をエクスポートすると、高レベルシステムとのコラボレーション、監査および規制コンプライアンスタスクを支援できます。
前提要件:
- プランナー以上のロールが必要です。
要求事項をエクスポートするには:
プロジェクトで、Plan > 要求に移動します。
右上隅にある縦方向の省略記号( )を選択し、CSV形式でエクスポート( )を選択します。
確認モーダルが表示されます。
高度なエクスポートオプションで、エクスポートするフィールドを選択します。
デフォルトでは、すべてのフィールドが選択されています。エクスポートからフィールドを除外するには、その横にあるチェックボックスをオフにします。
要求事項のエクスポートを選択します。エクスポートされたCSVファイルは、ユーザーに関連付けられているメールアドレスに送信されます。
エクスポートされたCSVファイル形式
エクスポートされたCSVファイルは、Microsoft Excel、OpenOffice Calc、Googleスプレッドシートなどのスプレッドシートエディタでプレビューできます。
エクスポートされたCSVファイルには、次のヘッダーが含まれています:
- 要求ID
- タイトル
- 説明
- 作成者
- 作成者のユーザー名。
- 作成日(UTC)
- ステート
- 状態の更新日時(UTC)


