要件管理
- プラン: Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
要件を使用すると、製品をチェックするための基準を設定できます。これらは、ユーザー、ステークホルダー、システム、ソフトウェア、その他捕捉することが重要だと考えるものに基づいています。
要件は、GitLabにおける製品の特定の動作を記述するアーティファクトです。要件は長期間存続し、手動でクリアしない限り消滅しません。
業界標準でアプリケーションに特定の機能や動作が求められる場合、それを反映する要件を作成できます。機能が不要になった場合は、関連する要件をアーカイブできます。
概要については、要件管理を参照してください。
より詳細なウォークスルーについては、GitLab Requirements Traceability Walkthroughを参照してください。
要件を作成
各プロジェクトで要件のページ分割されたリストを利用でき、そこから新しい要件を作成できます。
前提条件:
- プランナー、レポーター、デベロッパー、メンテナー、またはオーナーロールが必要です。
要件を作成するには:
- プロジェクトで、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ジョブを使用してすべての要件を満たしているとマークできます。
このジョブを手動でトリガーすると、{"*":"passed"}を含むrequirements.jsonファイルがアーティファクトとしてサーバーにアップロードされます。サーバー側では、要件レポートが「すべて合格」のレコード({"*":"passed"})についてチェックされ、成功すると、既存の開いているすべての要件を満たしているとマークします。
個別の要件を指定する
個別の要件とそのステータスを指定できます。
次の要件が存在する場合:
REQ-1(IID1を使用)REQ-2(IID2を使用)REQ-3(IID3を使用)
最初の要件が合格し、2番目の要件が失敗したことを指定できます。有効な値は「passed」と「失敗」です。要件のIID (この場合はREQ-3のIID 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_REQUIREMENTS CI/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 Sheetsなどのスプレッドシートエディタでプレビューできます。
エクスポートされたCSVファイルには、次のヘッダーが含まれています:
- 要件ID
- タイトル
- 説明
- 作成者
- 作成者ユーザー名
- 作成日時 (UTC)
- ステート
- ステータス更新日時 (UTC)



