136 lines
5.2 KiB
Markdown
136 lines
5.2 KiB
Markdown
---
|
|
type: reference
|
|
disqus_identifier: 'https://docs.gitlab.com/ee/workflow/time_tracking.html'
|
|
stage: Plan
|
|
group: Project Management
|
|
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
|
---
|
|
|
|
# Time tracking **(FREE)**
|
|
|
|
With time tracking you can track estimates and time spent on issues and merge
|
|
requests in GitLab.
|
|
|
|
Use time tracking for these tasks:
|
|
|
|
- Record the time spent working on an issue or a merge request.
|
|
- Add or update an estimate of the total time to complete an issue or a merge
|
|
request.
|
|
- View a breakdown of time spent working on an issue or a merge request.
|
|
|
|
You don't have to indicate an estimate to enter the time spent, and vice versa.
|
|
|
|
Data about time tracking shows up on the issue and merge request sidebar:
|
|
|
|
![Time tracking in the sidebar](img/time_tracking_sidebar_v13_12.png)
|
|
|
|
## How to enter data
|
|
|
|
Time tracking uses two [quick actions](quick_actions.md): `/spend` and `/estimate`.
|
|
|
|
If you use either quick action more than once in a single comment, only the last occurrence is applied.
|
|
|
|
Below is an example of how you can use those new quick actions inside a comment.
|
|
|
|
![Time tracking example in a comment](img/time_tracking_example_v12_2.png)
|
|
|
|
Adding time entries (time spent or estimates) is limited to project members
|
|
with [Reporter and higher permission levels](../permissions.md).
|
|
|
|
### Estimates
|
|
|
|
To enter an estimate, type `/estimate`, followed by the time.
|
|
|
|
For example, if you need to enter an estimate of 1 month, 2 weeks, 3 days, 4 hours, and 5 minutes,
|
|
type `/estimate 1mo 2w 3d 4h 5m`.
|
|
Check the [time units you can use](#configuration).
|
|
|
|
The estimate is designed to show the total estimated time. The estimated
|
|
time remaining is automatically calculated and displayed when hovering over
|
|
the time tracking information in the right sidebar.
|
|
|
|
![Estimated time remaining](img/remaining_time_v14_2.png)
|
|
|
|
An issue or a merge request can have only one estimate. Every time you enter a
|
|
new time estimate, it overwrites the previous value.
|
|
|
|
To remove an estimation entirely, use `/remove_estimate`.
|
|
|
|
### Time spent
|
|
|
|
To enter time spent, type `/spend`, followed by the time.
|
|
|
|
For example, if you need
|
|
to log 1 month, 2 weeks, 3 days, 4 hours, and 5 minutes, type `/spend 1mo 2w 3d 4h 5m`.
|
|
Check the [time units you can use](#configuration).
|
|
|
|
Every new time spent entry is added to the current total time spent for the
|
|
issue or the merge request.
|
|
|
|
To subtract time, enter a negative value. For example, `/spend -3d` removes three
|
|
days from the total time spent. You can't go below 0 minutes of time spent,
|
|
so if you remove more time than already entered, GitLab ignores the subtraction.
|
|
|
|
You can log time in the past by providing a date after the time.
|
|
For example, if you want to log 1 hour of time spent on the 31 January 2021,
|
|
you would type `/spend 1h 2021-01-31`. If you supply a date in the future, the
|
|
command fails and no time is logged.
|
|
|
|
To remove all the time spent at once, use `/remove_time_spent`.
|
|
|
|
## View a time tracking report
|
|
|
|
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/271409) in GitLab 13.12.
|
|
|
|
You can view a breakdown of time spent on an issue or merge request.
|
|
|
|
Prerequisites:
|
|
|
|
- You must have at least the [Reporter role](../permissions.md#project-members-permissions) for a project.
|
|
|
|
To view a time tracking report, go to an issue or a merge request and select **Time tracking report**
|
|
in the right sidebar.
|
|
|
|
![Time tracking report](img/time_tracking_report_v13_12.png)
|
|
|
|
The breakdown of spent time is limited to a maximum of 100 entries.
|
|
|
|
## Configuration
|
|
|
|
The following time units are available:
|
|
|
|
| Time unit | What to type | Default conversion rate |
|
|
| --------- | ------------ | ----------------------- |
|
|
| Month | `mo` | 4w |
|
|
| Week | `w` | 5d |
|
|
| Day | `d` | 8h |
|
|
| Hour | `h` | 60m |
|
|
| Minute | `m` | |
|
|
|
|
### Limit displayed units to hours **(FREE SELF)**
|
|
|
|
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/29469/) in GitLab 12.1.
|
|
|
|
In GitLab self-managed instances, you can limit the display of time units to
|
|
hours.
|
|
To do so:
|
|
|
|
1. On the top bar, select **Menu >** **{admin}** **Admin**.
|
|
1. On the left sidebar, select **Settings > Preferences**.
|
|
1. Expand **Localization**.
|
|
1. Under **Time tracking**, select the **Limit display of time tracking units to hours** checkbox.
|
|
1. Select **Save changes**.
|
|
|
|
With this option enabled, `75h` is displayed instead of `1w 4d 3h`.
|
|
|
|
## Related links
|
|
|
|
- [Time tracking solutions page](https://about.gitlab.com/solutions/time-tracking/)
|
|
- Time tracking GraphQL references:
|
|
- [Connection](../../api/graphql/reference/index.md#timelogconnection)
|
|
- [Edge](../../api/graphql/reference/index.md#timelogedge)
|
|
- [Fields](../../api/graphql/reference/index.md#timelog)
|
|
- [Timelogs](../../api/graphql/reference/index.md#querytimelogs)
|
|
- [Group timelogs](../../api/graphql/reference/index.md#grouptimelogs)
|
|
- [Project Timelogs](../../api/graphql/reference/index.md#projecttimelogs)
|
|
- [User Timelogs](../../api/graphql/reference/index.md#usertimelogs)
|