Add the "Test" cycle analytics section.

This commit is contained in:
Timothy Andrew 2016-08-25 14:49:18 +05:30
parent 3d5729a700
commit fc92d06635
3 changed files with 35 additions and 0 deletions

View File

@ -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,

View File

@ -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]

View File

@ -20,6 +20,13 @@
- else
= "<Not enough data>"
%li.list-group-item
Test:
- if test = @cycle_analytics.test.presence
= distance_of_time_in_words test
- else
= "<Not enough data>"
%li.list-group-item
Review:
- if review = @cycle_analytics.review.presence