summaryrefslogtreecommitdiff
path: root/lib/gitlab/cycle_analytics/production_event.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/cycle_analytics/production_event.rb')
-rw-r--r--lib/gitlab/cycle_analytics/production_event.rb22
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/gitlab/cycle_analytics/production_event.rb b/lib/gitlab/cycle_analytics/production_event.rb
new file mode 100644
index 00000000000..b0b2d94f7e7
--- /dev/null
+++ b/lib/gitlab/cycle_analytics/production_event.rb
@@ -0,0 +1,22 @@
+module Gitlab
+ module CycleAnalytics
+ class ProductionEvent < BaseEvent
+ @stage = :production
+ @start_time_attrs = issue_table[:created_at]
+
+ @end_time_attrs = mr_metrics_table[:first_deployed_to_production_at]
+
+ @projections = [issue_table[:title],
+ issue_table[:iid],
+ issue_table[:id],
+ issue_table[:created_at],
+ issue_table[:author_id]]
+
+ def self.serialize(event, query)
+ event['author'] = User.find(event.delete('author_id'))
+
+ AnalyticsIssueSerializer.new(project: query.project).represent(event).as_json
+ end
+ end
+ end
+end