We've shipped Cycle Analytics in 8.12 and we are going to make it better. It would be great to display all the events for each of the stage of Cycle analytics for a project.
Specification
The "events" per stage stay the same as previously defined.
Issue: list of issues created in the last XX days, that have been labeled or added to a milestone.
Plan: list of commits that reference for the fist time an issue from the last stage.
Code: list of MR created in this stage
Test: List of unique builds triggered by the commits.
Review: List of MR merged
Staging: List of deployed builds
Production: list of issues with the time from idea to production
Design
Issue
Plan
Code
Test
Review
Staging
Production
Issue
Plan
Code
Test
Review
Staging
Production
Tooltip pattern
Designs
An error occurred while loading designs. Please try again.
Child items
0
Show closed items
GraphQL error: The resource that you are attempting to access does not exist or you don't have permission to perform this action
No child items are currently open.
Linked items
0
Link issues together to show that they're related or that one is blocking others.
Learn more.
It's important that we know, bc perhaps would be necessary to update the documentation and the post. If not, I'd also tell Amara she doesn't need to review it. ;)
@regisF random thought! Would enough data be confusing for users? They may think they just need to do more pushes, MRs, etc... in order to get the numbers there. But it could be that they are just not following the expected workflow....
What if the header text was: We don't have enough of the right data
I think the 'to show this stage' is implied by the location and context of the text.
Would it also make sense to link to documentation on the expected workflow in the body text? Maybe at the end of the body text, add something like:
"Learn more about the expected workflow and calculations."
@awhildy Yes indeed, a link to the documentation should be included, definitely.
About the text on the left part of the screen, is Not enough data right, or can we have some kind of visuals to represent emptyness? I struggle to find something that would immediately make sense.
Could it just say 'Not available' on the left, and when you click on it, you get the longer description that explains why, with a link to the documentation? @regisF
Since all the table headers are written out, maybe Δ should just say Delta to match? I know my original comps for CA included the icon, but there seems to more room now since perc 95 isn't included (unless we are adding that later?).
@hazelyang@regisF Currently we display this message to introduce Cycle Analytics to users until the user dismiss the message.
And with this new iteration we'll display this message when there's no data
If Cycle Analytics is already set and is displaying data do we need to display the "Introducing to Cycle analytics" message? I'm a bit confused when to display each message can someone explain to me?
Great question @alfredo1. I think we only ever need to display one. The "There is nothing happened." message also needs some copy editing.
If a user has no CA data, show:
Introducing Cycle Analytics
Cycle Analytics gives an overview of how much time it takes to go from idea to production in your project. To set up CA, you must first define a production environment by setting up your CI and then deploy to production.
[Read more]
[graphic]
If a user has CA data, but is new to CA, show the small message up top until they dismiss it:
Introducing Cycle Analytics
Cycle Analytics gives an overview of how much time it takes to go from idea to production in your project.
Re - images. Let's wait for confirmation from @alfredo1 that everything is good from the frontend, as I haven't see the changes in action (just done the backend bit) 😃
Re - images. Let's wait for confirmation from @alfredo1 that everything is good from the frontend, as I haven't see the changes in action (just done the backend bit) 😃
Expose boolean property to indicate user permission for each stage on /:namespace_id/:project_id/cycle_analytics JSON endpoint. It has to be here because I need that info before load stage events.
Branch dropdown in test stage to filter results by branch.
Add tests.
I think the first two are required to ship on 8.14 I can add the other two within the following patch releases.
@alfredo1 re - @cycle_analytics_not_set_up, I assume this not for the empty data state, but it's true until the user dismisses the message ? I think we could choose a better name or it could even be a new endpoint...
This will require adding a new table in the DB and having 2 endpoints. When the user dismisses the message, the backend needs to know so and update the flag in the DB. This is what I understand from https://gitlab.com/gitlab-org/gitlab-ce/issues/23449#note_17768296 - correct me if I'm wrong...
@alfredo1 actually, looking at your code it looks like @cycle_analytics_not_set_up is for the first case, where there's no data. If that's the case, it should be much easier - I'll create a MR for that just in case.