[FE] Issue analytics : Velocity MVC

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Problem to solve

  • Teams want to know velocity information for planning & predictability
  • Closed vs resolved (#241383) is a pretty big change

This is the frontend issue.

The backend issue is #267597 (closed)

Intended users

User experience goal

Screenshot_2020-10-13_at_17.17._2x

Proposal

Now:

  1. Add to issue analytics at group-level first
  2. Add tab to issue analytics (Overview | Velocity)
  3. Add area chart showing velocity over the last 52 weeks (weeks instead of months)

Later:

  • Add filter bar
  • Persist filters while moving between tabs
  • Duplicate functionality at project-level

How to retrieve data from backend.

The issue is 95% similar to Throughput chart page so you can check it's implementation as a good base. In !45415 (merged) we improved GraphQL with ability to retrieve total weight of issues requested. Example usage:

# for group 
{
  group(fullPath: "gitlab-org") {
    Sep_2020: issues(first: 0, closedAfter: "2020-09-01", closedBefore: "2020-10-01") { weight }
    Oct_2020: issues(first: 0, closedAfter: "2020-10-01", closedBefore: "2020-11-01") { weight }
  }
}
# or for project
{
  project(fullPath: "gitlab-org/gitlab") {
    Sep_2020: issues(first: 0, closedAfter: "2020-09-01", closedBefore: "2020-10-01") { weight }
    Oct_2020: issues(first: 0, closedAfter: "2020-10-01", closedBefore: "2020-11-01") { weight }
  }
}

Links / references

Edited by 🤖 GitLab Bot 🤖