要件管理
GitLab Ultimate12.10で導入されました。
要件は、ユーザー、利害関係者、システム、ソフトウェアなど、インポートすることが重要なものであれば何でも設定できます。
要件はGitLabのアーティファクトであり、製品の具体的な動作を記述します。 要件は長期保存され、手動でクリアしない限り消えません。
業界標準がアプリケーションに特定の機能や動作を要求している場合は、これを反映する要件を作成できます。 機能が不要になった場合は、関連する要件をアーカイブできます。
概要については、GitLab 12.10 Introduces RequirementsManagementをご覧ください。
要件の作成
各プロジェ ク ト では、 要件のページ付 き リ ス ト を利用で き 、 こ こ で新 し い要件を作成で き ます。
要件を作成するには
- プロジェクト ページから Requirementsに移動します。
- 新規要件をクリックします。
- 説明的なタイトルを入力し、要件の作成をクリックします。
要件リストは作成日の降順でソートされるため、新しく作成された要件がリストの一番上に表示されます。
要件の編集
要件リスト ページから、(必要な権限を持っていれば)要件を編集できます。
要件を編集するには
- 要件リストから、編集({pencil})をクリックします。
- テキスト入力フィールドのタイトルを更新します。
- 変更を保存する]をクリックします。
アーカイブ
開いている要件は、[開く] タブでアーカイブできます(必要な権限がある場合)。
要件をアーカイブするには、アーカイブ({archive}) をクリックします。
要件がアーカイブされると、その要件は [開く]タブに表示されなくなります。
要件の再開
アーカイブされた要件の一覧は、アーカイブタブで表示できます。
アーカイブされた要件を再開するには、再開をクリックします。
要件を再度開くと、その要件はアーカイブ済みタブには表示されなくなります。
要件の検索
GitLab Ultimate13.1で導入されました。
要件リスト ページから、以下の条件に基づいて要件を検索できます:
- 要件のタイトル
- 作成者のユーザー名
要件を検索するには
- プロジェクトで、 Requirements > Listと進みます。
- 検索またはフィルタ結果フィールドをクリックします。 ドロップダウンメニューが表示されます。
- ドロップダウンから要件作成者を選択するか、テキストを入力して要件タイトルで検索します。
- キーボードのEnter を押して、リストをフィルタリングします。
要件リストを並べ替えることもできます:
- 作成日
- 最終更新日
CIジョブから要件を満たせるようにします。
- GitLab Ultimate13.1で導入されました。
- GitLabUltimate13.2で、個々の要件とそのステータスを指定する機能を追加しました。
GitLab は要件テストレポーターに対応しました。 CIパイプラインにジョブを追加して、そのジョブをトリガーすると、既存のすべての要件に Satisfied (満足) とマークすることができます。
手動ジョブを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"}
) が{"*":"passed"}
ないかチ ェ ッ ク し{"*":"passed"}
、 成功 し た場合は、 既存の開いてい る すべての要件に 「満足」 のマ ー ク が付け ら れます。
個別要件の指定
個々の要件とそのステータスを指定することが可能です。
以下の条件がある場合:
-
REQ-1
(IID1
) -
REQ-2
(IID2
) -
REQ-3
(IID3
)
有効な値は 「passed」 と 「failed」 です。 要件 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変数をチェックするルールを追加します。
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