Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue time estimate, meaningful time tracking #23113

Open
wants to merge 104 commits into
base: main
Choose a base branch
from

Conversation

stuzer05
Copy link

@stuzer05 stuzer05 commented Feb 24, 2023

This pr does:

  1. Adds functionality to set estimated time for issues similar to Jira (in "1w 3d 15h 30m" format)
  2. Now it's possible to view exact tracking time both logged, total and per-user (estimated time is not useful for tracking)
  3. Replaces Stopwatch "Add time" form from Hours and MInutes to Jira-like input in "1w 3d 15h 30m" format
  4. Adds ability to localize all time tracking issue comments in the future
  5. Removes meaningless seconds from tracking display information
  6. Makes time logging comments the same style as other comments (no new line and icon)

image
image

Why?

Time estimation is essential for some teams to know the importance of issues, the amount of effort an issue would take. And for business to know if it's profitable to spend money on developers time to implement an issue

More info on https://support.atlassian.com/jira-software-cloud/docs/estimate-an-issue/#Concepts-about-estimation

Closes #23112

@lunny lunny added the type/feature Completely new functionality. Can only be merged if feature freeze is not active. label Feb 24, 2023
@lunny lunny added this to the 1.20.0 milestone Feb 24, 2023
Copy link
Member

@yardenshoham yardenshoham left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

models/issues/comment.go Outdated Show resolved Hide resolved
options/locale/locale_ru-RU.ini Outdated Show resolved Hide resolved
options/locale/locale_uk-UA.ini Outdated Show resolved Hide resolved
routers/web/repo/issue.go Outdated Show resolved Hide resolved
services/issue/issue.go Outdated Show resolved Hide resolved
services/issue/issue.go Outdated Show resolved Hide resolved
services/issue/issue.go Outdated Show resolved Hide resolved
@GiteaBot GiteaBot added lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. labels Feb 24, 2023
@stuzer05 stuzer05 changed the title #23112 Ability to add issue plan time #23112 Ability to add issue time estimate Feb 24, 2023
@yardenshoham
Copy link
Member

I suggest you remove the issue number from the title and add Closes #23112 to the PR description. Also mark this PR as draft while you're working on it.

Copy link
Contributor

@wxiaoguang wxiaoguang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I understand correctly: the feature is good, the UI needs some new design.

I will try to make some improvements later (especially the UI part, to reduce UI complexity), maybe we could try to get this in 1.23

@wxiaoguang wxiaoguang added this to the 1.23.0 milestone Jun 17, 2024
@wxiaoguang wxiaoguang self-assigned this Jun 17, 2024
@wxiaoguang
Copy link
Contributor

wxiaoguang commented Jun 17, 2024

@lafriks the "change request" seems outdated (#23113 (review)), I think we could dismiss it.

I will do some following improvements, and let's re-review again then.

@lafriks
Copy link
Member

lafriks commented Jun 17, 2024

Not really, my concern was not addressed at all, currently estimate if I set a 5 days will be 24*5 hours that is not how estimates are expected in project management and this way they cannot be compared to time tracking with actual time spent to be useful. In project management when you estimate that the task requires 5 days to implement usually mean that 5 working days (5*8h or 5*7h etc depending on the company/country etc). My proposal would be to display estimate only in hours&minutes and later on implement other math behind this using org/global settings etc

@wxiaoguang
Copy link
Contributor

My proposal would be to display estimate only in hours&minutes

Agree, hour&minute is good enough for this feature IMO. Does anyone else have other suggestions? If no, I will do it this way.

@wxiaoguang
Copy link
Contributor

My proposal would be to display estimate only in hours&minutes

Agree, hour&minute is good enough for this feature IMO. Does anyone else have other suggestions? If no, I will do it this way.

Update: sorry but I guess I wouldn't have enough time on this issue, recently there are many things in life that need to be dealt with so I can't promise when I would have time. Feel free to work on it if any one has time 🙏

@wxiaoguang wxiaoguang removed their assignment Jun 28, 2024
models/issues/issue.go Outdated Show resolved Hide resolved
routers/web/repo/issue.go Outdated Show resolved Hide resolved
)

// TimeEstimateFromStr returns time estimate in seconds from formatted string
func TimeEstimateFromStr(timeStr string) int64 {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

adding tests for this function would be awesome!

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will work on it

@lunny lunny modified the milestones: 1.23.0, 1.24.0 Sep 26, 2024
@pull-request-size pull-request-size bot added size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Nov 22, 2024
@pull-request-size pull-request-size bot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Nov 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lgtm/blocked A maintainer has reservations with the PR and thus it cannot be merged modifies/go Pull requests that update Go code modifies/migrations modifies/templates This PR modifies the template files modifies/translation outdated/theme/timetracker size/L Denotes a PR that changes 100-499 lines, ignoring generated files. type/feature Completely new functionality. Can only be merged if feature freeze is not active.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Issue time estimate, meaningful time tracking