요구 사항 관리

Tier: Ultimate Offering: GitLab.com, 자체 호스팅, GitLab Dedicated

요구 사항을 사용하여 제품을 해당 기준에 맞추어 검사할 수 있습니다. 사용자, 이해관계자, 시스템, 소프트웨어 또는 중요하다고 생각하는 기타 항목을 기반으로 할 수 있습니다.

요구 사항이란 GitLab의 산출물로서 제품의 특정 동작을 설명합니다. 요구 사항은 장기간 유지되며 수동으로 지워지지 않습니다.

산업 표준이 응용 프로그램에 특정 기능이나 동작이 필요하도록 하는 경우 요구 사항을 생성하여 이를 반영할 수 있습니다. 기능이 더 이상 필요하지 않을 때에는 관련 요구 사항을 아카이브할 수 있습니다.

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

개요는 요구 사항 관리를 참조하세요.

더 깊이 있는 안내는 GitLab 요구 사항 추적 안내 (2021년 2월)를 참조하세요.

요구 사항 목록 보기

요구 사항 생성

각 프로젝트에는 페이지네이션된 요구 사항 목록이 있으며, 거기에서 새로운 요구 사항을 생성할 수 있습니다.

필수 조건:

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

요구 사항을 생성하려면:

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

요구 사항 생성 보기

새로 생성된 요구 사항을 제목, 설명이 입력된 개혁 맨 위에서 볼 수 있으며, 요구 사항 목록은 생성 날짜를 기준으로 내림차순으로 정렬됩니다.

요구 사항 보기

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

요구 사항 보기

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

요구 사항 편집

  • GitLab 16.11에서 변경: 작성자 및 담당자는 기고자 역할이 없더라도 요구 사항을 편집할 수 있습니다.

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

필수 조건:

  • 적어도 기고자 역할이 있거나 요구 사항의 작성자 또는 담당자이어야 합니다.

요구 사항을 편집하려면:

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

요구 사항 아카이브

  • GitLab 16.11에서 변경: 작성자와 담당자는 기고자 역할이 없더라도 요구 사항을 아카이브할 수 있습니다.

Open 탭에 있는 요구 사항을 아카이브할 수 있습니다.

필수 조건:

  • 적어도 기고자 역할이 있거나 요구 사항의 작성자 또는 담당자이어야 합니다.

요구 사항을 아카이브하려면 아카이브()를 선택합니다.

요구 사항이 아카이브되면 Open 탭에 더 이상 표시되지 않습니다.

요구 사항 다시 열기

  • GitLab 16.11에서 변경: 작성자와 담당자는 기고자 역할이 없더라도 요구 사항을 다시 열 수 있습니다.

Archived 탭에서 아카이브된 요구 사항 목록을 볼 수 있습니다.

필수 조건:

  • 적어도 기고자 역할이 있거나 요구 사항의 작성자 또는 담당자이어야 합니다.

아카이브된 요구 사항 목록

아카이브된 요구 사항을 다시 열려면 다시 열기를 선택합니다.

요구 사항이 다시 열리면 Archived 탭에 더 이상 표시되지 않습니다.

요구 사항 검색

요구 사항 목록 페이지에서 다음 기준에 따라 요구 사항을 검색할 수 있습니다.

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

요구 사항을 검색하려면:

  1. 프로젝트에서 계획 > 요구 사항 > 목록으로 이동합니다.
  2. 검색 또는 결과 필터링 필드를 선택합니다. 드롭다운 목록이 나타납니다.
  3. 드롭다운 목록에서 요구 사항 작성자 또는 상태를 선택하거나 요구 사항 제목으로 검색하려면 일반 텍스트를 입력합니다.
  4. 키보드의 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 작업에 의해 생성되고 업로드되는 동안 요구 사항이 모두 만족된 것으로 표시된다면(해당 파일은 {"*":"passed"}를 포함), 성공 상태에 따라 모든 오픈 요구 사항을 만족시킵니다.

개별 요구 사항 지정

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

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

  • REQ-1 (IID 1 포함)
  • REQ-2 (IID 2 포함)
  • REQ-3 (IID 3 포함)

첫 번째 요구 사항이 통과되었고 두 번째 요구 사항이 실패했다고 지정할 수 있습니다. 유효한 값은 “passed”와 “failed”입니다. (IID 3과 같은 경우 REQ-3의 IID를 생략함으로써 결과를 표시하지 않을 수 있습니다.)

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

요구 사항 및 테스트 케이스작업 항목으로 이관 중이므로 프로젝트에서 작업 항목을 활성화한 경우 위의 구성에서 requirementsrequirements_v2로 대체해야 합니다.

      requirements_v2: tmp/requirements.json

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

최소한 Repoter 역할이 있어야 합니다.

프로젝트로 요구 사항을 가져오려면 titledescription 열이 있는 CSV 파일을 업로드합니다.

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

파일 가져오기

파일을 가져오기 전에:

  • 요구 사항이 몇 개만 포함된 테스트 파일을 가져올 것을 고려하십시오. GitLab API를 사용하지 않고는 대규모 가져오기를 되돌릴 수 없습니다.
  • CSV 파일이 파일 형식 요구 사항을 충족하는지 확인하십시오.

요구 사항을 가져오려면:

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

파일은 백그라운드에서 처리되며, 가져오기가 완료되면 사용자에게 알림 이메일이 전송됩니다.

가져온 CSV 파일 형식

CSV 파일에서 요구 사항을 가져올 때 특정한 형식으로 포맷해야 합니다:

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

샘플 CSV 데이터:

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

파일 크기

한도는 GitLab 인스턴스의 Max Attachment Size 구성 값에 따라 달라집니다.

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

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

GitLab 요구 사항을 기본 알림 이메일로 전송된 CSV 파일로 내보낼 수 있습니다.

요구 사항을 내보내면 여러분과 여러분의 팀은 다른 도구에 가져올 수 있거나 고객과 공유할 수 있습니다. 요구 사항을 내보내면 더 높은 수준의 시스템과의 협업, 감사 및 규정 준수 작업에 도움이 됩니다.

전제 조건: - 적어도 Repoter 역할이 있어야 합니다.

요구 사항을 내보내려면:

  1. 프로젝트에서 Plan > 요구 사항으로 이동하세요.
  2. 오른쪽 상단에서 수직 타원모양()을 선택한 후 CSV로 내보내기()를 선택합니다.

    확인 모달이 표시됩니다.

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

    기본적으로 모든 필드가 선택됩니다. 내보낼 필드를 제외하려면 해당 필드 옆의 확인란을 지웁니다.

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

내보낸 CSV 파일 형식

내보낸 CSV 파일을 Microsoft Excel, OpenOffice Calc, Google Sheets 등의 스프레드시트 편집기에서 미리 볼 수 있습니다.

내보낸 CSV 파일에는 다음 헤더가 포함됩니다:

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