요구 사항 관리

Tier: Ultimate Offering: GitLab.com, Self-Managed, GitLab Dedicated
note
14.4에서 Requirements가 Issues 아래로 이동되었습니다.

요구 사항을 통해 제품을 기준으로 확인할 기준을 설정할 수 있습니다. 사용자, 이해관계자, 시스템, 소프트웨어 또는 캡처해야 할 중요한 기타 내용을 기반으로 할 수 있습니다.

요구 사항은 GitLab의 아티팩트로서 제품의 특정 동작을 설명합니다. 요구 사항은 장기간 유지되며 수동으로 지워지지 않습니다.

산업 표준이 귀하의 애플리케이션이 특정 기능이나 동작을 갖추도록 요구하는 경우, 요구 사항을 생성하여 이를 반영할 수 있습니다. 기능이 더 이상 필요하지 않을 때 관련된 요구 사항을 보관할 수 있습니다.

note
요구 사항과 테스트 케이스작업 항목으로 이전 중입니다. 이슈 323790는 요구 사항을 테스트 케이스에 연결하는 것을 제안합니다. 자세한 내용은 제품 단계 방향 - 계획을 참조하세요.

개요는 GitLab 12.10이 요구 사항 관리를 소개합니다.

더 심도 있는 안내는 GitLab 요구 사항 트레이싱 안내 (2021년 2월)를 참조하세요.

요구 사항 목록 뷰

요구 사항 생성

각 프로젝트에 요구 사항의 페이지화된 목록이 있으며 거기에서 새 요구 사항을 만들 수 있습니다.

전제 조건:

  • 적어도 기록자 역할이 있어야 합니다.

요구 사항을 만들려면:

  1. 프로젝트에서 Plan > Requirements로 이동합니다.
  2. 새 요구 사항을 선택합니다.
  3. 제목과 설명을 입력하고 새 요구 사항을 선택합니다.

요구 사항 생성 뷰

생성된 요구 사항은 목록 상단에 표시되며, 요구 사항 목록은 생성 날짜를 기준으로 내림차순으로 정렬됩니다.

요구 사항 보기

목록에서 요구 사항을 선택하여 볼 수 있습니다.

요구 사항 보기

요구 사항을 보면서 편집하려면, 요구 사항 제목 옆의 편집 아이콘 ()을 선택합니다.

요구 사항 편집

  • 요구 사항을 만족으로 표시하는 기능은 GitLab 13.5에서 소개되었습니다.

요구 사항 목록 페이지에서 요구 사항을 편집할 수 있습니다.

전제 조건:

  • 적어도 기록자 역할이 있어야 합니다.

요구 사항을 편집하려면:

  1. 요구 사항 목록에서 편집 아이콘 ()을 선택합니다.
  2. 텍스트 입력 필드에서 제목과 설명을 업데이트합니다. 편집 양식에서 확인란 만족을 사용하여 요구 사항을 만족으로 표시할 수도 있습니다.
  3. 변경 사항 저장을 선택합니다.

요구 사항 보관

요구 사항이 열림 탭에 있는 동안에 열린 요구 사항을 보관할 수 있습니다.

전제 조건:

  • 적어도 기록자 역할이 있어야 합니다.

요구 사항을 보관하려면, 보관을 선택합니다 ().

요구 사항이 보관되면 열림 탭에 나타나지 않습니다.

요구 사항 다시 열기

보관됨 탭에 보관된 요구 사항 목록을 볼 수 있습니다.

전제 조건:

  • 적어도 기록자 역할이 있어야 합니다.

보관된 요구 사항 목록

보관된 요구 사항을 다시 열려면 다시 열기를 선택합니다.

요구 사항이 다시 열리면 보관된 탭에 나타나지 않습니다.

요구 사항 검색

요구 사항 목록 페이지에서 다음 기준을 기반으로 요구 사항을 검색할 수 있습니다:

  • 제목
  • 작성자의 사용자 이름
  • 상태 (만족, 실패, 또는 누락)

요구 사항을 검색하려면:

  1. 프로젝트에서 Plan > Requirements > List로 이동합니다.
  2. 검색 또는 결과 필터링 필드를 선택합니다. 드롭다운 목록이 나타납니다.
  3. 드롭다운 목록에서 요구 사항 작성자 또는 상태를 선택하거나 평문을 입력하여 요구 사항 제목으로 검색합니다.
  4. 키보드의 Enter를 눌러 목록을 필터링합니다.

요구 사항 목록을 다음 기준으로 정렬할 수도 있습니다:

  • 생성된 날짜
  • 업데이트된 날짜

CI 작업에서 요구 사항 충족 허용

  • 소개 - GitLab 13.1에서 소개되었습니다.
  • 개별 요구 사항 및 상태를 지정하는 능력 소개 - GitLab 13.2에서 소개되었습니다.

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 작업에 의해 생성되고 업로드되는 한, 기존의 모든 요구 사항을 만족시키는 데 사용할 수 있습니다.

이 작업을 수동으로 트리거하면 {"*":"passed"}를 포함하는 requirements.json 파일이 서버로 아티팩트로 업로드됩니다. 서버에서 요구 사항 보고서는 “모두 통과함” 레코드({"*":"passed"})를 확인하고 성공하면 모든 현재 열려 있는 요구 사항을 만족으로 표시합니다.

개별 요구 사항 지정

개별 요구 사항과 상태를 지정할 수 있습니다.

다음과 같은 요구 사항이 있는 경우:

  • REQ-1 (IID가 1인)
  • REQ-2 (IID가 2인)
  • REQ-3 (IID가 3인)

첫 번째 요구 사항이 통과되었고 두 번째는 실패했음을 지정할 수 있습니다. “통과됨”과 “실패함”이 유효한 값입니다. (이 경우 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

CSV 파일에서 요구 사항 가져오기

  • 소개 - GitLab 13.7에서 소개되었습니다.

최소한 기록자 역할이 있어야 합니다.

프로젝트에 요구 사항을 업로드하여 CSV 파일을 통해 요구 사항을 가져올 수 있습니다. 이때 titledescription 열이 포함된 파일을 업로드합니다.

가져온 후, CSV 파일을 업로드한 사용자가 가져온 요구 사항의 작성자로 설정됩니다.

파일 가져오기

파일을 가져오기 전에:

  • 큰 가져오기를 취소하는 방법은 GitLab API를 사용하지 않으면 큰 가져오기를 취소할 방법은 없으므로 몇 개의 요구 사항만 포함한 테스트 파일을 가져오는 것을 고려하십시오.
  • CSV 파일이 파일 형식 요구 사항을 충족하는지 확인하십시오.

요구 사항을 가져오려면:

  1. 프로젝트에서 Plan > Requirements로 이동합니다.
    • 요구 사항이 있는 프로젝트의 경우, 오른쪽 상단에서 수직 타원 ()을 선택한 다음 요구 사항 가져오기 ()를 선택합니다.
    • 요구 사항이 없는 프로젝트의 경우, 페이지 중앙에서 CSV 가져오기를 선택합니다.
  2. 파일을 선택하고 요구 사항 가져오기를 선택합니다.

파일이 백그라운드에서 처리되고 가져오기가 완료되면 알림 이메일이 보내집니다.

가져온 CSV 파일 형식

CSV 파일에서 요구 사항을 가져올 때, 다음과 같이 형식을 지켜야 합니다:

  • 헤더 행: CSV 파일에는 다음 헤더를 포함해야 합니다: titledescription. 헤더는 대소문자를 구분하지 않습니다.
  • 열: titledescription 외의 열에서의 데이터는 가져오지 않습니다.
  • 구분 기호: 열 구분 기호는 헤더 행에서 자동으로 감지됩니다. 지원되는 구분 기호 문자는: 쉼표 (,), 세미콜론 (;), 탭 (\t)입니다. 행 구분 기호는 CRLF 또는 LF 중 하나일 수 있습니다.
  • 이중 인용 부호 문자: 이중 인용 부호(")는 필드를 인용하는 데 사용되어, 필드 안에 열 구분 기호를 사용할 수 있게 합니다 (아래 샘플 CSV 데이터의 세 번째 줄 참조). 인용된 필드에 이중 인용 부호(")를 삽입하려면 연속으로 두 개의 이중 인용 부호("")를 사용하십시오.
  • 데이터 행: 헤더 행 아래에 이어지는 행은 동일한 열 순서를 따라야 합니다. 제목 텍스트는 필수이며, 설명은 선택 사항이며 비워둘 수 있습니다.

샘플 CSV 데이터:

title,description
나의 요구 사항 제목,나의 요구 사항 설명
다른 제목,"쉼표가 있는 설명"
"하나의 더 제목","하나의 더 설명"

파일 크기

제한은 GitLab 인스턴스의 Max Attachment Size 구성 값을 기준으로 합니다.

GitLab.com의 경우, 10MB로 설정되어 있습니다.

CSV 파일로 요구 사항 내보내기 요구 사항

  • GitLab 13.8에서 도입됨.
  • CSV 열 머리글 수정이 GitLab 13.9에서 도입됨.
  • 내보낼 필드 선택 기능이 GitLab 13.9에서 도입됨.

기본 알림 이메일로 첨부된 CSV 파일로 GitLab 요구 사항을 내보낼 수 있습니다. 요구 사항을 내보내면 팀원들과 다른 도구로 가져오거나 고객과 공유할 수 있습니다. 요구 사항을 내보내면 상위 시스템과의 협업, 감사, 규정 준수 작업에 도움이 됩니다.

전제 조건:

  • 적어도 Reporter 역할을 가져야 합니다.

요구 사항을 내보내려면:

  1. 프로젝트에서 Plan > Requirements로 이동합니다.
  2. 오른쪽 상단에서 수직 타원()을 선택한 다음 CSV로 내보내기()를 선택합니다.

    확인 모달이 표시됩니다.

  3. 고급 내보내기 옵션에서 내보낼 필드를 선택합니다.

    모든 필드가 기본적으로 선택되어 있습니다. 내보내지 않을 필드는 확인란을 해제합니다.

  4. 요구 사항 내보내기를 선택합니다. 내보낸 CSV 파일이 사용자와 연결된 이메일 주소로 전송됩니다.

내보낸 CSV 파일 형식

내보낸 CSV 파일은 다음 머리글을 포함합니다:

  • GitLab 13.8에서:

    • 요구 사항 ID
    • 제목
    • 설명
    • 작성자 사용자 이름
    • 최신 테스트 보고서 상태
    • 최신 테스트 보고서 생성 일시 (UTC)
  • GitLab 13.9 이상에서:

    • 요구 사항 ID
    • 제목
    • 설명
    • 작성자
    • 작성자 사용자 이름
    • 생성 일시 (UTC)
    • 상태
    • 상태 업데이트 일시 (UTC)