summaryrefslogtreecommitdiff
path: root/lib/api/entities.rb
Commit message (Collapse)AuthorAgeFilesLines
* Expose the Koding application settings in the APIkoding-setting-apiDJ Mountney2016-09-291-0/+2
| | | | This will allow the Koding app to enable the integration itself once is has authorized an admin user using the application secrets.
* Merge branch 'issue_22382' into 'master' Rémy Coutable2016-09-291-1/+1
|\ | | | | | | | | | | | | Expose project share expiration_date field on API closes #22382 See merge request !6484
| * Expose project share expiration_date field on APIissue_22382Felipe Artur2016-09-281-1/+1
| |
* | expose pipeline data in builds APIGuilherme Salazar2016-09-281-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | add pipeline ref, sha, and status to the build API response add tests of build API (pipeline data) change API documentation for builds API log change to builds API in CHANGELOG CHANGELOG: add reference to pull request and contributor's name
* | Add User#organization to users apiDmitriy Zaporozhets2016-09-271-1/+1
|/ | | | Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
* Merge branch '22065-group-members-api-returning-null-user-details' into ↵Robert Speicher2016-09-201-3/+3
|\ | | | | | | | | | | | | | | | | | | | | | | 'master' Ensure invitees are not returned in Members API ## What are the relevant issue numbers? Closes #22065 See merge request !6370
| * Ensure invitees are not returned in Members APIRémy Coutable2016-09-161-3/+3
| | | | | | | | Signed-off-by: Rémy Coutable <remy@rymai.me>
* | Allow to set request_access_enabled for groups and projects using APIFelipe Artur2016-09-191-0/+2
|/
* Syntax fixes and better tests for helper methods. Updated docs.group-specific-lfs-settingsPatricio Cano2016-09-151-2/+4
|
* Added group-specific setting for LFS.Patricio Cano2016-09-151-1/+1
| | | | Groups can enable/disable LFS, but this setting can be overridden at the project level. Admin only
* Add notification_settings API callsMarc Siegfriedt2016-09-091-1/+16
| | | | Use NotificationSetting::EMAIL_EVENTS for params
* Merge branch 'issue_19734' into 'master' Douwe Maan2016-09-011-2/+10
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Project tools visibility level ## part of #19734 ![project_features_access_level](/uploads/81ec7185d4e61d7578652020209af925/project_features_access_level.png) ## 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 !5606
| * Project tools visibility levelFelipe Artur2016-09-011-2/+10
| |
* | Merge branch 'merge-request-sha-info' into 'master' Douwe Maan2016-09-011-0/+2
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge request sha info ## What does this MR do? Exposes `sha` and `merge_commit_sha` items in `MergeRequest` API endpoint data. ## Are there points in the code the reviewer needs to double check? No. ## Why was this MR needed? It's useful information. ## What are the relevant issue numbers? Closes #20456. ## Screenshots (if relevant) N/A ## 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 !5966
| * entities: expose {,merge_commit_}sha in MergeRequestBen Boeckel2016-08-311-0/+2
| | | | | | | | Fixes #20456.
* | Add BroadcastMessage API implementationRobert Speicher2016-08-311-0/+5
| |
* | API: Expose issue#confidentialapi-confidential-issuesRobert Schilling2016-08-311-0/+1
|/
* Renamed `enable_lfs` to `lfs_enabled` for the Project field, and related fixes.project-specific-lfsPatricio Cano2016-08-301-1/+1
|
* Added CHANGELOG, documentation, and API functionalityPatricio Cano2016-08-301-1/+1
|
* Merge branch 'dz-merge-request-version'Douwe Maan2016-08-251-0/+13
|\
| * Fix merge request diff apiDmitriy Zaporozhets2016-08-221-1/+1
| | | | | | | | Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
| * Merge branch 'master' into dz-merge-request-versionDmitriy Zaporozhets2016-08-221-0/+4
| |\ | | | | | | | | | Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
| * \ Merge branch 'master' into dz-merge-request-versionDmitriy Zaporozhets2016-08-191-4/+28
| |\ \ | | | | | | | | | | | | Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
| * \ \ Merge branch 'master' into dz-merge-request-versionDmitriy Zaporozhets2016-08-151-12/+14
| |\ \ \ | | | | | | | | | | | | | | | Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
| * | | | Add single merge request diff API endpointDmitriy Zaporozhets2016-08-121-0/+2
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
| * | | | Add API to list merge request diff versionsDmitriy Zaporozhets2016-08-031-0/+11
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
* | | | | Merge branch 'api_only_allow_merge_if_build_succeeds' into 'master' Douwe Maan2016-08-241-0/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | expose 'only_allow_merge_if_build_succeeds' project setting in the API ## What does this MR do? Adds the 'only_allow_merge_if_build_succeeds' project setting in the API. ## Are there points in the code the reviewer needs to double check? No, but maybe this code is not enough for ACLs or the like. ## Why was this MR needed? Because that's a very useful setting to change via automation (through the API) ## What are the relevant issue numbers? Closes #21085, closes https://gitlab.com/gitlab-org/gitlab-ce/issues/20088. ## Screenshots (if relevant) ## 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 !5930
| * | | | | expose 'only_allow_merge_if_build_succeeds' project setting in the APIMarc Dequènes (Duck)2016-08-241-0/+1
| | | | | |
* | | | | | Merge branch 'entity-api-web-url' into 'master' Douwe Maan2016-08-241-0/+12
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | api: expose web_url for project entities ## What does this MR do? Adds a `web_url` field to project snippet, issues, and merge request API returned objects. ## Are there points in the code the reviewer needs to double check? Tests. Are they sufficient? (I'm working on getting them to pass.) ## Why was this MR needed? Creating the URL for an MR or issue from the MR is tedious in API libraries; it's easy for Gitlab to just provide it. ## What are the relevant issue numbers? N/A ## Screenshots (if relevant) N/A ## 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 !5631
| * | | | | | api: expose web_url for project entitiesBen Boeckel2016-08-241-0/+12
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | This allows web hooks to have a URL back to entities without having to generate it themselves.
* | | | | | api: expose wiki_page_events project hook field in the APIBen Boeckel2016-08-241-1/+1
|/ / / / /
* | | | | entities: make Environment inherit EnvironmentBasicBen Boeckel2016-08-231-4/+3
| |_|_|/ |/| | |
* | | | Merge branch 'master' into expiration-date-on-membershipsSean McGivern2016-08-181-0/+20
|\ \ \ \ | | |_|/ | |/| |
| * | | Do not expose projects on deploymentsZ.J. van de Weg2016-08-181-4/+3
| | | |
| * | | Expose project for environmentsZ.J. van de Weg2016-08-181-0/+1
| | | |
| * | | Add deployment endpointsZ.J. van de Weg2016-08-181-0/+12
| | | |
| * | | Add docs on API for pipelines, plus minor fixeszj-pipelines-api-endpointsZ.J. van de Weg2016-08-181-1/+1
| | | |
| * | | Add endpoints for pipelinesZ.J. van de Weg2016-08-181-0/+8
| | | |
* | | | Add expiration date to group membershipsSean McGivern2016-08-181-3/+4
| | | |
* | | | Merge branch 'master' into expiration-date-on-membershipsSean McGivern2016-08-181-16/+26
|\ \ \ \ | |/ / /
| * | | Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce into ↵Kamil Trzcinski2016-08-161-2/+4
| |\ \ \ | | | | | | | | | | | | | | | pipeline-hooks-without-slack
| | * | | Improve EE compatibility with protected branch access levels.Timothy Andrew2016-08-161-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Change a few incorrect `access_level` to `access_levels.first` that were missed in e805a64. 2. `API::Entities` can iterate over all access levels instead of just the first one. This makes no difference to CE, and makes it more compatible with EE.
| | * | | Backport changes from gitlab-org/gitlab-ee!581 to CE.Timothy Andrew2016-08-161-2/+2
| | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | !581 has a lot of changes that would cause merge conflicts if not properly backported to CE. This commit/MR serves as a better foundation for gitlab-org/gitlab-ee!581. = Changes = 1. Move from `has_one {merge,push}_access_level` to `has_many`, with the `length` of the association limited to `1`. This is _effectively_ a `has_one` association, but should cause less conflicts with EE, which is set to `has_many`. This has a number of related changes in the views, specs, and factories. 2. Make `gon` variable loading more consistent (with EE!581) in the `ProtectedBranchesController`. Also use `::` to prefix the `ProtectedBranches` services, because this is required in EE. 3. Extract a `ProtectedBranchAccess` concern from the two access level models. This concern only has a single `humanize` method here, but will have more methods in EE. 4. Add `form_errors` to the protected branches creation form. This is not strictly required for EE compatibility, but was an oversight nonetheless.
| * | | Merge remote-tracking branch 'origin/master' into pipeline-hooks-without-slackKamil Trzcinski2016-08-111-11/+13
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | # Conflicts: # app/models/ci/pipeline.rb # app/services/ci/create_pipeline_service.rb # spec/models/project_services/hipchat_service_spec.rb
| | * | Improve the performance of the GET /:sources/:id/{access_requests,members} ↵Rémy Coutable2016-08-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | API endpoints The performance was greatly improved by removing two N+1 queries issues for each endpoint. For comparison: 1. `GET /projects/:id/members` With two N+1 queries issues (one was already fxed in the following snippet): ``` ProjectMember Load (0.2ms) SELECT "members".* FROM "members" WHERE "members"."source_type" = $1 AND "members"."type" IN ('ProjectMember') AND "members"."source_id" = $2 AND "members"."source_type" = $3 AND "members"."type" IN ('ProjectMember') AND "members"."requested_at" IS NULL ORDER BY "members"."id" DESC [["source_type", "Project"], ["source_id", 1], ["source_type", "Project"]] User Load (0.5ms) SELECT "users".* FROM "users" WHERE "users"."id" IN (5, 22, 16, 13) ORDER BY "users"."id" DESC ActiveRecord::SchemaMigration Load (0.2ms) SELECT "schema_migrations".* FROM "schema_migrations" ProjectMember Load (0.3ms) SELECT "members".* FROM "members" WHERE "members"."source_type" = $1 AND "members"."type" IN ('ProjectMember') AND "members"."source_id" = $2 AND "members"."source_type" = $3 AND "members"."type" IN ('ProjectMember') AND "members"."requested_at" IS NULL AND "members"."user_id" = $4 ORDER BY "members"."id" DESC LIMIT 1 [["source_type", "Project"], ["source_id", 1], ["source_type", "Project"], ["user_id", 5]] ProjectMember Load (0.3ms) SELECT "members".* FROM "members" WHERE "members"."source_type" = $1 AND "members"."type" IN ('ProjectMember') AND "members"."source_id" = $2 AND "members"."source_type" = $3 AND "members"."type" IN ('ProjectMember') AND "members"."requested_at" IS NULL AND "members"."user_id" = $4 ORDER BY "members"."id" DESC LIMIT 1 [["source_type", "Project"], ["source_id", 1], ["source_type", "Project"], ["user_id", 22]] ProjectMember Load (0.3ms) SELECT "members".* FROM "members" WHERE "members"."source_type" = $1 AND "members"."type" IN ('ProjectMember') AND "members"."source_id" = $2 AND "members"."source_type" = $3 AND "members"."type" IN ('ProjectMember') AND "members"."requested_at" IS NULL AND "members"."user_id" = $4 ORDER BY "members"."id" DESC LIMIT 1 [["source_type", "Project"], ["source_id", 1], ["source_type", "Project"], ["user_id", 16]] ProjectMember Load (0.3ms) SELECT "members".* FROM "members" WHERE "members"."source_type" = $1 AND "members"."type" IN ('ProjectMember') AND "members"."source_id" = $2 AND "members"."source_type" = $3 AND "members"."type" IN ('ProjectMember') AND "members"."requested_at" IS NULL AND "members"."user_id" = $4 ORDER BY "members"."id" DESC LIMIT 1 [["source_type", "Project"], ["source_id", 1], ["source_type", "Project"], ["user_id", 13]] ``` Without the N+1 queries issues: ``` ProjectMember Load (0.3ms) SELECT "members".* FROM "members" WHERE "members"."source_type" = $1 AND "members"."type" IN ('ProjectMember') AND "members"."source_id" = $2 AND "members"."source_type" = $3 AND "members"."type" IN ('ProjectMember') AND "members"."requested_at" IS NULL ORDER BY "members"."id" DESC LIMIT 20 OFFSET 0 [["source_type", "Project"], ["source_id", 1], ["source_type", "Project"]] User Load (0.5ms) SELECT "users".* FROM "users" WHERE "users"."id" IN (5, 22, 16, 13) ORDER BY "users"."id" DESC ``` 2. `GET /projects/:id/access_requests` With two N+1 queries issues: ``` ProjectMember Load (0.3ms) SELECT "members".* FROM "members" WHERE "members"."source_type" = $1 AND "members"."type" IN ('ProjectMember') AND "members"."source_id" = $2 AND "members"."source_type" = $3 AND "members"."type" IN ('ProjectMember') AND ("members"."requested_at" IS NOT NULL) ORDER BY "members"."id" DESC [["source_type", "Project"], ["source_id", 8], ["source_type", "Project"]] User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."id" DESC LIMIT 1 [["id", 24]] User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."id" DESC LIMIT 1 [["id", 23]] ActiveRecord::SchemaMigration Load (0.2ms) SELECT "schema_migrations".* FROM "schema_migrations" ProjectMember Load (0.1ms) SELECT "members".* FROM "members" WHERE "members"."source_type" = $1 AND "members"."type" IN ('ProjectMember') AND "members"."source_id" = $2 AND "members"."source_type" = $3 AND "members"."type" IN ('ProjectMember') AND ("members"."requested_at" IS NOT NULL) AND "members"."user_id" = $4 ORDER BY "members"."id" DESC LIMIT 1 [["source_type", "Project"], ["source_id", 8], ["source_type", "Project"], ["user_id", 24]] ProjectMember Load (0.2ms) SELECT "members".* FROM "members" WHERE "members"."source_type" = $1 AND "members"."type" IN ('ProjectMember') AND "members"."source_id" = $2 AND "members"."source_type" = $3 AND "members"."type" IN ('ProjectMember') AND ("members"."requested_at" IS NOT NULL) AND "members"."user_id" = $4 ORDER BY "members"."id" DESC LIMIT 1 [["source_type", "Project"], ["source_id", 8], ["source_type", "Project"], ["user_id", 23]] ``` Without the N+1 queries issues: ``` ProjectMember Load (0.3ms) SELECT "members".* FROM "members" WHERE "members"."source_type" = $1 AND "members"."type" IN ('ProjectMember') AND "members"."source_id" = $2 AND "members"."source_type" = $3 AND "members"."type" IN ('ProjectMember') AND ("members"."requested_at" IS NOT NULL) ORDER BY "members"."id" DESC LIMIT 20 OFFSET 0 [["source_type", "Project"], ["source_id", 8], ["source_type", "Project"]] User Load (0.5ms) SELECT "users".* FROM "users" WHERE "users"."id" IN (24, 23) ORDER BY "users"."id" DESC ``` Signed-off-by: Rémy Coutable <remy@rymai.me>
| | * | New AccessRequests API endpoints for Group & ProjectRémy Coutable2016-08-101-11/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also, mutualize AccessRequests and Members endpoints for Group & Project. New API documentation for the AccessRequests endpoints. Signed-off-by: Rémy Coutable <remy@rymai.me>
| * | | Merge remote-tracking branch 'upstream/master' into pipeline-hooks-without-slackLin Jen-Shin2016-08-111-1/+1
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * upstream/master: (233 commits) Fix awardable button mutuality loading spinners Update CHANGELOG for 8.10.5 Clean up project destruction Small refactor of doc/development/README.md Avoid commit lookup on diff_helper Removed extra newline from redis_spec.rb Used cached value of project count to reduce DB load Remove duplicate link_to statements Mention add_column_with_default in downtime guide Add missing space to generic badge template Rename `run` task helper method to prevent conflict with StateMachine Add a method in Project to return a cached value of total count of projects spellcheck Add svg guidelines to ui guide Add Changelog entry for Grape upgrade [ci skip] Fix Grape tests. Retain old behavior Update Grape from 0.13.0 to 0.15.0. adds second batch of tests changed to active tense fixes part1 of files to start using active tense ...
| | * | switch from diff_file_collection to diffs20034-safe-diffsPaco Guzman2016-08-031-1/+1
| | |/ | | | | | | | | | So we have raw_diffs too
| * | Implement pipeline hooks, extracted from !5525Lin Jen-Shin2016-08-021-2/+4
| |/ | | | | | | Closes #20115
| * Add API support for environmentsZ.J. van de Weg2016-07-291-0/+4
| |