- 요구 사항 생성
- 요구 사항 보기
- 요구 사항 편집
- 요구 사항 아카이브
- 요구 사항 재개
- 요구 사항 검색
- CI 작업으로 요구 사항 만족 허용
- CSV 파일에서 요구 사항 가져오기
- 요구 사항을 CSV 파일로 내보내기
요구 사항 관리
요구 사항을 사용하면 제품에 대한 기준을 설정할 수 있습니다. 이는 사용자, 이해 관계자, 시스템, 소프트웨어 또는 중요하게 생각하는 기타 항목에 기반할 수 있습니다.
요구 사항은 제품의 특정 동작을 설명하는 GitLab의 아티팩트입니다.
요구 사항은 장기적이며 수동으로 삭제되지 않는 한 사라지지 않습니다.
산업 표준이 애플리케이션에 특정 기능 또는 동작을 요구하는 경우, 이를 반영하기 위해 요구 사항을 생성할 수 있습니다.
기능이 더 이상 필요하지 않은 경우, 관련 요구 사항을 아카이브할 수 있습니다.
이슈 323790는 요구 사항을 테스트 사례에 연결할 것을 제안합니다.
자세한 내용은 Product Stage Direction - Plan을 참조하십시오.
개요를 보려면 요구 사항 관리를 참조하세요.
더 심층적인 워크스루는 GitLab 요구 사항 추적성 워크스루 (2021년 2월)를 참조하세요.
요구 사항 생성
각 프로젝트에서 페이지네이션된 요구 사항 목록을 사용할 수 있으며, 그곳에서 새 요구 사항을 생성할 수 있습니다.
전제 조건:
- 최소한 Reporter 역할을 가져야 합니다.
요구 사항을 생성하려면:
- 프로젝트에서 Plan > Requirements로 이동합니다.
- New requirement를 선택합니다.
- 제목과 설명을 입력하고 New requirement를 선택합니다.
새로 생성된 요구 사항은 목록의 맨 위에서 확인할 수 있으며, 요구 사항 목록은 생성 날짜를 기준으로 내림차순으로 정렬됩니다.
요구 사항 보기
목록에서 요구 사항을 선택하여 요구 사항을 볼 수 있습니다.
요구 사항을 보면서 편집하려면, 요구 사항 제목 옆에 있는 Edit 아이콘 ()을 선택합니다.
요구 사항 편집
- 변경됨 GitLab 16.11: 저자 및 담당자는 Reporter 역할이 없어도 요구 사항을 편집할 수 있습니다.
요구 사항 목록 페이지에서 요구 사항을 편집할 수 있습니다.
전제 조건:
- 최소한 Reporter 역할을 가져야 하거나 요구 사항의 저자 또는 담당자여야 합니다.
요구 사항을 편집하려면:
- 요구 사항 목록에서 Edit 아이콘 ()을 선택합니다.
- 텍스트 입력 필드에서 제목과 설명을 업데이트합니다. 또한 편집 양식에서 체크박스 Satisfied를 사용하여 요구 사항을 충족으로 표시할 수 있습니다.
- Save changes를 선택합니다.
요구 사항 아카이브
- 변경됨 GitLab 16.11: 저자 및 담당자는 Reporter 역할이 없어도 요구 사항을 아카이브할 수 있습니다.
Open 탭에 있는 동안 열린 요구 사항을 아카이브할 수 있습니다.
전제 조건:
- 최소한 Reporter 역할을 가져야 하거나 요구 사항의 저자 또는 담당자여야 합니다.
요구 사항을 아카이브하려면 Archive ()를 선택합니다.
요구 사항이 아카이브되면 더 이상 Open 탭에 표시되지 않습니다.
요구 사항 재개
- GitLab 16.11에서 변경됨: 저자와 담당자는 Reporter 역할이 없어도 요구 사항을 재개할 수 있습니다.
아카이브된 요구 사항 목록은 Archived 탭에서 확인할 수 있습니다.
사전 요구 사항:
- 최소한 Reporter 역할이 있거나 요구 사항의 저자 또는 담당자여야 합니다.
아카이브된 요구 사항을 재개하려면 Reopen을 선택합니다.
요구 사항이 재개되면 더 이상 Archived 탭에 나타나지 않습니다.
요구 사항 검색
요구 사항 목록 페이지에서 다음 기준에 따라 요구 사항을 검색할 수 있습니다:
- 제목
- 저자의 사용자 이름
- 상태 (만족, 실패, 또는 누락)
요구 사항을 검색하려면:
- 프로젝트에서 Plan > Requirements > List로 이동합니다.
- Search or filter results 필드를 선택합니다. 드롭다운 목록이 나타납니다.
- 드롭다운 목록에서 요구 사항 저자나 상태를 선택하거나 평문 텍스트를 입력하여 요구 사항 제목으로 검색합니다.
- 키보드에서 Enter를 눌러 목록을 필터링합니다.
요구 사항 목록을 다음 기준으로 정렬할 수도 있습니다:
- 생성 날짜
- 업데이트 날짜
CI 작업으로 요구 사항 만족 허용
GitLab은 이제 요구 사항 테스트 보고서를 지원합니다.
트리거될 때 모든 기존 요구 사항을 만족(Satisfied)으로 표시하는 작업을 CI 파이프라인에 추가할 수 있습니다 (요구 사항을 편집하면서 수동으로 만족시킬 수 있습니다).
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
이 정의는 CI 파이프라인에 수동으로 트리거되는(when: manual
) 작업을 추가합니다. 이는 차단(allow_failure: false
)되지만, CI 작업을 트리거하는 조건은 여러분에게 달려 있습니다. 또한, requirements.json
아티팩트를 CI 작업에 의해 생성 및 업로드만 하면 기존 CI 작업을 사용하여 모든 요구 사항을 만족으로 표시할 수 있습니다.
이 작업을 수동으로 트리거하면 {"*":"passed"}
가 포함된 requirements.json
파일이 서버에 아티팩트로 업로드됩니다. 서버 측에서는 요구 사항 보고서에서 “모두 통과” 기록({"*":"passed"}
)이 확인되고 성공 시 모든 기존 열린 요구 사항이 만족(Satisfied)으로 표시됩니다.
개별 요구 사항 지정하기
개별 요구 사항과 그 상태를 지정할 수 있습니다.
다음 요구 사항이 존재한다고 가정합시다:
-
REQ-1
(IID1
포함) -
REQ-2
(IID2
포함) -
REQ-3
(IID3
포함)
첫 번째 요구 사항이 통과하고 두 번째 요구 사항이 실패했다고 지정할 수 있습니다.
유효한 값은 “passed”와 “failed”입니다.
요구 사항 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.json
CSV 파일에서 요구 사항 가져오기
최소한 Reporter 역할이 있어야 합니다.
요구 사항이 포함된 CSV 파일을 업로드하여 프로젝트로 요구 사항을 가져올 수 있습니다.
가져온 요구 사항의 작성자는 CSV 파일을 업로드한 사용자로 설정됩니다.
파일 가져오기
파일을 가져오기 전에:
-
몇 가지 요구 사항만 포함된 테스트 파일을 가져오는 것을 고려하세요. GitLab API를 사용하지 않고는 대량 가져오기를 되돌릴 방법이 없습니다.
-
CSV 파일이 파일 형식 요구 사항을 충족하는지 확인하세요.
요구 사항을 가져오려면:
- 프로젝트에서 Plan > Requirements로 이동합니다.
- 요구 사항이 있는 프로젝트의 경우, 오른쪽 상단 모서리에 있는 수직 줄임표()를 선택한 다음 Import requirements()를 선택합니다.
- 요구 사항이 없는 프로젝트의 경우, 페이지 중앙에서 Import CSV를 선택합니다.
- 파일을 선택하고 Import requirements를 선택합니다.
파일은 백그라운드에서 처리되며 가져오기가 완료된 후 알림 이메일이 전송됩니다.
가져온 CSV 파일 형식
CSV 파일에서 요구 사항을 가져올 때 특정 형식으로 작성해야 합니다:
-
헤더 행: CSV 파일에는 다음 헤더가 포함되어야 합니다:
title
및description
. 헤더는 대소문자를 구분하지 않습니다. -
열:
title
및description
외의 열 데이터는 가져오지 않습니다. -
구분자: 열 구분자는 헤더 행에서 자동으로 감지됩니다. 지원되는 구분 문자: 쉼표(
,
), 세미콜론(;
), 탭(\t
)입니다. 행 구분자는CRLF
또는LF
일 수 있습니다. -
따옴표 문자: 따옴표(
"
) 문자는 필드를 인용하는 데 사용되어 열 구분자를 필드에서 사용할 수 있게 합니다 (아래 샘플 CSV 데이터의 세 번째 줄을 참조). 인용된 필드에 따옴표("
)를 삽입하려면 두 개의 따옴표 문자를 연속으로 사용합니다(""
). -
데이터 행: 헤더 행 아래에서 이후 행은 동일한 열 순서를 따라야 합니다. 제목 텍스트는 필수이며, 설명은 선택적이고 비워둘 수 있습니다.
샘플 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의 경우 10 MB로 설정되어 있습니다.
요구 사항을 CSV 파일로 내보내기
GitLab 요구 사항을 기본 알림 이메일로 첨부된 CSV 파일로 내보낼 수 있습니다.
요구 사항을 내보내면 팀과 귀하가 다른 도구로 가져오거나 고객과 공유할 수 있습니다. 요구 사항을 내보내는 것은 고급 시스템과의 협업을 지원하고 감사 및 규정 준수 작업에 도움이 될 수 있습니다.
전제 조건:
- 최소한 Reporter 역할이 있어야 합니다.
요구 사항을 내보내려면:
-
프로젝트에서 Plan > Requirements로 이동합니다.
-
오른쪽 상단 코너에서 수직 점 3개()를 선택한 다음, CSV로 내보내기()를 선택합니다.
확인 모달이 나타납니다.
-
고급 내보내기 옵션에서 내보낼 필드를 선택합니다.
모든 필드는 기본적으로 선택됩니다. 내보내기에서 특정 필드를 제외하려면 해당 필드 옆의 체크 박스를 선택 해제하세요.
-
요구 사항 내보내기를 선택합니다. 내보낸 CSV 파일이 사용자와 연결된 이메일 주소로 전송됩니다.
내보낸 CSV 파일 형식
내보낸 CSV 파일은 Microsoft Excel, OpenOffice Calc 또는 Google Sheets와 같은 스프레드시트 편집기에서 미리 볼 수 있습니다.
내보낸 CSV 파일에는 다음 헤더가 포함됩니다:
- 요구 사항 ID
- 제목
- 설명
- 작성자
- 작성자 사용자 이름
- 생성일 (UTC)
- 상태
- 상태 업데이트일 (UTC)