Commit 40e1c770 authored by Valery Sizov's avatar Valery Sizov

Add ability to set approvals_before_merge for project through the API

parent 7117b4b9
---
title: Add ability to set approvals_before_merge for project through the API
merge_request:
author:
......@@ -106,6 +106,7 @@ module API
expose :repository_storage, if: lambda { |_project, options| options[:user].try(:admin?) }
expose :only_allow_merge_if_build_succeeds
expose :request_access_enabled
expose :approvals_before_merge
end
class Member < UserBasic
......@@ -262,9 +263,11 @@ module API
expose :merge_status
expose :diff_head_sha, as: :sha
expose :merge_commit_sha
expose :subscribed do |merge_request, options|
merge_request.subscribed?(options[:current_user])
end
expose :user_notes_count
expose :approvals_before_merge
expose :should_remove_source_branch?, as: :should_remove_source_branch
......
......@@ -261,6 +261,7 @@ module API
# public_builds (optional)
# repository_storage (optional)
# lfs_enabled (optional)
# approvals_before_merge (optional) - how many approvers should approve merge request by default
# Example Request
# PUT /projects/:id
put ':id' do
......@@ -281,7 +282,8 @@ module API
:shared_runners_enabled,
:snippets_enabled,
:visibility_level,
:wiki_enabled]
:wiki_enabled,
:approvals_before_merge]
attrs = map_public_to_visibility_level(attrs)
authorize_admin_project
authorize! :rename_project, user_project if attrs[:name].present?
......
......@@ -947,6 +947,15 @@ describe API::API, api: true do
expect(json_response['request_access_enabled']).to eq(false)
end
it 'updates approvals_before_merge' do
project_param = { approvals_before_merge: 3 }
put api("/projects/#{project.id}", user), project_param
expect(response).to have_http_status(200)
expect(json_response['approvals_before_merge']).to eq(3)
end
it 'updates path & name to existing path & name in different namespace' do
project_param = { path: project4.path, name: project4.name }
put api("/projects/#{project3.id}", user), project_param
......
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