Age | Commit message (Collapse) | Author |
|
Signed-off-by: Rémy Coutable <remy@rymai.me>
|
|
Fix typos in dev & test docu
See merge request gitlab-org/gitlab-ce!24539
|
|
|
|
Eliminate N+1 queries in /api/groups/:id
Closes #49845
See merge request gitlab-org/gitlab-ce!24513
|
|
|
|
In https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/15475/diffs, a
significant amount of work went into eliminating N+1 queries in the
/api/groups/:id/projects endpoint. We can reuse the
`Entities::Project.prepare_relation` call on the projects.
In a group with 2,573 projects on GitLab.com, this change significantly
improves performance:
* 18019 SQL queries down to 21
* Time spent in DB: 70 s down to 384 ms
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/49845
|
|
Return the maximum group access level in the projects API
Closes #43684
See merge request gitlab-org/gitlab-ce!24403
|
|
|
|
Currently if a project is inside a nested group and a user doesn't have
specific permissions for that group but does have permissions on a
parent group the `GET /projects/:id` API call will return the following
permissions:
```json
permissions: { project_access: null, group_access: null }
```
It could also happen that the group specific permissions are of lower
level than the ones the user has in parent groups. This patch makes it
so that the permission returned for `group_access` is the highest from
amongst the hierarchy, which is (ostensibly) the information that the
API user is interested in for that field.
|
|
Add group ful path to project's shared_with_groups
See merge request gitlab-org/gitlab-ce!24052
|
|
Allow setting of feature gates per project
See merge request gitlab-org/gitlab-ce!24184
|
|
|
|
|
|
|
|
For features the feature gates are sometimes projects, not groups or
users. For example for git object pools:
https://gitlab.com/gitlab-com/gl-infra/infrastructure/issues/5872
This commit allows for setting feature group gates based on projects, by its
path as that seems most convenient.
|
|
Refactor epics/issues API specs
See merge request gitlab-org/gitlab-ce!24302
|
|
'master'
Improves restriction of multiple Kubernetes clusters via API
Closes #56110
See merge request gitlab-org/gitlab-ce!24251
|
|
We introduced releases_page feature flag.
Given this feature is deemed stable, we should remove
this flag before 19th.
|
|
Modifies authorize! method to accept a third param, and then use it in
combination with 'add_cluster' policy to appropriately restrict adding
multiple clusters
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/56110
|
|
Refactor the epics/issues API specs to remove code duplication.
|
|
|
|
AuditEventService isn't equipped to handle logging of the destruction of
entities such as CI pipelines. It's a project-level event that operates
on a pipeline. The current log doesn't even indicate that the pipeline
is being destroyed.
This is a CE backport of
https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/9105. We're
removing the auditing call because it breaks the EE implementation.
|
|
Signed-off-by: Rémy Coutable <remy@rymai.me>
|
|
Add tests for the API and add a couple of tests
Add
revert
revert
|
|
Use BuildMetadata to store build configuration in JSONB form
See merge request gitlab-org/gitlab-ce!21499
|
|
Add API Support for Kubernetes integration
Closes #40473
See merge request gitlab-org/gitlab-ce!23922
|
|
Adds the following initial CRUD endpoints for Clusters API:
- GET list of clusters
- GET specific cluster
- POST add existing cluster (mimic of "Add cluster")
- PUT update cluser
- DELETE destroy cluster
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/40473
|
|
These are data columns that store runtime configuration
of build needed to execute it on runner and within pipeline.
The definition of this data is that once used, and when no longer
needed (due to retry capability) they can be freely removed.
They use `jsonb` on PostgreSQL, and `text` on MySQL (due to lacking
support for json datatype on old enough version).
|
|
Fix coding style
Improve coding style
Decouple UPDATE and DELETE operations of asset links
Rename links_attributes to assets:links
Rename exposed param and updated spec
|
|
Fix spec for mysql unique validation failure
|
|
- Add Releases::Links model
- Expose it in release API
- Add integration tests
|
|
Avoid extra storage bucket perm and query
See merge request gitlab-org/gitlab-ce!23995
|
|
Handle 'git push -o ci.skip'
Closes #18667
See merge request gitlab-org/gitlab-ce!15643
|
|
|
|
[master] Guest users have access to all Job information via the API
See merge request gitlab/gitlabhq!2717
|
|
gitlab-org/gitlab-shell!166 added support for collecting push options
from the environment, and passing them along to the
/internal/post_receive API endpoint.
This change handles the new push_options JSON element in the payload,
and passes them on through to the GitPushService and GitTagPushService
services.
Futhermore, it adds support for the first push option, ci.skip. With
this change, one can use 'git push -o ci.skip' to skip CI pipe
execution. Note that the pipeline is still created, but in the "skipped"
state, just like with the 'ci skip' commit message text.
Implements #18667
|
|
Fixed content-disposition in blob and files API endpoint
Closes #55781
See merge request gitlab-org/gitlab-ce!24078
|
|
|
|
Add spec for all release API - GET, POST, PUT, DELETE.
Also, fixes some minior bugs.
|
|
Introduce DELETE endpoint in Release API
|
|
47d4890d changed the order of pagination so that the full list of
branches would be passed to Gitaly to determine which ones had been
merged, but this operation can timeout for large repositories with
many branches. We only need to determine whether the found branches have
been merged, so limit the scan to those.
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/55724
|
|
Specifically, the `ListAllMyBuckets` permission.
This works if you know the directory exists.
See more:
* https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/23981
* https://stackoverflow.com/a/12288581/1992201
|
|
|
|
|
|
|
|
Updates specs to use new rails5 format.
The old format:
`get :show, { some: params }, { some: headers }`
The new format:
`get :show, params: { some: params }, headers: { some: headers }`
|
|
We're filtering the events using `Event#visible_to_user?`.
At most we're loading 100 events at once.
Pagination is also dealt with in the finder, but the resulting array
is wrapped in a `Kaminari.paginate_array` so the API's pagination
helpers keep working. We're passing the total count into that
paginatable array, which would include confidential events. But we're
not disclosing anything.
|
|
'55433-un-revert-https-gitlab-com-gitlab-org-gitlab-ce-commit-00acef434031b5dc0bf39576a9e83802c7806842-revert' into 'master'
Resolve "Un-revert https://gitlab.com/gitlab-org/gitlab-ce/commit/00acef434031b5dc0bf39576a9e83802c7806842 revert"
Closes #55433
See merge request gitlab-org/gitlab-ce!23861
|
|
This reverts commit 00acef434031b5dc0bf39576a9e83802c7806842.
|
|
|