Commit ca6da6ea authored by James Lopez's avatar James Lopez

Renamed pipeline column and fixed permissions for builds in events controller

parent 73e9ec63
...@@ -2,6 +2,7 @@ class Projects::CycleAnalytics::EventsController < Projects::ApplicationControll ...@@ -2,6 +2,7 @@ class Projects::CycleAnalytics::EventsController < Projects::ApplicationControll
include CycleAnalyticsParams include CycleAnalyticsParams
before_action :authorize_read_cycle_analytics! before_action :authorize_read_cycle_analytics!
before_action :authorize_read_builds!, only: [:test, :staging]
def issue def issue
render_events(events.issue_events) render_events(events.issue_events)
...@@ -16,7 +17,7 @@ class Projects::CycleAnalytics::EventsController < Projects::ApplicationControll ...@@ -16,7 +17,7 @@ class Projects::CycleAnalytics::EventsController < Projects::ApplicationControll
end end
def test def test
@opts = { from: start_date(events_params), branch: events_params[:branch_name] } @options = { from: start_date(events_params), branch: events_params[:branch_name] }
render_events(events.test_events) render_events(events.test_events)
end end
...@@ -47,12 +48,12 @@ class Projects::CycleAnalytics::EventsController < Projects::ApplicationControll ...@@ -47,12 +48,12 @@ class Projects::CycleAnalytics::EventsController < Projects::ApplicationControll
end end
def options def options
@opts ||= { from: start_date(events_params) } @options ||= { from: start_date(events_params) }
end end
def events_params def events_params
return {} unless params[:events].present? return {} unless params[:events].present?
{ start_date: params[:events][:start_date], branch_name: params[:events][:branch_name] } params[:events].slice(:start_date, :branch_name)
end end
end end
class MergeRequest::Metrics < ActiveRecord::Base class MergeRequest::Metrics < ActiveRecord::Base
belongs_to :merge_request belongs_to :merge_request
belongs_to :pipeline, class_name: 'Ci::Pipeline', foreign_key: :ci_commit_id belongs_to :pipeline, class_name: 'Ci::Pipeline', foreign_key: :pipeline_id
def record! def record!
if merge_request.merged? && self.merged_at.blank? if merge_request.merged? && self.merged_at.blank?
......
...@@ -12,11 +12,11 @@ class PipelineMetricsWorker ...@@ -12,11 +12,11 @@ class PipelineMetricsWorker
private private
def update_metrics_for_active_pipeline(pipeline) def update_metrics_for_active_pipeline(pipeline)
metrics(pipeline).update_all(latest_build_started_at: pipeline.started_at, latest_build_finished_at: nil, ci_commit_id: pipeline.id) metrics(pipeline).update_all(latest_build_started_at: pipeline.started_at, latest_build_finished_at: nil, pipeline_id: pipeline.id)
end end
def update_metrics_for_succeeded_pipeline(pipeline) def update_metrics_for_succeeded_pipeline(pipeline)
metrics(pipeline).update_all(latest_build_started_at: pipeline.started_at, latest_build_finished_at: pipeline.finished_at, ci_commit_id: pipeline.id) metrics(pipeline).update_all(latest_build_started_at: pipeline.started_at, latest_build_finished_at: pipeline.finished_at, pipeline_id: pipeline.id)
end end
def metrics(pipeline) def metrics(pipeline)
......
...@@ -24,6 +24,8 @@ class AddPipelineIdToMergeRequestMetrics < ActiveRecord::Migration ...@@ -24,6 +24,8 @@ class AddPipelineIdToMergeRequestMetrics < ActiveRecord::Migration
# disable_ddl_transaction! # disable_ddl_transaction!
def change def change
add_reference :merge_request_metrics, :ci_commit, index: true, foreign_key: { on_delete: :cascade } add_column :merge_request_metrics, :pipeline_id, :integer
add_index :merge_request_metrics, :pipeline_id
add_foreign_key :merge_request_metrics, :ci_commits, column: :pipeline_id, on_delete: :cascade
end end
end end
...@@ -634,12 +634,12 @@ ActiveRecord::Schema.define(version: 20161109150329) do ...@@ -634,12 +634,12 @@ ActiveRecord::Schema.define(version: 20161109150329) do
t.datetime "merged_at" t.datetime "merged_at"
t.datetime "created_at", null: false t.datetime "created_at", null: false
t.datetime "updated_at", null: false t.datetime "updated_at", null: false
t.integer "ci_commit_id" t.integer "pipeline_id"
end end
add_index "merge_request_metrics", ["ci_commit_id"], name: "index_merge_request_metrics_on_ci_commit_id", using: :btree
add_index "merge_request_metrics", ["first_deployed_to_production_at"], name: "index_merge_request_metrics_on_first_deployed_to_production_at", using: :btree add_index "merge_request_metrics", ["first_deployed_to_production_at"], name: "index_merge_request_metrics_on_first_deployed_to_production_at", using: :btree
add_index "merge_request_metrics", ["merge_request_id"], name: "index_merge_request_metrics", using: :btree add_index "merge_request_metrics", ["merge_request_id"], name: "index_merge_request_metrics", using: :btree
add_index "merge_request_metrics", ["pipeline_id"], name: "index_merge_request_metrics_on_pipeline_id", using: :btree
create_table "merge_requests", force: :cascade do |t| create_table "merge_requests", force: :cascade do |t|
t.string "target_branch", null: false t.string "target_branch", null: false
...@@ -1246,7 +1246,7 @@ ActiveRecord::Schema.define(version: 20161109150329) do ...@@ -1246,7 +1246,7 @@ ActiveRecord::Schema.define(version: 20161109150329) do
add_foreign_key "labels", "namespaces", column: "group_id", on_delete: :cascade add_foreign_key "labels", "namespaces", column: "group_id", on_delete: :cascade
add_foreign_key "lists", "boards" add_foreign_key "lists", "boards"
add_foreign_key "lists", "labels" add_foreign_key "lists", "labels"
add_foreign_key "merge_request_metrics", "ci_commits", on_delete: :cascade add_foreign_key "merge_request_metrics", "ci_commits", column: "pipeline_id", on_delete: :cascade
add_foreign_key "merge_request_metrics", "merge_requests", on_delete: :cascade add_foreign_key "merge_request_metrics", "merge_requests", on_delete: :cascade
add_foreign_key "merge_requests_closing_issues", "issues", on_delete: :cascade add_foreign_key "merge_requests_closing_issues", "issues", on_delete: :cascade
add_foreign_key "merge_requests_closing_issues", "merge_requests", on_delete: :cascade add_foreign_key "merge_requests_closing_issues", "merge_requests", on_delete: :cascade
......
...@@ -20,7 +20,7 @@ module Gitlab ...@@ -20,7 +20,7 @@ module Gitlab
end end
def test_custom_query(base_query) def test_custom_query(base_query)
base_query.join(build_table).on(mr_metrics_table[:ci_commit_id].eq(build_table[:commit_id])) base_query.join(build_table).on(mr_metrics_table[:pipeline_id].eq(build_table[:commit_id]))
end end
alias_method :staging_custom_query, :test_custom_query alias_method :staging_custom_query, :test_custom_query
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment