VSD: Add "Scheduled Reports" as markdown document in issues
Problem to solve
GitLab Analytics provide high value to executive, however, these reports are spread across multiple pages in GitLab. The Executives' time is very valuable, and they might not know how to use GitLab UI to get insights that they need.
JTBD & Persona
Proposal
- Add a new pipeline templates with configuration that uses our VSD API to grab the data and generate markdown table:
Metrics comparison for GitLab.org group | Month to date May 1 - May 4 | April Apr 1 - Apr 30 | March Mar 1 - Mar 31 |
---|---|---|---|
Deployment Frequency | 117.0/d -11.6% | 132.3/d 0.99% | 131.0/d 3.0% |
Lead Time for Changes | 0.2 d 100.0% | 0.1 d 50.0% | 0.2 d 100.0% |
Time to Restore Service | - | 0.7 d 74.1% | 2.7 d 60.9% |
Change Failure Rate | 0.34% 240.0% | 0.1% 42.9% | 0.07% 75.0% |
Lead time | 14.6 d -0.68% | 14.7 d 3.5% | 14.2 d 3.4% |
Cycle time | 5.9 d | 5.9 d 20.4% | 4.9 d 7.5% |
New issues | 1476 -86.0% | 10569 1.6% | 10746 36.1% |
Deploys | 585 -85.7% | 4101 2.2% | 4192 7.1% |
- The pipeline schedule should be configured manually (outside of the YAML file) by the dev who sets up the report: https://docs.gitlab.com/ee/ci/pipelines/schedules.html#add-a-pipeline-schedule.
- Without the scheduling part, the YAML file should be exactly the same as the VSD config YAML file.
- Report periods for this MVC - 90 days.
Next iteration
We can add labels filters and colors trend:
Metrics comparison for GitLab.org group severity2 customer | Month to date May 1 - May 4 | April Apr 1 - Apr 30 | March Mar 1 - Mar 31 |
---|---|---|---|
Velocity - total issues completed | 585 -85.7% | 4101 +2.2% | 4192 +7.1% |
Old proposal
Configuration options
# issue_title - Change the title of the Value Streams Dashboard. [optional]
title: 'Custom Dashboard title'
# issue_description - Change the description of the Value Streams Dashboard. [optional]
description: 'Custom description'
# issue_labels
issue_labels: group::optimize
issue_labels: metrics_comparison_report
# scheduled for the 1st day of the month
scheduled: monthly.at("1")
# widgets - List of widgets that contain panel settings.
# title - Change the title of the panel. [optional]
# data.namespace - The Group or Project path to use for the chart panel.
widgets:
- title: 'My Custom Project'
data:
namespace: group/my-custom-project
- data:
namespace: group/another-project
- title: 'My Custom Group'
data:
namespace: group/my-custom-group
- data:
namespace: group/another-group
Automate scheduled reports flow with gitLab_reports_BOT:
- The gitLab_reports_BOT will open "VSM
month
discussion issue" at at regular intervals (e.g., on thefirst Monday of every month
.) - In the first iteration, the bot will add to the issue description link to the Metrics comparative widgets.
- Similar to triage-reports, the bot will
mention
/assign
users to the issue for Email or Slack notifications. - Default Permissions for this flow - Developer (and higher).
Edited by Haim Snir