From fc92d066356c2becf8db74e0cc0832f2bca2b930 Mon Sep 17 00:00:00 2001 From: Timothy Andrew Date: Thu, 25 Aug 2016 14:49:18 +0530 Subject: [PATCH] Add the "Test" cycle analytics section. --- app/models/cycle_analytics.rb | 6 +++++ app/models/cycle_analytics/queries.rb | 22 +++++++++++++++++++ .../projects/cycle_analytics/show.html.haml | 7 ++++++ 3 files changed, 35 insertions(+) diff --git a/app/models/cycle_analytics.rb b/app/models/cycle_analytics.rb index 2caccdce9a2..8b791e1e9ac 100644 --- a/app/models/cycle_analytics.rb +++ b/app/models/cycle_analytics.rb @@ -17,6 +17,12 @@ class CycleAnalytics Queries::mr_wip_flag_removed_or_assigned_to_user_other_than_author_time) end + def test + calculate_metric(Queries::merge_requests_closing_issues, + Queries::mr_build_started_at, + Queries::mr_build_finished_at) + end + def review calculate_metric(Queries::merge_requests_closing_issues, Queries::mr_wip_flag_removed_or_assigned_to_user_other_than_author_time, diff --git a/app/models/cycle_analytics/queries.rb b/app/models/cycle_analytics/queries.rb index f14f44c3876..efdacc28638 100644 --- a/app/models/cycle_analytics/queries.rb +++ b/app/models/cycle_analytics/queries.rb @@ -40,6 +40,28 @@ class CycleAnalytics end end + def mr_build_started_at + lambda do |data_point| + merge_request = data_point[:merge_request] + tip = merge_request.commits.first + return unless tip + + pipeline = Ci::Pipeline.find_by_sha(tip.sha) + pipeline.started_at if pipeline + end + end + + def mr_build_finished_at + lambda do |data_point| + merge_request = data_point[:merge_request] + tip = merge_request.commits.first + return unless tip + + pipeline = Ci::Pipeline.find_by_sha(tip.sha) + pipeline.finished_at if pipeline + end + end + def mr_deployed_to_any_environment_at lambda do |data_point| merge_request = data_point[:merge_request] diff --git a/app/views/projects/cycle_analytics/show.html.haml b/app/views/projects/cycle_analytics/show.html.haml index b4f875f00db..608712c4d5b 100644 --- a/app/views/projects/cycle_analytics/show.html.haml +++ b/app/views/projects/cycle_analytics/show.html.haml @@ -20,6 +20,13 @@ - else = "" + %li.list-group-item + Test: + - if test = @cycle_analytics.test.presence + = distance_of_time_in_words test + - else + = "" + %li.list-group-item Review: - if review = @cycle_analytics.review.presence