summaryrefslogtreecommitdiff
path: root/lib/api
Commit message (Collapse)AuthorAgeFilesLines
* Implement support for CI variables of type fileKrasimir Angelov2019-05-064-1/+7
| | | | | | | | | Add env_var and file as supported types for CI variables. Variables of type file expose to users existing gitlab-runner behaviour - save variable value into a temp file and set the path to this file in an ENV var named after the variable key. Resolves https://gitlab.com/gitlab-org/gitlab-ce/issues/46806.
* Merge branch 'ce-11225-es_limited_namespaces_removal' into 'master'Nick Thomas2019-05-061-0/+6
|\ | | | | | | | | Backport "Fix namespace/project removal elasticsearch limit" to CE See merge request gitlab-org/gitlab-ce!27933
| * Backport of 328-versioned-es-schemace-11225-es_limited_namespaces_removalMario de la Ossa2019-05-021-0/+6
| |
* | Run rubocop -a on CE filessh-upgrade-rubocop-0.68.0-ceStan Hu2019-05-051-1/+1
| |
* | Allow guests users to access project releasesKrasimir Angelov2019-05-032-10/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is step one of resolving https://gitlab.com/gitlab-org/gitlab-ce/issues/56838. Here is what changed: - Revert the security fix from bdee9e8412d. - Do not leak repository information (tag name, commit) to guests in API responses. - Do not include links to source code in API responses for users that do not have download_code access. - Show Releases in sidebar for guests. - Do not display links to source code under Assets for users that do not have download_code access. GET ':id/releases/:tag_name' still do not allow guests to access releases. This is to prevent guessing tag existence.
* | Whitelist query limits for internal APIStan Hu2019-05-031-0/+2
| | | | | | | | | | | | | | | | | | When creating a merge request for push options, there may be over 100 queries that are run to create a merge request. Even after we reduce the number of queries by disabling the Sidekiq jobs, it appears we still hover near this limit. Closes https://gitlab.com/gitlab-org/gitlab-ee/issues/11450
* | Add gitlab-managed option to clusters formMayra Cabrera2019-05-031-0/+1
|/ | | | | | | | When this option is enabled, GitLab will create namespaces and service accounts as usual. When disabled, GitLab wont create any project specific kubernetes resources Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/56557
* Merge branch 'secure-disallow-read-user-scope-to-read-project-events' into ↵GitLab Release Tools Bot2019-04-294-47/+63
|\ | | | | | | | | | | | | 'master' Disallow read user scope to read project events See merge request gitlab/gitlabhq!3067
| * Add new api class for projects eventsMałgorzata Ksionek2019-04-244-47/+63
| | | | | | | | | | | | | | | | | | | | | | | | Refactor api events class to use external helper Move specs from old class Add changelog and magic string Refactor events class to be more explicit Remove blank line
* | Merge branch 'get-rid-of-user-namespace-method' into 'master'Dmitriy Zaporozhets2019-04-252-4/+2
|\ \ | | | | | | | | | | | | Get rid of the user_namespace API helper method See merge request gitlab-org/gitlab-ce!27636
| * | Get rid of the user_namespace API helper methodRémy Coutable2019-04-242-4/+2
| | | | | | | | | | | | Signed-off-by: Rémy Coutable <remy@rymai.me>
* | | Added list_pages method to avoid loading all wiki pages contentFrancisco Javier López2019-04-251-1/+2
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | Inside a wiki, when we show the sidebar or browse to the `pages`, all page contents are retrieved from Gitaly and that is a waste of resources, since no content from that pages are going to be showed. This MR introduces the method `ProjectWiki#list_pages`, which uses new wiki_list_pages RPC call to retrieve pages without content Also in the `WikisController` we're using the method to show pages in the sidebar and also on the `pages` page.
* | Introduce ServiceResponse to wrap around responseLin Jen-Shin2019-04-221-2/+2
| | | | | | | | See https://gitlab.com/gitlab-org/gitlab-ce/issues/60730
* | Merge branch '39858-add-group-owned-info-to-projects-api' into 'master'Douwe Maan2019-04-191-1/+9
|\ \ | | | | | | | | | | | | | | | | | | Return group information on Project endpoint Closes #39858 See merge request gitlab-org/gitlab-ce!27427
| * | Adds namespace information to project endpoint39858-add-group-owned-info-to-projects-apiMayra Cabrera2019-04-181-1/+9
| |/ | | | | | | | | | | | | | | | | | | | | - Namespace now return avatar_url and web_url - NamespaceBasic entity was modified to include avatar_url and web_url, information is fetched differently depending if the Namespace is a user or a group Includes documentation changes Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/39858
* | Add configuration of access_level for runners on registration via APIzelin-l2019-04-181-1/+3
| | | | | | | | | | Allow setting access_level of new runner to not_protected (default) or ref_protected Minor update to relevant docs and tests
* | Set correct timestamps when creating past issues58361-issue-create-system-note-timestampHeinrich Lee Yu2019-04-161-0/+1
|/ | | | Sets `system_note_timestamp` from `created_at`
* Fix remove_source_branch merge request API handlingsh-fix-merge-requests-api-remove-branch-paramStan Hu2019-04-151-1/+1
| | | | | | | | | Users attempting to set merge requests to `remove_source_branch` to `false` would encounter an Error 500 because the UpdateService and API checked `present?`, which would always return `false`. We now just use `has_key?` to decide whether the parameter is present. Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/60530
* Forbid the use of `#reload` and prefer `#reset`forbid-the-usage-of-reloadKamil Trzciński2019-04-152-4/+4
| | | | | | | The `#reload` makes to load all objects into memory, and the main purpose of `#reload` is to drop the association cache. The `#reset` seems to solve exactly that case.
* Merge branch 'patch-31' into 'master'Stan Hu2019-04-111-0/+4
|\ | | | | | | | | | | | | Add missing provider_unauthorized method to import_github.rb Closes #60347 See merge request gitlab-org/gitlab-ce!27218
| * Return a `401` error codeBen2019-04-111-1/+1
| |
| * Fix trailing white spaceBen2019-04-101-1/+1
| |
| * Add missing provider_unauthroized method to import_github.rb Ben2019-04-101-0/+4
| |
* | Revert "Remove HipChat integration from GitLab"Sean McGivern2019-04-101-0/+40
|/ | | | This reverts commit a5378665a1dc0b9c8dc3a4fa279a0eb78aac5aac.
* Move Contribution Analytics related spec in ↵Imre Farkas2019-04-093-3/+9
| | | | spec/features/groups/group_page_with_external_authorization_service_spec to EE
* Merge branch 'osw-multi-assignees-merge-requests' into 'master'Nick Thomas2019-04-092-1/+9
|\ | | | | | | | | [Backport] Support multiple assignees for merge requests See merge request gitlab-org/gitlab-ce!27089
| * [CE] Support multiple assignees for merge requestsosw-multi-assignees-merge-requestsOswaldo Ferreira2019-04-082-1/+9
| | | | | | | | | | Backports https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/10161 (code out of ee/ folder).
* | Add new permission model `read-pipeline-variable`Agustin Henze2019-04-091-0/+13
| | | | | | | | | | | | | | Used to get the variables via the API endpoint `/projects/:id/pipelines/:pipeline_id/variables` Signed-off-by: Agustin Henze <tin@redhat.com>
* | Merge branch '43263-git-push-option-to-create-mr' into 'master'Nick Thomas2019-04-092-8/+38
|\ \ | | | | | | | | | | | | | | | | | | Git push options to create a merge request, set target_branch and set merge when pipeline succeeds Closes #53198 and #43263 See merge request gitlab-org/gitlab-ce!26752
| * | Feature flag for merge requestion push optionsLuke Duncalfe2019-04-091-2/+4
| | | | | | | | | | | | | | | https://gitlab.com/gitlab-org/gitlab-ce/issues/43263 https://gitlab.com/gitlab-org/gitlab-ce/issues/53198
| * | Refactor PushOptionsHandlerService from reviewLuke Duncalfe2019-04-092-18/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Exceptions are no longer raised, instead all errors encountered are added to the errors property. MergeRequests::BuildService is used to generate attributes of a new merge request. Code moved from Api::Internal to Api::Helpers::InternalHelpers.
| * | Use Gitlab::PushOptions for `ci.skip` push optionLuke Duncalfe2019-04-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the raw push option Array was sent to Pipeline::Chain::Skip. This commit updates this class (and the chain of classes that pass the push option parameters from the API internal `post_receive` endpoint to that class) to treat push options as a Hash of options parsed by GitLab::PushOptions. The GitLab::PushOptions class takes options like this: -o ci.skip -o merge_request.create -o merge_request.target=branch and turns them into a Hash like this: { ci: { skip: true }, merge_request: { create: true, target: 'branch' } } This now how Pipeline::Chain::Skip is determining if the `ci.skip` push option was used.
| * | Support merge request create with push optionsLuke Duncalfe2019-04-092-7/+34
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To create a new merge request: git push -u origin -o merge_request.create To create a new merge request setting target branch: git push -u origin -o merge_request.create \ -o merge_request.target=123 To update an existing merge request with a new target branch: git push -u origin -o merge_request.target=123 A new Gitlab::PushOptions class handles parsing and validating the push options array. This can be the start of the standard of GitLab accepting push options that follow namespacing rules. Rules are discussed in issue https://gitlab.com/gitlab-org/gitlab-ce/issues/43263. E.g. these push options: -o merge_request.create -o merge_request.target=123 Become parsed as: { merge_request: { create: true, target: '123', } } And are fetched with the class via: push_options.get(:merge_request) push_options.get(:merge_request, :create) push_options.get(:merge_request, :target) A new MergeRequests::PushOptionsHandlerService takes the `merge_request` namespaced push options and handles creating and updating merge requests. Any errors encountered are passed to the existing `output` Hash in Api::Internal's `post_receive` endpoint, and passed to gitlab-shell where they're output to the user. Issue https://gitlab.com/gitlab-org/gitlab-ce/issues/43263
* | Add new API endpoint to expose single environmentKrasimir Angelov2019-04-092-4/+20
|/ | | | | | | | This is resolving https://gitlab.com/gitlab-org/gitlab-ce/issues/30157. Implement new API endpoint `/projects/:id/environments/:environment_id` to expose single environment. Include information for environment's last deployment if there is one.
* Fix `updated_at` doesn't apply to `state_event` updates of issues via APISean McGivern2019-04-081-3/+7
|
* Merge branch 'duplicate-related-mrs' into 'master'Michael Kozono2019-04-051-1/+1
|\ | | | | | | | | Remove duplicates from issue related merge requests See merge request gitlab-org/gitlab-ce!27067
| * Remove duplicates from issue related merge requestsduplicate-related-mrsAlexandru Croitor2019-04-051-1/+1
| | | | | | | | | | | | | | | | Remove duplicates returned by Issues#related_merge_requests API that relies on ReferencedMergeRequestsService which returns 2 arrays one of related MRs and one of related MRs that close the issue(i.e. a subset of first one). We only need related MRs in this case so just pick the first array.
* | Add part of needed codeGosia Ksionek2019-04-051-1/+2
|/ | | | | | | | | | | | | | | | | Add columns to store project creation settings Add project creation level column in groups and default project creation column in application settings Remove obsolete line from schema Update migration with project_creation_level column existence check Rename migrations to avoid conflicts Update migration methods Update migration method
* Revert "Merge branch 'if-57131-external_auth_to_ce' into 'master'"Andreas Brandl2019-04-053-9/+3
| | | This reverts merge request !26823
* Move Contribution Analytics related spec in ↵Imre Farkas2019-04-053-3/+9
| | | | spec/features/groups/group_page_with_external_authorization_service_spec to EE
* Fix IDE detecting MR from fork branchPaul Slaughter2019-04-051-0/+1
| | | | | | | | | **Why?** Currently the IDE loads a merge request based on only the `source_branch` name. This means it loads MR's from forks that have the same branch name (not good). - This required updating the BE API to accept `source_project_id`
* Merge branch ↵Douglas Barbosa Alexandre2019-04-051-1/+2
|\ | | | | | | | | | | | | '9217-warn-on-git-fetch-over-ssh-if-the-secondary-is-lagging-the-primary' into 'master' Display console messages, if available See merge request gitlab-org/gitlab-ce!26692
| * Allow console messages be sent to gitlab-shell9217-warn-on-git-fetch-over-ssh-if-the-secondary-is-lagging-the-primaryAsh McKenzie2019-04-041-1/+2
| | | | | | | | Currently a no-op for CE
* | Merge branch '3314-add-on-runner-minutes-for-gitlab-com-ce' into 'master'Douwe Maan2019-04-042-0/+2
|\ \ | | | | | | | | | | | | | | | | | | Backport some changes from gitlab-ee!9815 Closes #3314 See merge request gitlab-org/gitlab-ce!25908
| * | Backport some changes from EE3314-add-on-runner-minutes-for-gitlab-com-ceRubén Dávila2019-04-022-0/+2
| | | | | | | | | | | | MR: https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/9815
* | | Expose head pipeline in the related merge requestsAlexandru Croitor2019-04-042-1/+10
| |/ |/| | | | | | | | | | | | | | | Expose head pipeline for the MR in the api when requesting related merge requests for an issue and show a detailed status for the pipeline, which would include: details_path, favicon, group, icon, label, text, tooltip. https://gitlab.com/gitlab-org/gitlab-ce/issues/57662#note_152023412
* | Add port section to CI Image objectFrancisco Javier López2019-04-031-0/+5
|/ | | | | | | | | | | In order to implement https://gitlab.com/gitlab-org/gitlab-ee/issues/10179 we need several modifications on the CI config file. We are adding a new ports section in the default Image object. Each of these ports will accept: number, protocol and name. By default this new configuration will be only enabled in the Web IDE config file.
* Merge branch 'master' of dev.gitlab.org:gitlab/gitlabhq into ↵jarv/dev-to-gitlab-2019-04-02John Jarvis2019-04-021-5/+3
|\ | | | | | | jarv/dev-to-gitlab-2019-04-02
| * Merge branch 'security-id-potential-denial-languages' into 'master'GitLab Release Tools Bot2019-04-021-5/+3
| |\ | | | | | | | | | | | | Return cached languages if they've been detected before See merge request gitlab/gitlabhq!2998
| | * Return cached languages if they've been detected beforeIgor Drozdov2019-03-201-5/+3
| | |