diff options
| author | Rémy Coutable <remy@rymai.me> | 2016-07-19 10:31:56 +0000 |
|---|---|---|
| committer | Rémy Coutable <remy@rymai.me> | 2016-07-19 10:31:56 +0000 |
| commit | d6bd412be4e3063c5f8844ef2c15f736f173b2f1 (patch) | |
| tree | 1641ae67ef742197aee7cf0990a7ec9865f7e268 /lib/api/entities.rb | |
| parent | cd546a784434a8d1a872bc37e5a0c252b030f73c (diff) | |
| parent | 3e281f95907686ba4a923b8825dc32afb22df038 (diff) | |
| download | gitlab-ce-d6bd412be4e3063c5f8844ef2c15f736f173b2f1.tar.gz | |
Merge branch 'api-dev-can-push' into 'master'
API: Expose 'developers_can_push' for branches
## What does this MR do?
Adds support for the `developers_can_push` flag for the branches API. It also supports creating protected branches with that flag.
## Are there points in the code the reviewer needs to double check?
The API call requires an optional boolean parameter `developers_can_push`. If it is not either `true` or `false`, it should not update the value. I'm not sure if this is the right way to do it.
Right now it always returns `200`. Maybe the `PUT` method should return different status codes depending if it really created or updated a branch.
## What are the relevant issue numbers?
Closes #12735
## Does this MR meet the acceptance criteria?
- [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added
- [x] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md)
- [x] API support added
- Tests
- [x] Added for this feature/bug
- [x] All builds are passing
- [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides)
- [x] Branch has no merge conflicts with `master` (if you do - rebase it please)
- [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits)
See merge request !5208
Diffstat (limited to 'lib/api/entities.rb')
| -rw-r--r-- | lib/api/entities.rb | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/lib/api/entities.rb b/lib/api/entities.rb index 3c79a00eb8c..d6fed1a1eed 100644 --- a/lib/api/entities.rb +++ b/lib/api/entities.rb @@ -125,9 +125,21 @@ module API end end - expose :protected do |repo, options| + expose :protected do |repo_obj, options| if options[:project] - options[:project].protected_branch? repo.name + options[:project].protected_branch? repo_obj.name + end + end + + expose :developers_can_push do |repo_obj, options| + if options[:project] + options[:project].developers_can_push_to_protected_branch? repo_obj.name + end + end + + expose :developers_can_merge do |repo_obj, options| + if options[:project] + options[:project].developers_can_merge_to_protected_branch? repo_obj.name end end end |
