debian-mirror-gitlab/doc/user/project/time_tracking.md

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

208 lines
7.2 KiB
Markdown
Raw Normal View History

2019-12-26 22:10:19 +05:30
---
type: reference
disqus_identifier: 'https://docs.gitlab.com/ee/workflow/time_tracking.html'
2020-06-23 00:09:42 +05:30
stage: Plan
group: Project Management
2022-11-25 23:54:43 +05:30
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
2019-12-26 22:10:19 +05:30
---
2021-09-30 23:02:18 +05:30
# Time tracking **(FREE)**
2019-12-26 22:10:19 +05:30
2022-04-04 11:22:00 +05:30
You can estimate and track the time you spend on [issues](issues/index.md)
and [merge requests](merge_requests/index.md).
Then you can [view a report](#view-a-time-tracking-report) that shows totals over time.
2019-12-26 22:10:19 +05:30
2021-09-30 23:02:18 +05:30
Use time tracking for these tasks:
2019-12-26 22:10:19 +05:30
- Record the time spent working on an issue or a merge request.
2021-10-27 15:23:28 +05:30
- Add or update an estimate of the total time to complete an issue or a merge
2022-04-04 11:22:00 +05:30
request.
2021-09-04 01:27:46 +05:30
- View a breakdown of time spent working on an issue or a merge request.
2019-12-26 22:10:19 +05:30
You don't have to indicate an estimate to enter the time spent, and vice versa.
2022-04-04 11:22:00 +05:30
To enter and remove time tracking data, you must use [quick actions](quick_actions.md).
Type all quick actions on their own lines.
If you use any quick action more than once in a single comment, only its last occurrence is applied.
You can see the data about time tracking on the right sidebar in issues and merge requests:
2019-12-26 22:10:19 +05:30
2021-06-08 01:23:25 +05:30
![Time tracking in the sidebar](img/time_tracking_sidebar_v13_12.png)
2019-12-26 22:10:19 +05:30
2022-04-04 11:22:00 +05:30
## Estimates
2019-12-26 22:10:19 +05:30
2022-04-04 11:22:00 +05:30
The estimate is designed to show the total time needed to complete an issue or merge request.
2019-12-26 22:10:19 +05:30
2022-04-04 11:22:00 +05:30
You can see the estimated time remaining when you hover over the time tracking information in the right sidebar.
2019-12-26 22:10:19 +05:30
2022-04-04 11:22:00 +05:30
![Estimated time remaining](img/remaining_time_v14_2.png)
2019-12-26 22:10:19 +05:30
2022-04-04 11:22:00 +05:30
### Add an estimate
2019-12-26 22:10:19 +05:30
2022-04-04 11:22:00 +05:30
Prerequisites:
2019-12-26 22:10:19 +05:30
2023-04-23 21:23:45 +05:30
- In issues, you must have at least the Reporter role for the project.
- In merge requests, you must have at least the Developer role for the project.
2019-12-26 22:10:19 +05:30
2022-04-04 11:22:00 +05:30
To enter an estimate, use the `/estimate` [quick action](quick_actions.md), followed by the time.
2021-09-30 23:02:18 +05:30
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`.
2022-04-04 11:22:00 +05:30
Check the [time units you can use](#available-time-units).
2019-12-26 22:10:19 +05:30
2022-04-04 11:22:00 +05:30
An issue or a merge request can have only one estimate.
Every time you enter a new time estimate, it overwrites the previous value.
2021-10-27 15:23:28 +05:30
2022-04-04 11:22:00 +05:30
### Remove an estimate
2021-10-27 15:23:28 +05:30
2022-04-04 11:22:00 +05:30
Prerequisites:
2019-12-26 22:10:19 +05:30
2023-04-23 21:23:45 +05:30
- In issues, you must have at least the Reporter role for the project.
- In merge requests, you must have at least the Developer role for the project.
2019-12-26 22:10:19 +05:30
2022-04-04 11:22:00 +05:30
To remove an estimate entirely, use the `/remove_estimate` [quick action](quick_actions.md).
2019-12-26 22:10:19 +05:30
2022-04-04 11:22:00 +05:30
## Time spent
2021-09-30 23:02:18 +05:30
2022-04-04 11:22:00 +05:30
As you work, you can log the time you've spent.
2019-12-26 22:10:19 +05:30
2021-02-22 17:27:13 +05:30
Every new time spent entry is added to the current total time spent for the
2019-12-26 22:10:19 +05:30
issue or the merge request.
2022-04-04 11:22:00 +05:30
### Add time spent
2019-12-26 22:10:19 +05:30
2022-04-04 11:22:00 +05:30
Prerequisites:
- You must have at least the Reporter role for the project.
2023-03-04 22:38:38 +05:30
#### Using the user interface
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/101563) in GitLab 15.7.
To add a time entry using the user interface:
1. In the **Time tracking** section of the sidebar, select **Add time entry** (**{plus}**). A modal opens.
1. Enter:
- The amount of time spent.
- Optional. When it was spent.
- Optional. A summary.
1. Select **Save**.
The **Spent** total in the sidebar is updated and you can view all entries in a [time tracking report](#view-a-time-tracking-report).
#### Using a quick action
2022-04-04 11:22:00 +05:30
To enter time spent, use the `/spend` [quick action](quick_actions.md), 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](#available-time-units).
2021-04-29 21:17:54 +05:30
2022-04-04 11:22:00 +05:30
To add a [time tracking report](#view-a-time-tracking-report) entry with a note, create a comment
with a description and the quick action.
It then shows in the time tracking report **Summary/Notes** column. For example:
2022-03-02 08:16:31 +05:30
```plaintext
Draft MR and respond to initial comments
/spend 30m
```
2023-03-04 22:38:38 +05:30
To log when time was spent, enter a date after the time, using the `YYYY-MM-DD` format.
2022-04-04 11:22:00 +05:30
For example, to log 1 hour of time spent on 31 January 2021,
2023-03-04 22:38:38 +05:30
enter `/spend 1h 2021-01-31`.
2022-04-04 11:22:00 +05:30
If you type a future date, no time is logged.
2022-07-23 23:45:48 +05:30
### Subtract time spent
2022-04-04 11:22:00 +05:30
Prerequisites:
- You must have at least the Reporter role for the project.
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.
2022-07-16 23:28:13 +05:30
### Delete time spent
2022-07-23 23:45:48 +05:30
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/356796) in GitLab 14.10.
> - Delete button [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/356796) in GitLab 15.1.
2022-07-16 23:28:13 +05:30
A timelog is a single entry of time spent, either positive or negative.
Prerequisites:
- You must be the author of the timelog or have at least the Maintainer role for the project.
2022-07-23 23:45:48 +05:30
To delete a timelog, either:
- In the time tracking report, on the right of a timelog entry, select **Delete time spent** (**{remove}**).
- Use the [GraphQL API](../../api/graphql/reference/index.md#mutationtimelogdelete).
### Delete all the time spent
Prerequisites:
- You must have at least the Reporter role for the project.
To delete all the time spent at once, use the `/remove_time_spent` [quick action](quick_actions.md).
2022-07-16 23:28:13 +05:30
2021-06-08 01:23:25 +05:30
## 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.
2022-04-04 11:22:00 +05:30
To view a time tracking report:
2021-09-04 01:27:46 +05:30
2022-04-04 11:22:00 +05:30
1. Go to an issue or a merge request.
1. In the right sidebar, select **Time tracking report**.
2021-06-08 01:23:25 +05:30
2022-07-23 23:45:48 +05:30
![Time tracking report](img/time_tracking_report_v15_1.png)
2021-06-08 01:23:25 +05:30
The breakdown of spent time is limited to a maximum of 100 entries.
2022-04-04 11:22:00 +05:30
## Available time units
2019-12-26 22:10:19 +05:30
The following time units are available:
2022-04-04 11:22:00 +05:30
| Time unit | What to type | Conversion rate |
| --------- | --------------------------- | --------------- |
2023-04-23 21:23:45 +05:30
| Month | `mo`, `month`, or `months` | 4 w (160 h) |
| Week | `w`, `week`, or `weeks` | 5 d (40 h) |
| Day | `d`, `day`, or `days` | 8 h |
| Hour | `h`, `hour`, or `hours` | 60 m |
2022-04-04 11:22:00 +05:30
| Minute | `m`, `minute`, or `minutes` | |
2019-12-26 22:10:19 +05:30
2021-03-11 19:13:27 +05:30
### Limit displayed units to hours **(FREE SELF)**
2019-12-26 22:10:19 +05:30
2020-03-13 15:44:24 +05:30
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/29469/) in GitLab 12.1.
2019-12-26 22:10:19 +05:30
2022-04-04 11:22:00 +05:30
In GitLab self-managed instances, you can limit the display of time units to hours.
2021-09-04 01:27:46 +05:30
To do so:
2022-10-11 01:57:18 +05:30
1. On the top bar, select **Main menu > Admin**.
2021-09-04 01:27:46 +05:30
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**.
2019-12-26 22:10:19 +05:30
With this option enabled, `75h` is displayed instead of `1w 4d 3h`.
2022-01-26 12:08:38 +05:30
## Related topics
2019-12-26 22:10:19 +05:30
2021-09-30 23:02:18 +05:30
- [Time tracking solutions page](https://about.gitlab.com/solutions/time-tracking/)
- Time tracking GraphQL references:
2021-06-08 01:23:25 +05:30
- [Connection](../../api/graphql/reference/index.md#timelogconnection)
- [Edge](../../api/graphql/reference/index.md#timelogedge)
- [Fields](../../api/graphql/reference/index.md#timelog)
2021-10-27 15:23:28 +05:30
- [Timelogs](../../api/graphql/reference/index.md#querytimelogs)
2021-09-30 23:02:18 +05:30
- [Group timelogs](../../api/graphql/reference/index.md#grouptimelogs)
2021-10-27 15:23:28 +05:30
- [Project Timelogs](../../api/graphql/reference/index.md#projecttimelogs)
- [User Timelogs](../../api/graphql/reference/index.md#usertimelogs)