要件管理
要件では、製品をチェックするための基準を設定できます。ユーザー、利害関係者、システム、ソフトウェアなど、インポートすることが重要だと思われるものを基準にすることができます。
要件はGitLabのアーティファクトで、製品の特定の動作を記述します。要件は長期間保存され、手動でクリアしない限り消えません。
業界標準がアプリケーションに特定の機能や動作を要求している場合、これを反映した要件を作成することができます。機能が不要になったら、関連する要件をアーカイブできます。
概要については、GitLab 12.10 Introduces Requirements Management をご覧ください。
より詳細なウォークスルーはGitLab Requirements Traceability Walkthrough(Feb 2021) をご覧ください。
要件を作成
各プロジェクトには、ページ分割された要件のリストが表示されます。
前提条件
- 少なくともレポーターロールを持っている必要があります。
要件を作成するには
- プロジェクトで、[計画] > [要件] を選択します。
- 新規要件 を選択します。
- 要件のタイトルと説明を入力し、要件の作成 を選択します。
新規作成された要件がリストの一番上に表示され、要件リストが作成日の降順で並べ替えられます。
要件の表示
要件を選択すると、一覧からその要件を表示できます。
要件を表示中に編集するには、要件タイトルの横にある編集アイコン({鉛筆})を選択します。
要件の編集
GitLab 13.5 で導入された、要件を満足とマークする機能。
要件一覧ページから要件を編集することができます。
前提条件
- 少なくともレポーターロールを持っている必要があります。
要件を編集するには
- 要件リストから、編集アイコン({pencil})を選択します。
- テキスト入力フィールドのタイトルと説明を更新します。チェックボックスSatisfied を使用して、編集フォームで要件を満たしているとマークすることもできます。
- 変更を保存を選択します。
要件のアーカイブ
開くタブで開いている要件をアーカイブできます。
前提条件
- 少なくともレポーターロールを持っている必要があります。
要件をアーカイブするには、アーカイブ({archive}) を選択します。
要件がアーカイブされると、その要件は [開く] タブに表示されなくなります。
要件を再度開く
アーカイブされた要件の一覧は、アーカイブタブで表示できます。
前提条件
- 少なくともレポーターロールを持っている必要があります。
アーカイブされた要件を再開するには、再開 を選択します。
要件が再開されると同時に、その要件はアーカイブ済みタブには表示されなくなります。
要件の検索
要件一覧ページでは、以下の条件で要件を検索することができます:
- タイトル
- 作成者ユーザー名
- ステータス(満足、失敗、不明)
要件を検索するには
- プロジェクトで、[計画] > [要件] > [一覧] を選択します。
- 結果の検索またはフィルタフィールドを選択します。ドロップダウン リストが表示されます。
- ドロップダウン リストから要件作成者またはステータスを選択するか、テキストを入力して要件タイトルで検索しま す。
- キーボードのEnter を押して、リストをフィルタリングします。
要件リストを並べ替えることもできます:
- 作成日
- 更新日
CIジョブから要件を満たせるようにします。
GitLab は要件テストレポーターに対応しました。CIパイプラインにジョブを追加し、そのジョブをトリガーすることで、既存のすべての要件をSatisfiedとしてマークすることができます(要件の編集フォームで手動で要件を満たすことができます)。
CI に手動ジョブを追加します。
手動ジョブがトリガーされたときに要件を Satisfied としてマークするように 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"}
れます。{"*":"passed"}
サーバー側では、 要件レポー ト に 「すべて合格」 のレ コ ー ド ({"*":"passed"}
) があ る{"*":"passed"}
か ど う か をチ ェ ッ ク{"*":"passed"}
し 、 成功 し た場合は、 既存のすべてのオープン要件を 「満足」 と し てマ ー ク し ます。
個々の要件の指定
個々の要件とそのステータスを指定することができます。
以下の要件がある場合
-
REQ-1
(IID1
を使用) -
REQ-2
(IID2
を使用) -
REQ-3
(IID3
を使用)
最初の要件は合格、2 番目の要件は不合格と指定できます。有効な値は 「合格」 と 「不合格」 です。要件 IID ( こ の場合はREQ-3
の IID3
) を省略す る と 、 結果は何も記 さ れません。
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
CSV ファイルからの要件のインポート
GitLab 13.7 で導入されました。
少なくともレポーターロールを持っている必要があります。
列title
とdescription
を含むCSV ファイルをアップロードすることで、プロジェクトに要件をインポートできます。
インポート後、CSV ファイルをアップロードしたユーザーが、インポートされた要件の作成者として設定されます。
ファイルのインポート
ファイルをインポートする前に
- いくつかの要件だけを含むテストファイルをインポートすることを検討してください。GitLab APIを使わずに大きなインポートを元に戻す方法はありません。
- CSVファイルがファイルフォーマットの要件を満たしていることを確認してください。
要件をインポートするには
- プロジェクトで、[計画] > [要件] を選択します。
- 要件のあるプロジェクトでは、右上隅でインポート アイコン({import})を選択します。
- 要件のないプロジェクトの場合は、ページの中央でCSV インポートを選択します。
- ファイルを選択し、要件のインポートを選択します。
ファイルはバックグラウンドで処理され、インポート完了後に通知メールが送信されます。
インポートされるCSVファイル形式
CSV ファイルから要件をインポートする場合は、一定の書式にする必要があります:
-
ヘッダー行:ヘッダー行: CSV ファイルには、次のヘッダーを含める必要があります:
title
およびdescription
。ヘッダーは大文字と小文字を区別しません。 -
カラム:
title
およびdescription
以外のカラムのデータはインポートされません。 - 区切り文字:列の区切り文字は、ヘッダー行から自動的に検出されます。使用可能な区切り文字は、カンマ (
,
)、セミコロン (;
)、タブ (\t
) です。行区切り文字はCRLF
またはLF
のいずれかです。 -
ダブルクォート文字:ダブルクォート(
"
)文字はフィールドを引用符で囲むために使用され、フィールド内で列の区切り文字を使用できるようにします(以下のサンプルCSVデータの3行目を参照)"
。引用符で囲んだフィールドに"
二重引用符 ("
) を挿入するには、二重引用符を 2 文字続けて使用します (""
)。 - データ行:ヘッダー行の下に続く行は、同じ列の順序に従わなければなりません。タイトル・テキストは必須ですが、説明は任意であり、空白のままでもかまいません。
サンプルCSVデータ
title,description
My Requirement Title,My Requirement Description
Another Title,"A description, with a comma"
"One More Title","One More Description"
ファイルサイズ
制限はGitLabインスタンスのMax Attachment Sizeの設定値に依存します。
GitLab.comでは10MBに設定されています。
CSV ファイルへの要件のエクスポート
GitLabの要件をCSVファイルにエクスポートし、デフォルトの通知メールに添付して送信できます。
要件をエクスポートすることで、他のツールにインポートしたり、顧客と共有したりすることができます。要件をエクスポートすることで、上位システムとのコラボレーションや、監査や規制遵守のタスクを支援することができます。
前提条件
- 少なくともレポーターロールを持っている必要があります。
要件をエクスポートするには
- プロジェクトで、[計画] > [要件] を選択します。
-
右上隅で、CSV としてエクスポート({export})を選択します。
確認モーダルが表示されます。
-
詳細エクスポートオプションで、エクスポートするフィールドを選択します。
デフォルトではすべてのフィールドが選択されています。エクスポート対象からフィールドを除外するには、そのフィールドの横にあるチェックボックスをオフにします。
- エクスポート要件]を選択します。エクスポートされたCSVファイルは、ユーザーに関連付けられたEメールアドレスに送信されます。
エクスポートCSVファイル形式
エクスポートされたCSVファイルは、Microsoft Excel、OpenOffice Calc、Google Sheetsなどのスプレッドシートエディタでプレビューできます。
エクスポートされた CSV ファイルには、以下のヘッダが含まれます:
-
GitLab 13.8:
- 要件ID
- タイトル
- 説明
- Author Username
- 最新のテストレポート状態
- 最新テストレポート作成日時(UTC)
-
GitLab 13.9以降で:
- 要件ID
- タイトル
- 説明
- Author
- Author Username
- 作成日時(UTC)
- State
- 更新日時(UTC)