diff options
author | Kamil Trzciński <ayufan@ayufan.eu> | 2019-04-16 12:54:47 +0000 |
---|---|---|
committer | Kamil Trzciński <ayufan@ayufan.eu> | 2019-04-16 12:54:47 +0000 |
commit | c16619c527afdd00aa4dbbbf7544afb2f38477a8 (patch) | |
tree | 2d541ceff47cbd16a3a6ea72e0f5e65b0c7b633b /app/controllers/projects | |
parent | 29a53c4c31b8901f87818c86a9e8339334743616 (diff) | |
parent | 0cfa25ff21322d45aaef91fc7a3dd7c570632a05 (diff) | |
download | gitlab-ce-c16619c527afdd00aa4dbbbf7544afb2f38477a8.tar.gz |
Merge branch 'mc/feature/custom-metrics-ce' into 'master'
Backport metrics report type
See merge request gitlab-org/gitlab-ce!26798
Diffstat (limited to 'app/controllers/projects')
-rw-r--r-- | app/controllers/projects/merge_requests_controller.rb | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb index 39ba2a651d4..8f177895b08 100644 --- a/app/controllers/projects/merge_requests_controller.rb +++ b/app/controllers/projects/merge_requests_controller.rb @@ -98,20 +98,7 @@ class Projects::MergeRequestsController < Projects::MergeRequests::ApplicationCo end def test_reports - result = @merge_request.compare_test_reports - - case result[:status] - when :parsing - Gitlab::PollingInterval.set_header(response, interval: 3000) - - render json: '', status: :no_content - when :parsed - render json: result[:data].to_json, status: :ok - when :error - render json: { status_reason: result[:status_reason] }, status: :bad_request - else - render json: { status_reason: 'Unknown error' }, status: :internal_server_error - end + reports_response(@merge_request.compare_test_reports) end def edit @@ -353,4 +340,19 @@ class Projects::MergeRequestsController < Projects::MergeRequests::ApplicationCo # Also see https://gitlab.com/gitlab-org/gitlab-ce/issues/42441 Gitlab::QueryLimiting.whitelist('https://gitlab.com/gitlab-org/gitlab-ce/issues/42438') end + + def reports_response(report_comparison) + case report_comparison[:status] + when :parsing + ::Gitlab::PollingInterval.set_header(response, interval: 3000) + + render json: '', status: :no_content + when :parsed + render json: report_comparison[:data].to_json, status: :ok + when :error + render json: { status_reason: report_comparison[:status_reason] }, status: :bad_request + else + render json: { status_reason: 'Unknown error' }, status: :internal_server_error + end + end end |