InfoGrab DocsInfoGrab Docs

시간 추적

요약

시간 추적은 GitLab 작업 항목에 투입한 시간을 기록하고 관리하는 데 도움이 됩니다. 시간 추적 정보는 작업 항목의 오른쪽 사이드바에서 확인할 수 있습니다. 시간 추적 데이터는 빠른 동작이나 사용자 인터페이스로 입력하고 제거합니다.

히스토리
  • 태스크 시간 추적이 GitLab 17.0에서 도입되었습니다.
  • 에픽 시간 추적이 GitLab 17.5에서 도입되었습니다. 에픽의 새 화면이 켜져 있어야 합니다.
  • 예상 시간을 추가·편집·제거하는 데 필요한 최소 권한이 GitLab 17.7에서 Reporter에서 Planner로 변경되었습니다.
  • 에픽 시간 추적이 GitLab 18.1에서 일반 공개되었습니다.
  • 지원하는 총 소요 시간이 GitLab 18.10에서 1년에서 4년으로 늘어났습니다.

시간 추적은 GitLab 작업 항목에 투입한 시간을 기록하고 관리하는 데 도움이 됩니다. 시간 추적의 기능은 다음과 같습니다.

  • 이슈, 머지 리퀘스트, 에픽, 태스크에 실제로 쓴 시간을 기록합니다.
  • 완료까지 필요한 총 시간을 예상합니다.
  • 시간 기록의 상세 보고서를 제공합니다.
  • 표준화된 시간 단위로 합계를 계산합니다.
  • 빠른 동작과 UI를 통해 이력을 추적합니다.

시간 추적 정보는 작업 항목의 오른쪽 사이드바에서 확인할 수 있습니다.

작업 항목 오른쪽 사이드바의 시간 추적 섹션.

시간 추적 데이터는 빠른 동작이나 사용자 인터페이스로 입력하고 제거합니다. 빠른 동작은 각각 별도의 줄에 입력합니다. 하나의 댓글에서 같은 빠른 동작을 여러 번 사용하면 마지막 항목만 적용됩니다.

권한#

보유한 권한에 따라 사용할 수 있는 시간 추적 기능이 다릅니다.

  • 예상 시간을 추가·편집·제거하려면 이슈와 태스크에서는 Planner, Reporter, Developer, Maintainer, Owner 권한 중 하나가, 머지 리퀘스트에서는 Developer 권한이 필요합니다.
  • 소요 시간을 추가하고 편집하려면 프로젝트에 대한 Planner, Reporter, Developer, Maintainer, Owner 권한 중 하나가 필요합니다.
  • 시간 기록을 삭제하려면 해당 기록의 작성자이거나 Maintainer 또는 Owner 권한이 있어야 합니다.

예상 시간#

예상 시간은 항목을 완료하는 데 필요한 총 시간을 보여 주기 위한 값입니다.

오른쪽 사이드바의 시간 추적 정보 위에 마우스를 올리면 남은 예상 시간을 확인할 수 있습니다.

시간 추적 섹션 위에 마우스를 올렸을 때 표시되는 남은 예상 시간 툴팁.

예상 시간 추가#

사전 요구 사항:

  • 이슈에서는 프로젝트에 대한 Planner, Reporter, Developer, Maintainer, Owner 권한 중 하나가 있어야 합니다.
  • 태스크에서는 프로젝트에 대한 Planner, Reporter, Developer, Maintainer, Owner 권한 중 하나가 있어야 합니다.
  • 머지 리퀘스트에서는 프로젝트에 대한 Developer, Maintainer, Owner 권한 중 하나가 있어야 합니다.

예상 시간을 입력하려면 /estimate 빠른 동작을 사용하고 뒤에 시간을 적습니다.

예를 들어 1개월 2주 3일 4시간 5분을 예상 시간으로 입력하려면 /estimate 1mo 2w 3d 4h 5m을 입력합니다. 사용할 수 있는 시간 단위를 확인합니다.

한 항목에는 예상 시간을 하나만 지정할 수 있습니다. 새 예상 시간을 입력할 때마다 이전 값을 덮어씁니다.

예상 시간 제거#

사전 요구 사항:

  • 이슈에서는 프로젝트에 대한 Planner, Reporter, Developer, Maintainer, Owner 권한 중 하나가 있어야 합니다.
  • 태스크에서는 프로젝트에 대한 Planner, Reporter, Developer, Maintainer, Owner 권한 중 하나가 있어야 합니다.
  • 머지 리퀘스트에서는 프로젝트에 대한 Developer, Maintainer, Owner 권한 중 하나가 있어야 합니다.

예상 시간을 완전히 제거하려면 /remove_estimate 빠른 동작을 사용합니다.

소요 시간#

작업을 진행하면서 사용한 시간을 기록할 수 있습니다.

새로 입력한 소요 시간은 해당 이슈, 태스크, 머지 리퀘스트의 현재 총 소요 시간에 더해집니다.

이슈, 태스크, 머지 리퀘스트의 총 소요 시간은 4년을 초과할 수 없습니다.

소요 시간 추가#

사전 요구 사항:

  • 프로젝트에 대한 Planner, Reporter, Developer, Maintainer, Owner 권한 중 하나가 있어야 합니다.

사용자 인터페이스 사용#

히스토리
  • GitLab 17.0에서 변경되었습니다. 시간을 사용한 시점을 지정하지 않으면 현재 시각이 사용됩니다.

사용자 인터페이스로 시간 기록을 추가하려면 다음 단계를 수행합니다.

  1. 사이드바의 Time tracking 섹션에서 Add time entry (+)를 선택합니다. 대화 상자가 열립니다.

  2. 다음 항목을 입력합니다.

    • 소요 시간
    • 선택 사항. 시간을 사용한 시점. 비워 두면 현재 시각이 사용됩니다.
    • 선택 사항. 요약
  3. Save를 선택합니다.

사이드바의 Spent 합계가 갱신되며, 모든 기록은 시간 추적 보고서에서 확인할 수 있습니다.

빠른 동작 사용#

소요 시간을 입력하려면 /spend 빠른 동작을 사용하고 뒤에 시간을 적습니다.

예를 들어 1개월 2주 3일 4시간 5분을 기록하려면 /spend 1mo 2w 3d 4h 5m을 입력합니다. 사용할 수 있는 시간 단위를 확인합니다.

메모가 포함된 시간 추적 보고서 항목을 추가하려면 설명과 빠른 동작을 함께 적어 댓글을 작성합니다. 그러면 시간 추적 보고서의 Summary/Notes 칼럼에 표시됩니다. 예시는 다음과 같습니다.

Draft MR and respond to initial comments

/spend 30m

시간을 사용한 시점을 기록하려면 시간 뒤에 YYYY-MM-DD 형식으로 날짜를 입력합니다.

예를 들어 2021년 1월 31일에 사용한 1시간을 기록하려면 /spend 1h 2021-01-31을 입력합니다.

미래 날짜를 입력하면 시간이 기록되지 않습니다.

커밋 메시지 사용#

히스토리
  • GitLab 18.3에서 commit_time_tracking이라는 플래그와 함께 도입되었습니다. 기본적으로 비활성화되어 있습니다.
  • GitLab 18.7에서 일반 공개되었습니다. 기능 플래그 commit_time_tracking 이 제거되었습니다.

커밋 메시지에서 곧바로 이슈의 소요 시간을 기록할 수 있습니다. 이 방식을 사용하면 이슈를 따로 수정하지 않고 작업하면서 시간을 추적할 수 있습니다.

커밋 메시지에 소요 시간을 추가하려면 이슈 참조와 함께 @<time> 형식의 시간 추적 마커를 적되, 시간 단위 사이에 공백을 넣지 않습니다.

예시는 다음과 같습니다.

Fix a bug in the login form #123 @1mo2d3h15m

이 커밋 메시지는 이슈 #123에 1개월 2일 3시간 15분의 소요 시간을 추가합니다.

시간 추적 마커는 다음 조건을 충족해야 합니다.

  • @ 기호로 시작합니다.
  • 바로 뒤에 시간 단위를 공백 없이 이어서 적습니다.
  • 월(mo), 일(d), 시간(h), 분(m), 초(s) 단위를 지원합니다.
  • 일반 시간 추적과 동일한 시간 단위를 사용합니다.

시간 추적 정보가 담긴 커밋을 푸시하면 다음 과정이 진행됩니다.

  1. GitLab 이 커밋 메시지에서 소요 시간을 추출합니다.
  2. 같은 커밋 메시지에서 참조한 이슈에 해당 시간이 추가됩니다.
  3. 커밋에서 시간이 추가되었음을 알리는 시스템 메모가 이슈에 추가됩니다.
  4. 시간 추적 항목의 설명에 커밋 SHA와 제목이 포함됩니다.
커밋 작성자 권한#

커밋 작성자가 해당 이슈를 수정할 권한이 있는 경우에만 커밋 메시지의 시간이 이슈에 추가됩니다.

  • 커밋 작성자는 이슈가 있는 프로젝트에 대한 Planner, Reporter, Developer, Maintainer, Owner 권한 중 하나가 있어야 합니다.
  • 작성자에게 충분한 권한이 없으면 해당 커밋의 시간 추적 정보는 무시됩니다.
  • 권한 확인에는 일반 시간 추적과 동일한 규칙이 적용됩니다.
알려진 문제#

한 커밋에 여러 시간 값이 있는 경우

커밋 메시지가 서로 다른 시간 값으로 여러 이슈를 참조하면, 참조된 모든 이슈에 첫 번째 시간 값만 적용됩니다.

예를 들어 다음 커밋 메시지를 살펴봅니다.

Fixes #41 @1h30m and fixes #40 @2h

이 메시지는 이슈 #41과 이슈 #40 양쪽에 1h30m을 추가합니다. 두 번째 시간 값(@2h)은 무시됩니다.

커밋 SHA 변경으로 인한 중복 시간 기록

커밋의 SHA가 변경되면(예: 리베이스나 어멘드 이후) GitLab은 시간 추적에서 이를 새 커밋으로 간주합니다. 원래 커밋과 새 커밋이 모두 이슈에서 참조되면 시간 기록이 중복될 수 있습니다.

커밋 SHA가 변경될 수 있는 상황에서 시간 기록 중복을 피하려면 다음과 같이 대응합니다.

  • 커밋 메시지 대신 UI 나 빠른 동작으로 이슈에 직접 시간을 추가합니다.
  • 시간 추적에 커밋 메시지를 사용해야 한다면, 브랜치 히스토리가 확정된 뒤에만 시간을 추가합니다.
  • 머지하기 전에 이슈의 시간 추적 보고서를 확인해 중복 가능성이 있는 기록을 찾아 제거합니다.

머지 리퀘스트에서 중복 시간 추적 방지#

시간 추적 정보가 담긴 커밋이 포함된 머지 리퀘스트를 머지할 때, GitLab은 시간이 중복 추적되지 않도록 다음과 같이 처리합니다.

  • 같은 커밋 메시지가 리포지터리 히스토리에 여러 번 나타나더라도 커밋당 한 번만 시간을 추적합니다.
  • GitLab은 같은 커밋 제목과 ID를 가진 시간 기록이 이슈에 이미 있는지 확인해 중복 추적을 방지합니다.
  • 커밋이 머지될 때는 시간이 추가로 추적되지 않습니다. 이를 통해 기능 브랜치가 기본 브랜치로 머지될 때 시간이 이중으로 집계되지 않습니다.

소요 시간 빼기#

사전 요구 사항:

  • 프로젝트에 대한 Planner, Reporter, Developer, Maintainer, Owner 권한 중 하나가 있어야 합니다.

시간을 빼려면 음수 값을 입력합니다. 예를 들어 /spend -3d는 총 소요 시간에서 3일을 뺍니다. 소요 시간은 0분 미만이 될 수 없으므로, 이미 입력된 시간보다 더 많은 시간을 빼면 GitLab 이 해당 차감을 무시합니다.

소요 시간 삭제#

타임로그는 양수 또는 음수로 기록된 소요 시간 한 건을 가리킵니다.

사전 요구 사항:

  • 해당 타임로그의 작성자이거나 프로젝트에 대한 Maintainer 또는 Owner 권한이 있어야 합니다.

타임로그를 삭제하려면 다음 중 하나를 수행합니다.

  • 시간 추적 보고서에서 타임로그 항목 오른쪽의 Delete time spent ([remove])를 선택합니다.
  • GraphQL API를 사용합니다.

모든 소요 시간 삭제#

사전 요구 사항:

  • 프로젝트에 대한 Planner, Reporter, Developer, Maintainer, Owner 권한 중 하나가 있어야 합니다.

모든 소요 시간을 한 번에 삭제하려면 /remove_time_spent 빠른 동작을 사용합니다.

항목의 시간 추적 보고서 보기#

항목에 사용한 시간의 시간 추적 보고서를 보려면 다음 단계를 수행합니다.

  • 오른쪽 사이드바에서 Spent 옆의 시간을 선택합니다.

소요 시간의 개별 기록을 보여 주는 시간 추적 보고서.

표시되는 소요 시간 상세 내역은 최대 100건으로 제한됩니다.

전체 시간 추적 보고서#

히스토리
  • GitLab 15.11에서 global_time_tracking_report라는 기능 플래그와 함께 도입되었습니다. 기본적으로 비활성화되어 있습니다.
  • GitLab 16.5에서 GitLab.com에 활성화되었습니다.
Feature flag

GitLab Self-Managed에서는 기본적으로 이 기능을 사용할 수 없습니다. 사용하려면 관리자가 global_time_tracking_report라는 기능 플래그를 활성화하면 됩니다. GitLab.com에서는 이 기능을 사용할 수 있습니다. GitLab Dedicated에서는 사용할 수 없습니다. 이 기능은 운영 환경에서 사용할 준비가 되지 않았습니다.

GitLab 전체의 이슈, 태스크, 머지 리퀘스트에 사용한 시간 보고서를 확인합니다.

이 기능은 실험 기능입니다. 버그를 발견하면 피드백 이슈에 추가합니다.

전체 시간 추적 보고서를 보려면 다음 단계를 수행합니다.

  1. 브라우저에서 전체 보고서의 URL을 입력합니다.
    • GitLab Self-Managed에서는 기본 URL 뒤에 /-/timelogs를 붙입니다. 예를 들어 https://gitlab.example.com/-/timelogs 입니다.
    • GitLab.com에서는 https://gitlab.com/-/timelogs로 이동합니다.
  2. 선택 사항. 특정 사용자로 필터링하려면 @ 기호 없이 사용자 이름을 입력합니다.
  3. 시작 날짜와 종료 날짜를 선택합니다.
  4. Run report를 선택합니다.

여러 항목의 필터와 결과를 보여 주는 전체 시간 추적 보고서 페이지.

사용 가능한 시간 단위#

다음 시간 단위를 사용할 수 있습니다.

시간 단위 입력할 내용 환산율
월 mo, month, 또는 months 4주 (160시간)
주 w, week, 또는 weeks 5일 (40시간)
일 d, day, 또는 days 8시간
시간 h, hour, 또는 hours 60분
분 m, minute, 또는 minutes

표시 단위를 시간으로 제한#

GitLab 관리자는 시간 단위 표시를 시간 단위로만 제한할 수 있습니다. 방법은 다음과 같습니다.

  1. 오른쪽 위에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Settings > Preferences를 선택합니다.
  3. Localization을 확장합니다.
  4. Time tracking에서 Limit display of time tracking units to hours 체크박스를 선택합니다.
  5. Save changes를 선택합니다.

이 옵션을 켜면 1w 4d 3h 대신 75h가 표시됩니다.

관련 주제#

시간 추적

GitLab v19.5
Tier: Free, Premium, Ultimate
Offering: GitLab Self-Managed, GitLab Dedicated
원문 보기

요약

시간 추적은 GitLab 작업 항목에 투입한 시간을 기록하고 관리하는 데 도움이 됩니다. 시간 추적 정보는 작업 항목의 오른쪽 사이드바에서 확인할 수 있습니다. 시간 추적 데이터는 빠른 동작이나 사용자 인터페이스로 입력하고 제거합니다.

히스토리
  • 태스크 시간 추적이 GitLab 17.0에서 도입되었습니다.
  • 에픽 시간 추적이 GitLab 17.5에서 도입되었습니다. 에픽의 새 화면이 켜져 있어야 합니다.
  • 예상 시간을 추가·편집·제거하는 데 필요한 최소 권한이 GitLab 17.7에서 Reporter에서 Planner로 변경되었습니다.
  • 에픽 시간 추적이 GitLab 18.1에서 일반 공개되었습니다.
  • 지원하는 총 소요 시간이 GitLab 18.10에서 1년에서 4년으로 늘어났습니다.

시간 추적은 GitLab 작업 항목에 투입한 시간을 기록하고 관리하는 데 도움이 됩니다. 시간 추적의 기능은 다음과 같습니다.

  • 이슈, 머지 리퀘스트, 에픽, 태스크에 실제로 쓴 시간을 기록합니다.
  • 완료까지 필요한 총 시간을 예상합니다.
  • 시간 기록의 상세 보고서를 제공합니다.
  • 표준화된 시간 단위로 합계를 계산합니다.
  • 빠른 동작과 UI를 통해 이력을 추적합니다.

시간 추적 정보는 작업 항목의 오른쪽 사이드바에서 확인할 수 있습니다.

작업 항목 오른쪽 사이드바의 시간 추적 섹션.

시간 추적 데이터는 빠른 동작이나 사용자 인터페이스로 입력하고 제거합니다. 빠른 동작은 각각 별도의 줄에 입력합니다. 하나의 댓글에서 같은 빠른 동작을 여러 번 사용하면 마지막 항목만 적용됩니다.

권한#

보유한 권한에 따라 사용할 수 있는 시간 추적 기능이 다릅니다.

  • 예상 시간을 추가·편집·제거하려면 이슈와 태스크에서는 Planner, Reporter, Developer, Maintainer, Owner 권한 중 하나가, 머지 리퀘스트에서는 Developer 권한이 필요합니다.
  • 소요 시간을 추가하고 편집하려면 프로젝트에 대한 Planner, Reporter, Developer, Maintainer, Owner 권한 중 하나가 필요합니다.
  • 시간 기록을 삭제하려면 해당 기록의 작성자이거나 Maintainer 또는 Owner 권한이 있어야 합니다.

예상 시간#

예상 시간은 항목을 완료하는 데 필요한 총 시간을 보여 주기 위한 값입니다.

오른쪽 사이드바의 시간 추적 정보 위에 마우스를 올리면 남은 예상 시간을 확인할 수 있습니다.

시간 추적 섹션 위에 마우스를 올렸을 때 표시되는 남은 예상 시간 툴팁.

예상 시간 추가#

사전 요구 사항:

  • 이슈에서는 프로젝트에 대한 Planner, Reporter, Developer, Maintainer, Owner 권한 중 하나가 있어야 합니다.
  • 태스크에서는 프로젝트에 대한 Planner, Reporter, Developer, Maintainer, Owner 권한 중 하나가 있어야 합니다.
  • 머지 리퀘스트에서는 프로젝트에 대한 Developer, Maintainer, Owner 권한 중 하나가 있어야 합니다.

예상 시간을 입력하려면 /estimate 빠른 동작을 사용하고 뒤에 시간을 적습니다.

예를 들어 1개월 2주 3일 4시간 5분을 예상 시간으로 입력하려면 /estimate 1mo 2w 3d 4h 5m을 입력합니다. 사용할 수 있는 시간 단위를 확인합니다.

한 항목에는 예상 시간을 하나만 지정할 수 있습니다. 새 예상 시간을 입력할 때마다 이전 값을 덮어씁니다.

예상 시간 제거#

사전 요구 사항:

  • 이슈에서는 프로젝트에 대한 Planner, Reporter, Developer, Maintainer, Owner 권한 중 하나가 있어야 합니다.
  • 태스크에서는 프로젝트에 대한 Planner, Reporter, Developer, Maintainer, Owner 권한 중 하나가 있어야 합니다.
  • 머지 리퀘스트에서는 프로젝트에 대한 Developer, Maintainer, Owner 권한 중 하나가 있어야 합니다.

예상 시간을 완전히 제거하려면 /remove_estimate 빠른 동작을 사용합니다.

소요 시간#

작업을 진행하면서 사용한 시간을 기록할 수 있습니다.

새로 입력한 소요 시간은 해당 이슈, 태스크, 머지 리퀘스트의 현재 총 소요 시간에 더해집니다.

이슈, 태스크, 머지 리퀘스트의 총 소요 시간은 4년을 초과할 수 없습니다.

소요 시간 추가#

사전 요구 사항:

  • 프로젝트에 대한 Planner, Reporter, Developer, Maintainer, Owner 권한 중 하나가 있어야 합니다.

사용자 인터페이스 사용#

히스토리
  • GitLab 17.0에서 변경되었습니다. 시간을 사용한 시점을 지정하지 않으면 현재 시각이 사용됩니다.

사용자 인터페이스로 시간 기록을 추가하려면 다음 단계를 수행합니다.

  1. 사이드바의 Time tracking 섹션에서 Add time entry (+)를 선택합니다. 대화 상자가 열립니다.

  2. 다음 항목을 입력합니다.

    • 소요 시간
    • 선택 사항. 시간을 사용한 시점. 비워 두면 현재 시각이 사용됩니다.
    • 선택 사항. 요약
  3. Save를 선택합니다.

사이드바의 Spent 합계가 갱신되며, 모든 기록은 시간 추적 보고서에서 확인할 수 있습니다.

빠른 동작 사용#

소요 시간을 입력하려면 /spend 빠른 동작을 사용하고 뒤에 시간을 적습니다.

예를 들어 1개월 2주 3일 4시간 5분을 기록하려면 /spend 1mo 2w 3d 4h 5m을 입력합니다. 사용할 수 있는 시간 단위를 확인합니다.

메모가 포함된 시간 추적 보고서 항목을 추가하려면 설명과 빠른 동작을 함께 적어 댓글을 작성합니다. 그러면 시간 추적 보고서의 Summary/Notes 칼럼에 표시됩니다. 예시는 다음과 같습니다.

Draft MR and respond to initial comments

/spend 30m

시간을 사용한 시점을 기록하려면 시간 뒤에 YYYY-MM-DD 형식으로 날짜를 입력합니다.

예를 들어 2021년 1월 31일에 사용한 1시간을 기록하려면 /spend 1h 2021-01-31을 입력합니다.

미래 날짜를 입력하면 시간이 기록되지 않습니다.

커밋 메시지 사용#

히스토리
  • GitLab 18.3에서 commit_time_tracking이라는 플래그와 함께 도입되었습니다. 기본적으로 비활성화되어 있습니다.
  • GitLab 18.7에서 일반 공개되었습니다. 기능 플래그 commit_time_tracking 이 제거되었습니다.

커밋 메시지에서 곧바로 이슈의 소요 시간을 기록할 수 있습니다. 이 방식을 사용하면 이슈를 따로 수정하지 않고 작업하면서 시간을 추적할 수 있습니다.

커밋 메시지에 소요 시간을 추가하려면 이슈 참조와 함께 @<time> 형식의 시간 추적 마커를 적되, 시간 단위 사이에 공백을 넣지 않습니다.

예시는 다음과 같습니다.

Fix a bug in the login form #123 @1mo2d3h15m

이 커밋 메시지는 이슈 #123에 1개월 2일 3시간 15분의 소요 시간을 추가합니다.

시간 추적 마커는 다음 조건을 충족해야 합니다.

  • @ 기호로 시작합니다.
  • 바로 뒤에 시간 단위를 공백 없이 이어서 적습니다.
  • 월(mo), 일(d), 시간(h), 분(m), 초(s) 단위를 지원합니다.
  • 일반 시간 추적과 동일한 시간 단위를 사용합니다.

시간 추적 정보가 담긴 커밋을 푸시하면 다음 과정이 진행됩니다.

  1. GitLab 이 커밋 메시지에서 소요 시간을 추출합니다.
  2. 같은 커밋 메시지에서 참조한 이슈에 해당 시간이 추가됩니다.
  3. 커밋에서 시간이 추가되었음을 알리는 시스템 메모가 이슈에 추가됩니다.
  4. 시간 추적 항목의 설명에 커밋 SHA와 제목이 포함됩니다.
커밋 작성자 권한#

커밋 작성자가 해당 이슈를 수정할 권한이 있는 경우에만 커밋 메시지의 시간이 이슈에 추가됩니다.

  • 커밋 작성자는 이슈가 있는 프로젝트에 대한 Planner, Reporter, Developer, Maintainer, Owner 권한 중 하나가 있어야 합니다.
  • 작성자에게 충분한 권한이 없으면 해당 커밋의 시간 추적 정보는 무시됩니다.
  • 권한 확인에는 일반 시간 추적과 동일한 규칙이 적용됩니다.
알려진 문제#

한 커밋에 여러 시간 값이 있는 경우

커밋 메시지가 서로 다른 시간 값으로 여러 이슈를 참조하면, 참조된 모든 이슈에 첫 번째 시간 값만 적용됩니다.

예를 들어 다음 커밋 메시지를 살펴봅니다.

Fixes #41 @1h30m and fixes #40 @2h

이 메시지는 이슈 #41과 이슈 #40 양쪽에 1h30m을 추가합니다. 두 번째 시간 값(@2h)은 무시됩니다.

커밋 SHA 변경으로 인한 중복 시간 기록

커밋의 SHA가 변경되면(예: 리베이스나 어멘드 이후) GitLab은 시간 추적에서 이를 새 커밋으로 간주합니다. 원래 커밋과 새 커밋이 모두 이슈에서 참조되면 시간 기록이 중복될 수 있습니다.

커밋 SHA가 변경될 수 있는 상황에서 시간 기록 중복을 피하려면 다음과 같이 대응합니다.

  • 커밋 메시지 대신 UI 나 빠른 동작으로 이슈에 직접 시간을 추가합니다.
  • 시간 추적에 커밋 메시지를 사용해야 한다면, 브랜치 히스토리가 확정된 뒤에만 시간을 추가합니다.
  • 머지하기 전에 이슈의 시간 추적 보고서를 확인해 중복 가능성이 있는 기록을 찾아 제거합니다.

머지 리퀘스트에서 중복 시간 추적 방지#

시간 추적 정보가 담긴 커밋이 포함된 머지 리퀘스트를 머지할 때, GitLab은 시간이 중복 추적되지 않도록 다음과 같이 처리합니다.

  • 같은 커밋 메시지가 리포지터리 히스토리에 여러 번 나타나더라도 커밋당 한 번만 시간을 추적합니다.
  • GitLab은 같은 커밋 제목과 ID를 가진 시간 기록이 이슈에 이미 있는지 확인해 중복 추적을 방지합니다.
  • 커밋이 머지될 때는 시간이 추가로 추적되지 않습니다. 이를 통해 기능 브랜치가 기본 브랜치로 머지될 때 시간이 이중으로 집계되지 않습니다.

소요 시간 빼기#

사전 요구 사항:

  • 프로젝트에 대한 Planner, Reporter, Developer, Maintainer, Owner 권한 중 하나가 있어야 합니다.

시간을 빼려면 음수 값을 입력합니다. 예를 들어 /spend -3d는 총 소요 시간에서 3일을 뺍니다. 소요 시간은 0분 미만이 될 수 없으므로, 이미 입력된 시간보다 더 많은 시간을 빼면 GitLab 이 해당 차감을 무시합니다.

소요 시간 삭제#

타임로그는 양수 또는 음수로 기록된 소요 시간 한 건을 가리킵니다.

사전 요구 사항:

  • 해당 타임로그의 작성자이거나 프로젝트에 대한 Maintainer 또는 Owner 권한이 있어야 합니다.

타임로그를 삭제하려면 다음 중 하나를 수행합니다.

  • 시간 추적 보고서에서 타임로그 항목 오른쪽의 Delete time spent ([remove])를 선택합니다.
  • GraphQL API를 사용합니다.

모든 소요 시간 삭제#

사전 요구 사항:

  • 프로젝트에 대한 Planner, Reporter, Developer, Maintainer, Owner 권한 중 하나가 있어야 합니다.

모든 소요 시간을 한 번에 삭제하려면 /remove_time_spent 빠른 동작을 사용합니다.

항목의 시간 추적 보고서 보기#

항목에 사용한 시간의 시간 추적 보고서를 보려면 다음 단계를 수행합니다.

  • 오른쪽 사이드바에서 Spent 옆의 시간을 선택합니다.

소요 시간의 개별 기록을 보여 주는 시간 추적 보고서.

표시되는 소요 시간 상세 내역은 최대 100건으로 제한됩니다.

전체 시간 추적 보고서#

히스토리
  • GitLab 15.11에서 global_time_tracking_report라는 기능 플래그와 함께 도입되었습니다. 기본적으로 비활성화되어 있습니다.
  • GitLab 16.5에서 GitLab.com에 활성화되었습니다.
Feature flag

GitLab Self-Managed에서는 기본적으로 이 기능을 사용할 수 없습니다. 사용하려면 관리자가 global_time_tracking_report라는 기능 플래그를 활성화하면 됩니다. GitLab.com에서는 이 기능을 사용할 수 있습니다. GitLab Dedicated에서는 사용할 수 없습니다. 이 기능은 운영 환경에서 사용할 준비가 되지 않았습니다.

GitLab 전체의 이슈, 태스크, 머지 리퀘스트에 사용한 시간 보고서를 확인합니다.

이 기능은 실험 기능입니다. 버그를 발견하면 피드백 이슈에 추가합니다.

전체 시간 추적 보고서를 보려면 다음 단계를 수행합니다.

  1. 브라우저에서 전체 보고서의 URL을 입력합니다.
    • GitLab Self-Managed에서는 기본 URL 뒤에 /-/timelogs를 붙입니다. 예를 들어 https://gitlab.example.com/-/timelogs 입니다.
    • GitLab.com에서는 https://gitlab.com/-/timelogs로 이동합니다.
  2. 선택 사항. 특정 사용자로 필터링하려면 @ 기호 없이 사용자 이름을 입력합니다.
  3. 시작 날짜와 종료 날짜를 선택합니다.
  4. Run report를 선택합니다.

여러 항목의 필터와 결과를 보여 주는 전체 시간 추적 보고서 페이지.

사용 가능한 시간 단위#

다음 시간 단위를 사용할 수 있습니다.

시간 단위 입력할 내용 환산율
월 mo, month, 또는 months 4주 (160시간)
주 w, week, 또는 weeks 5일 (40시간)
일 d, day, 또는 days 8시간
시간 h, hour, 또는 hours 60분
분 m, minute, 또는 minutes

표시 단위를 시간으로 제한#

GitLab 관리자는 시간 단위 표시를 시간 단위로만 제한할 수 있습니다. 방법은 다음과 같습니다.

  1. 오른쪽 위에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Settings > Preferences를 선택합니다.
  3. Localization을 확장합니다.
  4. Time tracking에서 Limit display of time tracking units to hours 체크박스를 선택합니다.
  5. Save changes를 선택합니다.

이 옵션을 켜면 1w 4d 3h 대신 75h가 표시됩니다.

관련 주제#