시간 추적
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 권한이 있어야 합니다.
사용자 인터페이스 사용#
사용자 인터페이스를 사용하여 시간 항목을 추가하려면:
-
사이드바의 Time tracking 섹션에서 Add time entry (+)를 선택하세요. 다이얼로그가 열립니다.
-
다음을 입력하세요:
- 소요 시간.
- 선택 사항. 언제 소요되었는지. 비어 있으면 현재 시간을 사용합니다.
- 선택 사항. 요약.
-
Save를 선택하세요.
사이드바의 Spent 합계가 업데이트되고 시간 추적 보고서에서 모든 항목을 볼 수 있습니다.
빠른 동작 사용#
소요 시간을 입력하려면 /spend 빠른 동작에 이어 시간을 입력하세요.
예를 들어 1개월, 2주, 3일, 4시간, 5분을 기록해야 하는 경우 /spend 1mo 2w 3d 4h 5m을 입력하세요. 사용 가능한 시간 단위를 확인하세요.
메모가 있는 시간 추적 보고서 항목을 추가하려면 설명과 빠른 동작이 있는 댓글을 작성하세요. 그러면 시간 추적 보고서의 Summary/Notes 열에 표시됩니다. 예:
MR 초안 작성 및 초기 댓글 응답
/spend 30m
시간이 소요된 날짜를 기록하려면 YYYY-MM-DD 형식으로 시간 뒤에 날짜를 입력하세요.
예를 들어 2021년 1월 31일에 소요된 1시간을 기록하려면 /spend 1h 2021-01-31을 입력하세요.
미래 날짜를 입력하면 시간이 기록되지 않습니다.
커밋 메시지 사용#
히스토리
이슈에 소요된 시간을 커밋 메시지에 직접 기록할 수 있습니다. 이 방법은 이슈를 별도로 업데이트하지 않고 작업하면서 시간을 추적할 때 유용합니다.
커밋 메시지에 소요 시간을 추가하려면 이슈 참조와 시간 단위 사이에 공백 없이 @<time> 형식의 시간 추적 마커를 포함하세요.
예:
로그인 양식의 버그 수정 #123 @1mo2d3h15m
이 커밋 메시지는 이슈 #123에 1개월, 2일, 3시간, 15분의 소요 시간을 추가합니다.
시간 추적 마커는:
@기호로 시작해야 합니다.- 사이에 공백 없이 바로 시간 단위를 따라야 합니다.
- 다음 시간 단위를 지원합니다: 월(
mo), 일(d), 시간(h), 분(m), 초(s). - 일반 시간 추적과 동일한 시간 단위를 사용합니다.
시간 추적 정보가 있는 커밋을 푸시하면:
- GitLab이 커밋 메시지에서 소요 시간을 추출합니다.
- 동일한 커밋 메시지에서 참조된 이슈에 시간이 추가됩니다.
- 커밋에서 시간이 추가되었음을 나타내는 시스템 노트가 이슈에 추가됩니다.
- 시간 추적 항목에는 커밋 SHA와 제목이 설명으로 포함됩니다.
커밋 작성자 권한#
커밋 메시지의 시간은 커밋 작성자가 이슈를 업데이트할 권한이 있는 경우에만 이슈에 추가됩니다:
- 커밋 작성자는 이슈가 있는 프로젝트에 대한 Planner, Reporter, Developer, Maintainer 또는 Owner 권한이 있어야 합니다.
- 작성자에게 충분한 권한이 없으면 커밋의 시간 추적 정보가 무시됩니다.
- 권한 검사는 일반 시간 추적과 동일한 규칙을 사용합니다.
알려진 이슈#
하나의 커밋에서 여러 시간 양
커밋 메시지가 다른 시간 양으로 여러 이슈를 참조하는 경우 첫 번째 시간 양만 참조된 모든 이슈에 적용됩니다.
예를 들어 다음 커밋 메시지는:
이슈 #41 @1h30m 수정 및 이슈 #40 @2h 수정
이슈 #41과 이슈 #40 모두에 1h30m을 추가합니다. 두 번째 시간 양(@2h)은 무시됩니다.
커밋 SHA 변경으로 인한 중복 시간 항목
커밋의 SHA가 변경되면(예: 리베이스 또는 수정 후) GitLab은 시간 추적을 위해 새 커밋으로 처리합니다. 원래 커밋과 새 커밋 모두 이슈에서 참조되는 경우 중복 시간 항목이 생성될 수 있습니다.
커밋 SHA가 변경될 수 있는 경우 중복 시간 항목을 방지하려면:
- 커밋 메시지 대신 UI나 빠른 동작을 사용하여 이슈에 직접 시간을 추가하세요.
- 시간 추적을 위해 커밋 메시지를 사용해야 하는 경우 브랜치 히스토리가 확정된 후에만 시간을 추가하세요.
- 병합하기 전에 이슈의 시간 추적 보고서를 확인하여 잠재적인 중복을 파악하고 제거하세요.
머지 리퀘스트에서 중복 시간 추적 방지#
시간 추적 정보가 포함된 커밋이 있는 머지 리퀘스트를 병합하면 GitLab이 중복 시간 추적을 방지합니다:
- 동일한 커밋 메시지가 리포지터리 히스토리에 여러 번 나타나더라도 커밋당 시간은 한 번만 추적됩니다.
- GitLab은 이슈에 동일한 커밋 제목과 ID를 가진 시간 항목이 이미 있는지 확인하여 중복 시간 추적을 방지합니다.
- 커밋이 병합되면 추가 시간이 추적되지 않습니다. 이는 기능 브랜치가 기본 브랜치로 병합될 때 시간이 두 번 계산되는 것을 방지합니다.
소요 시간 빼기#
사전 요구 사항:
- 프로젝트에 대한 Planner, Reporter, Developer, Maintainer 또는 Owner 권한이 있어야 합니다.
시간을 빼려면 음수 값을 입력하세요. 예를 들어 /spend -3d는 총 소요 시간에서 3일을 제거합니다. 소요 시간은 0분 미만으로 내려갈 수 없으므로 이미 입력된 것보다 더 많은 시간을 제거하면 GitLab이 빼기를 무시합니다.
소요 시간 삭제#
히스토리
- GitLab 15.1에서 삭제 버튼 도입.
타임로그는 양수 또는 음수일 수 있는 소요 시간의 단일 항목입니다.
사전 요구 사항:
- 타임로그의 작성자이거나 프로젝트에 대한 Maintainer 또는 Owner 권한이 있어야 합니다.
타임로그를 삭제하려면 다음 중 하나를 수행하세요:
- 시간 추적 보고서에서 타임로그 항목 오른쪽에 있는 Delete time spent ([remove])를 선택하세요.
- GraphQL API를 사용하세요.
모든 소요 시간 삭제#
사전 요구 사항:
- 프로젝트에 대한 Planner, Reporter, Developer, Maintainer 또는 Owner 권한이 있어야 합니다.
모든 소요 시간을 한 번에 삭제하려면 /remove_time_spent 빠른 동작을 사용하세요.
항목의 시간 추적 보고서 보기#
항목의 소요 시간 추적 보고서를 보려면:
- 오른쪽 사이드바에서 Spent 옆의 시간을 선택하세요.
![]()
표시된 소요 시간 분석은 최대 100개 항목으로 제한됩니다.
전체 시간 추적 보고서#
히스토리
GitLab Self-Managed에서는 기본적으로 이 기능을 사용할 수 없습니다. 사용 가능하게 하려면 관리자가 global_time_tracking_report라는 기능 플래그를 활성화할 수 있습니다.
GitLab.com에서 이 기능을 사용할 수 있습니다. GitLab Dedicated에서는 이 기능을 사용할 수 없습니다.
이 기능은 프로덕션 사용 준비가 되어 있지 않습니다.
GitLab 전체의 이슈, 태스크 및 머지 리퀘스트에 소요된 시간 보고서를 봅니다.
이 기능은 실험적입니다. 버그를 발견하면 피드백 이슈에서 알려주세요.
전체 시간 추적 보고서를 보려면:
- 브라우저에서 전체 보고서의 URL을 입력하세요:
- GitLab Self-Managed의 경우 기본 URL에
/-/timelogs를 추가하세요. 예:https://gitlab.example.com/-/timelogs. - GitLab.com의 경우 https://gitlab.com/-/timelogs로 이동하세요.
- GitLab Self-Managed의 경우 기본 URL에
- 선택 사항. 특정 사용자로 필터링하려면
@기호 없이 사용자 이름을 입력하세요. - 시작 및 종료 날짜를 선택하세요.
- Run report를 선택하세요.

사용 가능한 시간 단위#
다음 시간 단위를 사용할 수 있습니다:
| 시간 단위 | 입력할 내용 | 환산율 |
|---|---|---|
| 월 | mo, month, 또는 months |
4주 (160시간) |
| 주 | w, week, 또는 weeks |
5일 (40시간) |
| 일 | d, day, 또는 days |
8시간 |
| 시간 | h, hour, 또는 hours |
60분 |
| 분 | m, minute, 또는 minutes |
표시 단위를 시간으로 제한#
GitLab 관리자는 시간 단위 표시를 시간으로 제한할 수 있습니다. 이렇게 하려면:
- 오른쪽 상단 모서리에서 Admin을 선택하세요.
- Settings > Preferences를 선택하세요.
- Localization을 펼치세요.
- Time tracking에서 Limit display of time tracking units to hours 체크박스를 선택하세요.
- Save changes를 선택하세요.
이 옵션을 활성화하면 1w 4d 3h 대신 75h가 표시됩니다.
관련 주제#
- 시간 추적 GraphQL 참조:
