diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-12-17 14:59:07 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-12-17 14:59:07 +0300 |
commit | 8b573c94895dc0ac0e1d9d59cf3e8745e8b539ca (patch) | |
tree | 544930fb309b30317ae9797a9683768705d664c4 /doc/api | |
parent | 4b1de649d0168371549608993deac953eb692019 (diff) |
Add latest changes from gitlab-org/gitlab@13-7-stable-eev13.7.0-rc42
Diffstat (limited to 'doc/api')
142 files changed, 9937 insertions, 1552 deletions
diff --git a/doc/api/README.md b/doc/api/README.md index 3933431407c..dced721b018 100644 --- a/doc/api/README.md +++ b/doc/api/README.md @@ -1,7 +1,7 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # API Docs @@ -97,7 +97,7 @@ HTTP/2 200 This can help you investigate an unexpected response. -### API Request that includes the exit code +### API request that includes the exit code If you want to expose the HTTP exit code, include the `--fail` option: @@ -107,11 +107,11 @@ curl: (22) The requested URL returned error: 404 ``` The HTTP exit code can help you diagnose the success or failure of your REST call. - + ## Authentication -Most API requests require authentication, or will return public data only when -authentication isn't provided. For cases where it isn't required, this will be +Most API requests require authentication, or only return public data when +authentication isn't provided. For cases where it isn't required, this is mentioned in the documentation for each individual endpoint (for example, the [`/projects/:id` endpoint](projects.md#get-single-project)). @@ -123,7 +123,7 @@ There are several methods you can use to authenticate with the GitLab API: - [Session cookie](#session-cookie) - [GitLab CI/CD job token](#gitlab-ci-job-token) **(Specific endpoints only)** -NOTE: **Note:** +NOTE: Project access tokens are supported for self-managed instances on Core and higher. They're also supported on GitLab.com Bronze and higher. @@ -133,7 +133,7 @@ to build applications or scripts that do so, the following options are available - [Impersonation tokens](#impersonation-tokens) - [Sudo](#sudo) -If authentication information is invalid or omitted, GitLab will return an error +If authentication information is invalid or omitted, GitLab returns an error message with a status code of `401`: ```json @@ -221,13 +221,13 @@ The token is valid as long as the job is running. ### Impersonation tokens Impersonation tokens are a type of [personal access token](../user/profile/personal_access_tokens.md) -that can only be created by an admin for a specific user. They are a great fit +that can only be created by an administrator for a specific user. They are a great fit if you want to build applications or scripts that authenticate with the API as a specific user. They're an alternative to directly using the user's password or one of their personal access tokens, and to using the [Sudo](#sudo) feature, as the user's -(or admin's, in the case of Sudo) password or token may not be known, or may +(or administrator's in the case of Sudo) password or token may not be known, or may change over time. For more information, see the [users API](users.md#create-an-impersonation-token) @@ -292,7 +292,7 @@ message with a status code of `403`: } ``` -If an access token without the `sudo` scope is provided, an error message will +If an access token without the `sudo` scope is provided, an error message is be returned with a status code of `403`: ```json @@ -303,7 +303,7 @@ be returned with a status code of `403`: } ``` -If the sudo user ID or username cannot be found, an error message will be +If the sudo user ID or username cannot be found, an error message is returned with a status code of `404`: ```json @@ -357,7 +357,7 @@ The following table shows the possible return codes for API requests. | `204 No Content` | The server has successfully fulfilled the request and that there is no additional content to send in the response payload body. | | `201 Created` | The `POST` request was successful and the resource is returned as JSON. | | `304 Not Modified` | Indicates that the resource has not been modified since the last request. | -| `400 Bad Request` | A required attribute of the API request is missing, e.g., the title of an issue is not given. | +| `400 Bad Request` | A required attribute of the API request is missing. For example, the title of an issue is not given. | | `401 Unauthorized` | The user is not authenticated, a valid [user token](#authentication) is necessary. | | `403 Forbidden` | The request is not allowed. For example, the user is not allowed to delete a project. | | `404 Not Found` | A resource could not be accessed. For example, an ID for a resource could not be found. | @@ -411,7 +411,7 @@ of the issue with ID `8` which belongs to the project with ID `9`: curl --head --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/9/issues/8/notes?per_page=3&page=2" ``` -The response will then be: +The response is: ```http HTTP/2 200 OK @@ -478,8 +478,8 @@ Status: 200 OK ... ``` -CAUTION: **Deprecation:** -The `Links` header will be removed in GitLab 14.0 to be aligned with the +WARNING: +The `Links` header is scheduled to be removed in GitLab 14.0 to be aligned with the [W3C `Link` specification](https://www.w3.org/wiki/LinkHeader). The `Link` header was [added in GitLab 13.1](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33714) and should be used instead. @@ -525,8 +525,8 @@ curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://git ``` Path parameters that are required to be URL-encoded must be followed. If not, -it won't match an API endpoint, and will respond with a 404. If there's -something in front of the API (for example, Apache), ensure that it won't decode +it doesn't match an API endpoint and responds with a 404. If there's +something in front of the API (for example, Apache), ensure that it doesn't decode the URL-encoded path parameters. ## Namespaced path encoding @@ -591,7 +591,7 @@ We can call the API with `array` and `hash` types parameters as follows: curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \ -d "import_sources[]=github" \ -d "import_sources[]=bitbucket" \ -https://gitlab.example.com/api/v4/some_endpoint +"https://gitlab.example.com/api/v4/some_endpoint" ``` ### `hash` @@ -605,7 +605,7 @@ curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \ --form "file=@/path/to/somefile.txt" --form "override_params[visibility]=private" \ --form "override_params[some_other_param]=some_value" \ -https://gitlab.example.com/api/v4/projects/import +"https://gitlab.example.com/api/v4/projects/import" ``` ### Array of hashes @@ -657,7 +657,7 @@ Such errors appear in the following cases: - An attribute did not pass the validation (for example, the user bio is too long). -When an attribute is missing, you will get something like: +When an attribute is missing, you receive something like: ```http HTTP/1.1 400 Bad Request @@ -667,7 +667,7 @@ Content-Type: application/json } ``` -When a validation error occurs, error messages will be different. They will hold +When a validation error occurs, error messages are different. They hold all details of validation errors: ```http @@ -706,7 +706,7 @@ follows: ## Unknown route -When you attempt to access an API URL that doesn't exist, you will receive +When you attempt to access an API URL that doesn't exist, you receive a 404 Not Found message. ```http diff --git a/doc/api/access_requests.md b/doc/api/access_requests.md index c133a362788..db68c140ae6 100644 --- a/doc/api/access_requests.md +++ b/doc/api/access_requests.md @@ -1,19 +1,21 @@ --- -stage: Create -group: Source Code -info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers" +stage: Manage +group: Access +info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments" type: reference, api --- # Group and project access requests API -> Introduced in GitLab 8.11. +> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/18583) in GitLab 8.11. ## Valid access levels - The access levels are defined in the `Gitlab::Access` module. Currently, these levels are recognized: +The access levels are defined in the `Gitlab::Access` module, and the +following levels are recognized: - No access (`0`) +- Minimal access (`5`) ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/220203) in GitLab 13.5.) - Guest (`10`) - Reporter (`20`) - Developer (`30`) diff --git a/doc/api/admin_sidekiq_queues.md b/doc/api/admin_sidekiq_queues.md index 8e1f7260208..7f2f2b8668c 100644 --- a/doc/api/admin_sidekiq_queues.md +++ b/doc/api/admin_sidekiq_queues.md @@ -1,7 +1,7 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Sidekiq queues administration API **(CORE ONLY)** diff --git a/doc/api/api_resources.md b/doc/api/api_resources.md index 7ef3b5fcbb6..c6fd5b7c45c 100644 --- a/doc/api/api_resources.md +++ b/doc/api/api_resources.md @@ -1,7 +1,7 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # API resources diff --git a/doc/api/appearance.md b/doc/api/appearance.md index 07d26b1a643..b33e41cf271 100644 --- a/doc/api/appearance.md +++ b/doc/api/appearance.md @@ -1,15 +1,16 @@ --- stage: Manage group: Access -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Appearance API **(CORE ONLY)** > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/16647) in GitLab 12.7. -Appearance API allows you to maintain GitLab's appearance as if using the GitLab UI at -`/admin/appearance`. The API requires administrator privileges. +The appearance API allows you to maintain the appearance of GitLab as if +you're using the GitLab UI at `/admin/appearance`. The API requires +administrator privileges. ## Get current appearance configuration @@ -54,7 +55,7 @@ PUT /application/appearance | --------------------------------- | ------- | -------- | ----------- | | `title` | string | no | Instance title on the sign in / sign up page | `description` | string | no | Markdown text shown on the sign in / sign up page -| `logo` | mixed | no | Instance image used on the sign in / sign up page +| `logo` | mixed | no | Instance image used on the sign in / sign up page. See [Change logo](#change-logo) | `header_logo` | mixed | no | Instance image used for the main navigation bar | `favicon` | mixed | no | Instance favicon in `.ico` or `.png` format | `new_project_guidelines` | string | no | Markdown text shown on the new project page @@ -87,3 +88,36 @@ Example response: "email_header_and_footer_enabled": true } ``` + +## Change logo + +Upload a logo to your GitLab instance. + +To upload an avatar from your file system, use the `--form` argument. This causes +cURL to post data using the header `Content-Type: multipart/form-data`. The +`file=` parameter must point to an image file on your file system and be +preceded by `@`. + +```plaintext +PUT /application/appearance +``` + +| Attribute | Type | Required | Description | +| --------- | ------ | -------- | -------------- | +| `logo` | string | Yes | File to upload | + +Example request: + +```shell +curl --location --request PUT "https://gitlab.example.com/api/v4/application/appearance?data=image/png" \ +--header "Content-Type: multipart/form-data" \ +--header "PRIVATE-TOKEN: <your_access_token>" \ +--form "logo=@/path/to/logo.png" +``` + +Returned object: + +```json +{ + "logo":"/uploads/-/system/appearance/logo/1/logo.png" +``` diff --git a/doc/api/applications.md b/doc/api/applications.md index a3216bdddde..eb4930c8721 100644 --- a/doc/api/applications.md +++ b/doc/api/applications.md @@ -1,7 +1,7 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Applications API @@ -13,7 +13,7 @@ Applications API operates on OAuth applications for: - [Using GitLab as an authentication provider](../integration/oauth_provider.md). - [Allowing access to GitLab resources on a user's behalf](oauth2.md). -NOTE: **Note:** +NOTE: Only admin users can use the Applications API. ## Create an application @@ -33,7 +33,7 @@ Parameters: | `name` | string | yes | Name of the application. | | `redirect_uri` | string | yes | Redirect URI of the application. | | `scopes` | string | yes | Scopes of the application. | -| `confidential` | boolean | no | The application will be used where the client secret can be kept confidential. Native mobile apps and Single Page Apps are considered non-confidential. Defaults to `true` if not supplied | +| `confidential` | boolean | no | The application is used where the client secret can be kept confidential. Native mobile apps and Single Page Apps are considered non-confidential. Defaults to `true` if not supplied | Example request: @@ -82,8 +82,8 @@ Example response: ] ``` -NOTE: **Note:** -The `secret` value will not be exposed by this API. +NOTE: +The `secret` value is not exposed by this API. ## Delete an application diff --git a/doc/api/audit_events.md b/doc/api/audit_events.md index 5fdf0c20f1a..282c4ccfeea 100644 --- a/doc/api/audit_events.md +++ b/doc/api/audit_events.md @@ -1,7 +1,7 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Audit Events API @@ -132,7 +132,8 @@ Example response: The Group Audit Events API allows you to retrieve [group audit events](../administration/audit_events.md#group-events). -To retrieve group audit events using the API, you must [authenticate yourself](README.md#authentication) as an Administrator or an owner of the group. +A user with a Owner role (or above) can retrieve group audit events of all users. +A user with a Developer or Maintainer role is limited to group audit events based on their individual actions. ### Retrieve all group audit events @@ -238,7 +239,8 @@ Example response: The Project Audit Events API allows you to retrieve [project audit events](../administration/audit_events.md#project-events). -To retrieve project audit events using the API, you must [authenticate yourself](README.md#authentication) as a Maintainer or an Owner of the project. +A user with a Maintainer role (or above) can retrieve project audit events of all users. +A user with a Developer role is limited to project audit events based on their individual actions. ### Retrieve all project audit events @@ -258,7 +260,7 @@ are paginated. Read more on [pagination](README.md#pagination). ```shell -curl --header "PRIVATE-TOKEN: <your_access_token>" https://primary.example.com/api/v4/projects/7/audit_events +curl --header "PRIVATE-TOKEN: <your_access_token>" "https://primary.example.com/api/v4/projects/7/audit_events" ``` Example response: @@ -318,7 +320,7 @@ GET /projects/:id/audit_events/:audit_event_id | `audit_event_id` | integer | yes | The ID of the audit event | ```shell -curl --header "PRIVATE-TOKEN: <your_access_token>" https://primary.example.com/api/v4/projects/7/audit_events/5 +curl --header "PRIVATE-TOKEN: <your_access_token>" "https://primary.example.com/api/v4/projects/7/audit_events/5" ``` Example response: diff --git a/doc/api/avatar.md b/doc/api/avatar.md index aec1ba67d45..31f254c7986 100644 --- a/doc/api/avatar.md +++ b/doc/api/avatar.md @@ -1,7 +1,7 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Avatar API @@ -16,9 +16,9 @@ If: - No user with the given public email address is found, results from external avatar services are returned. -- Public visibility is restricted, response will be `403 Forbidden` when unauthenticated. +- Public visibility is restricted, response is `403 Forbidden` when unauthenticated. -NOTE: **Note:** +NOTE: This endpoint can be accessed without authentication. ```plaintext diff --git a/doc/api/award_emoji.md b/doc/api/award_emoji.md index 6e8739df13c..32ac6ef26ea 100644 --- a/doc/api/award_emoji.md +++ b/doc/api/award_emoji.md @@ -1,7 +1,7 @@ --- stage: Plan group: Project Management -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Award Emoji API @@ -10,21 +10,22 @@ info: To determine the technical writer assigned to the Stage/Group associated w An [awarded emoji](../user/award_emojis.md) tells a thousand words. -Emoji can be awarded on the following (known as "awardables"): +We call GitLab objects on which you can award an emoji "awardables". You can award emojis on the following: +- [Epics](../user/group/epics/index.md) ([API](epics.md)). - [Issues](../user/project/issues/index.md) ([API](issues.md)). - [Merge requests](../user/project/merge_requests/index.md) ([API](merge_requests.md)). - [Snippets](../user/snippets.md) ([API](snippets.md)). -Emoji can also [be awarded](../user/award_emojis.md#award-emoji-for-comments) on comments (also known as notes). See also [Notes API](notes.md). +Emojis can also [be awarded](../user/award_emojis.md#award-emoji-for-comments) on comments (also known as notes). See also [Notes API](notes.md). ## Issues, merge requests, and snippets See [Award Emoji on Comments](#award-emoji-on-comments) for information on using these endpoints with comments. -### List an awardable's award emoji +### List an awardable's award emojis -Get a list of all award emoji for a specified awardable. +Get a list of all award emojis for a specified awardable. ```plaintext GET /projects/:id/issues/:issue_iid/award_emoji @@ -174,10 +175,9 @@ Example Response: ### Delete an award emoji -Sometimes it's just not meant to be and you'll have to remove the award. +Sometimes it's just not meant to be and you need to remove the award. -NOTE: **Note:** -Only available to administrators or the author of the award. +Only an administrator or the author of the award can delete an award emoji. ```plaintext DELETE /projects/:id/issues/:issue_iid/award_emoji/:award_id @@ -201,14 +201,14 @@ curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://git Comments (also known as notes) are a sub-resource of issues, merge requests, and snippets. -NOTE: **Note:** -The examples below describe working with award emoji on comments for an issue, but can be -easily adapted for comments on a merge request or on a snippet. Therefore, you have to replace +NOTE: +The examples below describe working with award emojis on an issue's comments, but can be +adapted to comments on merge requests and snippets. Therefore, you have to replace `issue_iid` either with `merge_request_iid` or with the `snippet_id`. -### List a comment's award emoji +### List a comment's award emojis -Get all award emoji for a comment (note). +Get all award emojis for a comment (note). ```plaintext GET /projects/:id/issues/:issue_iid/notes/:note_id/award_emoji @@ -341,10 +341,9 @@ Example response: ### Delete an award emoji from a comment -Sometimes it's just not meant to be and you'll have to remove the award. +Sometimes it's just not meant to be and you need to remove the award. -NOTE: **Note:** -Only available to administrators or the author of the award. +Only an administrator or the author of the award can delete an award emoji. ```plaintext DELETE /projects/:id/issues/:issue_iid/notes/:note_id/award_emoji/:award_id diff --git a/doc/api/boards.md b/doc/api/boards.md index 228c0ca322b..aff82daa1bf 100644 --- a/doc/api/boards.md +++ b/doc/api/boards.md @@ -1,7 +1,7 @@ --- stage: Plan group: Project Management -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Project Issue Boards API @@ -423,7 +423,7 @@ POST /projects/:id/boards/:board_id/lists | `assignee_id` **(PREMIUM)** | integer | no | The ID of a user | | `milestone_id` **(PREMIUM)** | integer | no | The ID of a milestone | -NOTE: **Note:** +NOTE: Label, assignee and milestone arguments are mutually exclusive, that is, only one of them are accepted in a request. Check the [Issue Board docs](../user/project/issue_board.md) diff --git a/doc/api/branches.md b/doc/api/branches.md index fbb5368cabc..74383841272 100644 --- a/doc/api/branches.md +++ b/doc/api/branches.md @@ -1,7 +1,7 @@ --- stage: Create group: Source Code -info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers" +info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments" type: reference, api --- @@ -9,14 +9,13 @@ type: reference, api This API operates on [repository branches](../user/project/repository/branches/index.md). -TIP: **Tip:** See also [Protected branches API](protected_branches.md). ## List repository branches Get a list of repository branches from a project, sorted by name alphabetically. -NOTE: **Note:** +NOTE: This endpoint can be accessed without authentication if the repository is publicly accessible. ```plaintext @@ -73,7 +72,7 @@ Example response: Get a single project repository branch. -NOTE: **Note:** +NOTE: This endpoint can be accessed without authentication if the repository is publicly accessible. ```plaintext @@ -189,7 +188,7 @@ Example response: Delete a branch from the repository. -NOTE: **Note:** +NOTE: In the case of an error, an explanation message is provided. ```plaintext @@ -213,7 +212,7 @@ curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://git Will delete all branches that are merged into the project's default branch. -NOTE: **Note:** +NOTE: [Protected branches](../user/project/protected_branches.md) will not be deleted as part of this operation. ```plaintext diff --git a/doc/api/broadcast_messages.md b/doc/api/broadcast_messages.md index f7253da297d..04b2727f575 100644 --- a/doc/api/broadcast_messages.md +++ b/doc/api/broadcast_messages.md @@ -1,7 +1,7 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Broadcast Messages API @@ -12,8 +12,8 @@ Broadcast messages API operates on [broadcast messages](../user/admin_area/broad As of GitLab 12.8, GET requests do not require authentication. All other broadcast message API endpoints are accessible only to administrators. Non-GET requests by: -- Guests will result in `401 Unauthorized`. -- Regular users will result in `403 Forbidden`. +- Guests result in `401 Unauthorized`. +- Regular users result in `403 Forbidden`. ## Get all broadcast messages diff --git a/doc/api/build_triggers.md b/doc/api/build_triggers.md index bad7a655d08..13adf949981 100644 --- a/doc/api/build_triggers.md +++ b/doc/api/build_triggers.md @@ -3,3 +3,6 @@ redirect_to: 'pipeline_triggers.md' --- This document was moved to [another location](pipeline_triggers.md). + +<!-- This redirect file can be deleted after February 1, 2021. --> +<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page --> diff --git a/doc/api/builds.md b/doc/api/builds.md index 0154d35cab6..b7b61e853a8 100644 --- a/doc/api/builds.md +++ b/doc/api/builds.md @@ -3,3 +3,6 @@ redirect_to: 'jobs.md' --- This document was moved to [another location](jobs.md). + +<!-- This redirect file can be deleted after February 1, 2021. --> +<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page --> diff --git a/doc/api/commits.md b/doc/api/commits.md index d60acaad94d..81014956fc5 100644 --- a/doc/api/commits.md +++ b/doc/api/commits.md @@ -1,7 +1,7 @@ --- stage: Create group: Source Code -info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers" +info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments" type: reference, api --- @@ -635,7 +635,7 @@ GET /projects/:id/repository/commits/:sha/statuses | `all` | boolean | no | Return all statuses, not only the latest ones ```shell -curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/17/repository/commits/18f3e63d05582537db6d183d9d557be09e1f90c8/statuses +curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/17/repository/commits/18f3e63d05582537db6d183d9d557be09e1f90c8/statuses" ``` Example response: diff --git a/doc/api/container_registry.md b/doc/api/container_registry.md index ddfe5d3f238..5f3dbcb1ab0 100644 --- a/doc/api/container_registry.md +++ b/doc/api/container_registry.md @@ -1,7 +1,7 @@ --- stage: Package group: Package -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Container Registry API @@ -313,7 +313,7 @@ You can run this at most once an hour for a given container repository. This action doesn't delete blobs. To delete them and recycle disk space, [run the garbage collection](https://docs.gitlab.com/omnibus/maintenance/README.html#removing-unused-layers-not-referenced-by-manifests). -NOTE: **Note:** +NOTE: In GitLab 12.4 and later, individual tags are deleted. For more details, see the [discussion](https://gitlab.com/gitlab-org/gitlab/-/issues/15737). diff --git a/doc/api/custom_attributes.md b/doc/api/custom_attributes.md index 76c8474ee95..68d27b77998 100644 --- a/doc/api/custom_attributes.md +++ b/doc/api/custom_attributes.md @@ -1,7 +1,7 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Custom Attributes API @@ -9,7 +9,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w Every API call to custom attributes must be authenticated as administrator. Custom attributes are currently available on users, groups, and projects, -which will be referred to as "resource" in this documentation. +which is referred to as "resource" in this documentation. ## List custom attributes @@ -74,7 +74,7 @@ Example response: ## Set custom attribute -Set a custom attribute on a resource. The attribute will be updated if it already exists, +Set a custom attribute on a resource. The attribute is updated if it already exists, or newly created otherwise. ```plaintext diff --git a/doc/api/dependencies.md b/doc/api/dependencies.md index 2f65ff7b8d9..6beb57a6da0 100644 --- a/doc/api/dependencies.md +++ b/doc/api/dependencies.md @@ -1,12 +1,12 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Dependencies API **(ULTIMATE)** -CAUTION: **Caution:** +WARNING: This API is in an alpha stage and considered unstable. The response payload may be subject to change or breakage across GitLab releases. diff --git a/doc/api/dependency_proxy.md b/doc/api/dependency_proxy.md index 4d937027dec..ab691aaecea 100644 --- a/doc/api/dependency_proxy.md +++ b/doc/api/dependency_proxy.md @@ -1,7 +1,7 @@ --- stage: Package group: Package -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Dependency Proxy API @@ -11,9 +11,9 @@ info: To determine the technical writer assigned to the Stage/Group associated w > - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/11631) in GitLab 12.10. > - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/273655) to [GitLab Core](https://about.gitlab.com/pricing/) in GitLab 13.6. -Deletes the cached blobs for a group. This endpoint requires group admin access. +Deletes the cached manifests and blobs for a group. This endpoint requires group admin access. -CAUTION: **Warning:** +WARNING: [A bug exists](https://gitlab.com/gitlab-org/gitlab/-/issues/277161) for this API. ```plaintext diff --git a/doc/api/deploy_key_multiple_projects.md b/doc/api/deploy_key_multiple_projects.md index 85df972746e..16ce201c1c0 100644 --- a/doc/api/deploy_key_multiple_projects.md +++ b/doc/api/deploy_key_multiple_projects.md @@ -3,3 +3,6 @@ redirect_to: deploy_keys.md#adding-deploy-keys-to-multiple-projects --- This document was moved to [another location](deploy_keys.md#adding-deploy-keys-to-multiple-projects). + +<!-- This redirect file can be deleted after February 1, 2021. --> +<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page --> diff --git a/doc/api/deploy_keys.md b/doc/api/deploy_keys.md index 97b7614f932..293f7218527 100644 --- a/doc/api/deploy_keys.md +++ b/doc/api/deploy_keys.md @@ -1,7 +1,7 @@ --- stage: Release -group: Progressive Delivery -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +group: Release +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Deploy Keys API diff --git a/doc/api/deploy_tokens.md b/doc/api/deploy_tokens.md index ce55657ce27..2bdec4a0688 100644 --- a/doc/api/deploy_tokens.md +++ b/doc/api/deploy_tokens.md @@ -1,7 +1,7 @@ --- stage: Release -group: Progressive Delivery -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +group: Release +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Deploy Tokens API diff --git a/doc/api/deployments.md b/doc/api/deployments.md index 0bc72c93be7..4a937cd1818 100644 --- a/doc/api/deployments.md +++ b/doc/api/deployments.md @@ -1,7 +1,7 @@ --- stage: Release -group: Release Management -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +group: Release +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments type: concepts, howto --- diff --git a/doc/api/discussions.md b/doc/api/discussions.md index b9feef843b1..51ca2bea3ae 100644 --- a/doc/api/discussions.md +++ b/doc/api/discussions.md @@ -1,7 +1,7 @@ --- stage: Create group: Source Code -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments type: reference, api --- @@ -773,6 +773,7 @@ Diff comments also contain position: "noteable_id": 3, "noteable_type": "Merge request", "noteable_iid": null, + "commit_id": "4803c71e6b1833ca72b8b26ef2ecd5adc8a38031", "position": { "base_sha": "b5d6e7b1613fca24d250fa8e5bc7bcc3dd6002ef", "start_sha": "7c9c2ead8a320fb7ba0b4e234bd9529a2614e306", @@ -828,6 +829,8 @@ curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/a ### Create new merge request thread +> The `commit id` entry was [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/47130) in GitLab 13.7. + Creates a new thread to a single project merge request. This is similar to creating a note but other comments (replies) can be added to it later. @@ -842,6 +845,7 @@ Parameters: | `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) | | `merge_request_iid` | integer | yes | The IID of a merge request | | `body` | string | yes | The content of the thread | +| `commit_id` | string | no | SHA referencing commit to start this thread on | | `created_at` | string | no | Date time string, ISO 8601 formatted, e.g. 2016-03-11T03:45:40Z (requires admin or project/group owner rights) | | `position` | hash | no | Position when creating a diff note | | `position[base_sha]` | string | yes | Base commit SHA in the source branch | diff --git a/doc/api/environments.md b/doc/api/environments.md index 8b900ad2fd3..7340fe9f9e9 100644 --- a/doc/api/environments.md +++ b/doc/api/environments.md @@ -1,7 +1,7 @@ --- stage: Release -group: Release Management -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +group: Release +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments type: concepts, howto --- diff --git a/doc/api/epic_issues.md b/doc/api/epic_issues.md index 21ba75d37a5..17115f65b90 100644 --- a/doc/api/epic_issues.md +++ b/doc/api/epic_issues.md @@ -1,18 +1,18 @@ --- stage: Plan group: Product Planning -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Epic Issues API **(PREMIUM)** Every API call to epic_issues must be authenticated. -If a user is not a member of a group and the group is private, a `GET` request on that group will -result in a `404` status code. +If a user is not a member of a group and the group is private, a `GET` request on that group +results in a `404` status code. Epics are available only in GitLab [Premium and higher](https://about.gitlab.com/pricing/). -If the Epics feature is not available, a `403` status code will be returned. +If the Epics feature is not available, a `403` status code is returned. ## List issues for an epic diff --git a/doc/api/epic_links.md b/doc/api/epic_links.md index a368b806f75..319d1a1ee9b 100644 --- a/doc/api/epic_links.md +++ b/doc/api/epic_links.md @@ -1,7 +1,7 @@ --- stage: Plan group: Product Planning -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Epic Links API **(ULTIMATE)** @@ -12,10 +12,10 @@ Manages parent-child [epic relationships](../user/group/epics/index.md#multi-lev Every API call to `epic_links` must be authenticated. -If a user is not a member of a group and the group is private, a `GET` request on that group will result to a `404` status code. +If a user makes a `GET` request to a private group they are not a member of, the result is a `404` status code. Multi-level Epics are available only in GitLab [Ultimate/Gold](https://about.gitlab.com/pricing/). -If the Multi-level Epics feature is not available, a `403` status code will be returned. +If the Multi-level Epics feature is not available, a `403` status code is returned. ## List epics related to a given epic @@ -135,9 +135,9 @@ POST /groups/:id/epics/:epic_iid/epics | Attribute | Type | Required | Description | | --------------- | -------------- | -------- | ------------------------------------------------------------------------------------------------------------------ | | `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) owned by the authenticated user | -| `epic_iid` | integer | yes | The internal ID of the (future parent) epic. | -| `title` | string | yes | The title of a newly created epic. | -| `confidential` | boolean | no | Whether the epic should be confidential. Will be ignored if `confidential_epics` feature flag is disabled. Defaults to the confidentiality state of the parent epic. | +| `epic_iid` | integer | yes | The internal ID of the (future parent) epic. | +| `title` | string | yes | The title of a newly created epic. | +| `confidential` | boolean | no | Whether the epic should be confidential. Parameter is ignored if `confidential_epics` feature flag is disabled. Defaults to the confidentiality state of the parent epic. | ```shell curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/epics/5/epics?title=Newpic" diff --git a/doc/api/epics.md b/doc/api/epics.md index 74cde87bb91..dc582808578 100644 --- a/doc/api/epics.md +++ b/doc/api/epics.md @@ -1,7 +1,7 @@ --- stage: Plan group: Product Planning -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Epics API **(PREMIUM)** @@ -38,11 +38,11 @@ are paginated. Read more on [pagination](README.md#pagination). -CAUTION: **Deprecation:** +WARNING: > `reference` attribute in response is deprecated in favour of `references`. > Introduced [GitLab 12.6](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20354) -NOTE: **Note:** +NOTE: > `references.relative` is relative to the group that the epic is being requested. When epic is fetched from its origin group > `relative` format would be the same as `short` format and when requested cross groups it is expected to be the same as `full` format. @@ -251,7 +251,7 @@ Example response: Creates a new epic. -NOTE: **Note:** +NOTE: Starting with GitLab [11.3](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6448), `start_date` and `end_date` should no longer be assigned directly, as they now represent composite values. You can configure it via the `*_is_fixed` and `*_fixed` fields instead. @@ -333,7 +333,7 @@ Example response: Updates an epic. -NOTE: **Note:** +NOTE: Starting with GitLab [11.3](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6448), `start_date` and `end_date` should no longer be assigned directly, as they now represent composite values. You can configure it via the `*_is_fixed` and `*_fixed` fields instead. diff --git a/doc/api/error_tracking.md b/doc/api/error_tracking.md index 5bb5016d0fd..12ff0148661 100644 --- a/doc/api/error_tracking.md +++ b/doc/api/error_tracking.md @@ -1,7 +1,7 @@ --- stage: Monitor group: Health -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Error Tracking settings API diff --git a/doc/api/events.md b/doc/api/events.md index e59630d1358..d073e7ed633 100644 --- a/doc/api/events.md +++ b/doc/api/events.md @@ -1,7 +1,7 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Events @@ -268,7 +268,7 @@ Example response: ## List a Project's visible events -NOTE: **Note:** +NOTE: This endpoint has been around longer than the others. Documentation was formerly located in the [Projects API pages](projects.md). Get a list of visible events for a particular project. diff --git a/doc/api/experiments.md b/doc/api/experiments.md index 7e2cad1070b..3c8efa35b78 100644 --- a/doc/api/experiments.md +++ b/doc/api/experiments.md @@ -1,7 +1,7 @@ --- stage: Growth group: Expansion -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Experiments API diff --git a/doc/api/feature_flag_specs.md b/doc/api/feature_flag_specs.md index eaa6ea36c23..45db47f5ffe 100644 --- a/doc/api/feature_flag_specs.md +++ b/doc/api/feature_flag_specs.md @@ -1,14 +1,14 @@ --- stage: Release -group: Progressive Delivery -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +group: Release +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Feature Flag Specs API **(PREMIUM)** > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/9566) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.5. -CAUTION: **Deprecation:** +WARNING: This API is deprecated and [scheduled for removal in GitLab 14.0](https://gitlab.com/gitlab-org/gitlab/-/issues/213369). The API for creating, updating, reading and deleting Feature Flag Specs. diff --git a/doc/api/feature_flag_user_lists.md b/doc/api/feature_flag_user_lists.md index 7cdfcb8d074..ba03b81ebfd 100644 --- a/doc/api/feature_flag_user_lists.md +++ b/doc/api/feature_flag_user_lists.md @@ -1,7 +1,7 @@ --- stage: Release -group: Progressive Delivery -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +group: Release +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Feature flag user lists API **(CORE)** @@ -13,7 +13,7 @@ API for accessing GitLab Feature Flag User Lists. Users with Developer or higher [permissions](../user/permissions.md) can access the Feature Flag User Lists API. -NOTE: **Note:** +NOTE: `GET` requests return twenty results at a time because the API results are [paginated](README.md#pagination). You can change this value. diff --git a/doc/api/feature_flags.md b/doc/api/feature_flags.md index fbda873f866..e8d6911463d 100644 --- a/doc/api/feature_flags.md +++ b/doc/api/feature_flags.md @@ -1,7 +1,7 @@ --- stage: Release -group: Progressive Delivery -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +group: Release +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Feature Flags API **(CORE)** @@ -10,10 +10,6 @@ info: To determine the technical writer assigned to the Stage/Group associated w > - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/212318) to [GitLab Starter](https://about.gitlab.com/pricing/) in 13.4. > - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/212318) to [GitLab Core](https://about.gitlab.com/pricing/) in 13.5. -NOTE: **Note:** -This API is behind a [feature flag](../operations/feature_flags.md#enable-or-disable-feature-flag-strategies). -If this flag is not enabled in your environment, you can use the [legacy feature flags API](feature_flags_legacy.md). - API for accessing resources of [GitLab Feature Flags](../operations/feature_flags.md). Users with Developer or higher [permissions](../user/permissions.md) can access Feature Flag API. @@ -107,7 +103,7 @@ GET /projects/:id/feature_flags/:feature_flag_name | `feature_flag_name` | string | yes | The name of the feature flag. | ```shell -curl --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/1/feature_flags/awesome_feature +curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/feature_flags/awesome_feature" ``` Example response: diff --git a/doc/api/feature_flags_legacy.md b/doc/api/feature_flags_legacy.md index a7c139a02ba..8a5af39a37f 100644 --- a/doc/api/feature_flags_legacy.md +++ b/doc/api/feature_flags_legacy.md @@ -1,7 +1,7 @@ --- stage: Release -group: Progressive Delivery -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +group: Release +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Legacy Feature Flags API **(CORE)** @@ -10,7 +10,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w > - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/212318) to [GitLab Starter](https://about.gitlab.com/pricing/) in 13.4. > - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/212318) to [GitLab Core](https://about.gitlab.com/pricing/) in 13.5. -CAUTION: **Deprecation:** +WARNING: This API is deprecated and [scheduled for removal in GitLab 14.0](https://gitlab.com/gitlab-org/gitlab/-/issues/213369). Use [this API](feature_flags.md) instead. API for accessing resources of [GitLab Feature Flags](../operations/feature_flags.md). @@ -36,7 +36,7 @@ GET /projects/:id/feature_flags | `scope` | string | no | The condition of feature flags, one of: `enabled`, `disabled`. | ```shell -curl --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/1/feature_flags +curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/feature_flags" ``` Example response: @@ -174,7 +174,7 @@ POST /projects/:id/feature_flags | `scopes:strategies` | JSON | no | The [strategies](../operations/feature_flags.md#feature-flag-strategies) of the feature flag spec. | ```shell -curl https://gitlab.example.com/api/v4/projects/1/feature_flags \ +curl "https://gitlab.example.com/api/v4/projects/1/feature_flags" \ --header "PRIVATE-TOKEN: <your_access_token>" \ --header "Content-type: application/json" \ --data @- << EOF @@ -244,7 +244,7 @@ GET /projects/:id/feature_flags/:name | `name` | string | yes | The name of the feature flag. | ```shell -curl --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/1/feature_flags/new_live_trace +curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/feature_flags/new_live_trace" ``` Example response: @@ -320,5 +320,5 @@ DELETE /projects/:id/feature_flags/:name | `name` | string | yes | The name of the feature flag. | ```shell -curl --header "PRIVATE-TOKEN: <your_access_token>" --request DELETE https://gitlab.example.com/api/v4/projects/1/feature_flags/awesome_feature +curl --header "PRIVATE-TOKEN: <your_access_token>" --request DELETE "https://gitlab.example.com/api/v4/projects/1/feature_flags/awesome_feature" ``` diff --git a/doc/api/features.md b/doc/api/features.md index bbf86eca490..0582a4b9432 100644 --- a/doc/api/features.md +++ b/doc/api/features.md @@ -1,7 +1,7 @@ --- stage: Release -group: Progressive Delivery -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +group: Release +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Features flags API @@ -37,7 +37,8 @@ Example response: "key": "boolean", "value": false } - ] + ], + "definition": null }, { "name": "my_user_feature", @@ -47,7 +48,15 @@ Example response: "key": "percentage_of_actors", "value": 34 } - ] + ], + "definition": { + "name": "my_user_feature", + "introduced_by_url": "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40880", + "rollout_issue_url": "https://gitlab.com/gitlab-org/gitlab/-/issues/244905", + "group": "group::ci", + "type": "development", + "default_enabled": false + } }, { "name": "new_library", @@ -57,7 +66,45 @@ Example response: "key": "boolean", "value": true } - ] + ], + "definition": null + } +] +``` + +## List all feature definitions + +Get a list of all feature definitions. + +```plaintext +GET /features/definitions +``` + +```shell +curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/features/definitions" +``` + +Example response: + +```json +[ + { + "name": "api_kaminari_count_with_limit", + "introduced_by_url": "https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/23931", + "rollout_issue_url": null, + "milestone": "11.8", + "type": "ops", + "group": "group::ecosystem", + "default_enabled": false + }, + { + "name": "marginalia", + "introduced_by_url": null, + "rollout_issue_url": null, + "milestone": null, + "type": "ops", + "group": null, + "default_enabled": false } ] ``` @@ -81,6 +128,7 @@ POST /features/:name | `user` | string | no | A GitLab username | | `group` | string | no | A GitLab group's path, for example `gitlab-org` | | `project` | string | no | A projects path, for example `gitlab-org/gitlab-foss` | +| `force` | boolean | no | Skip feature flag validation checks, ie. YAML definition | Note that you can enable or disable a feature for a `feature_group`, a `user`, a `group`, and a `project` in a single API call. @@ -104,7 +152,15 @@ Example response: "key": "percentage_of_time", "value": 30 } - ] + ], + "definition": { + "name": "my_user_feature", + "introduced_by_url": "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40880", + "rollout_issue_url": "https://gitlab.com/gitlab-org/gitlab/-/issues/244905", + "group": "group::ci", + "type": "development", + "default_enabled": false + } } ``` @@ -133,7 +189,15 @@ Example response: "key": "percentage_of_actors", "value": 42 } - ] + ], + "definition": { + "name": "my_user_feature", + "introduced_by_url": "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40880", + "rollout_issue_url": "https://gitlab.com/gitlab-org/gitlab/-/issues/244905", + "group": "group::ci", + "type": "development", + "default_enabled": false + } } ``` diff --git a/doc/api/freeze_periods.md b/doc/api/freeze_periods.md index 7a2f88e9f00..50f1fe9f12b 100644 --- a/doc/api/freeze_periods.md +++ b/doc/api/freeze_periods.md @@ -1,7 +1,7 @@ --- stage: Release -group: Release Management -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +group: Release +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments type: concepts, howto --- @@ -9,7 +9,7 @@ type: concepts, howto > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29382) in GitLab 13.0. -You can use the Freeze Periods API to manipulate GitLab's [Freeze Period](../user/project/releases/index.md#prevent-unintentional-releases-by-setting-a-deploy-freeze) entries. +You can use the Freeze Periods API to manipulate GitLab [Freeze Period](../user/project/releases/index.md#prevent-unintentional-releases-by-setting-a-deploy-freeze) entries. ## Permissions and security @@ -101,7 +101,7 @@ Example request: ```shell curl --header 'Content-Type: application/json' --header "PRIVATE-TOKEN: <your_access_token>" \ --data '{ "freeze_start": "0 23 * * 5", "freeze_end": "0 7 * * 1", "cron_timezone": "UTC" }' \ - --request POST https://gitlab.example.com/api/v4/projects/19/freeze_periods + --request POST "https://gitlab.example.com/api/v4/projects/19/freeze_periods" ``` Example response: @@ -138,7 +138,7 @@ Example request: ```shell curl --header 'Content-Type: application/json' --header "PRIVATE-TOKEN: <your_access_token>" \ --data '{ "freeze_end": "0 8 * * 1" }' \ - --request PUT https://gitlab.example.com/api/v4/projects/19/freeze_periods/1 + --request PUT "https://gitlab.example.com/api/v4/projects/19/freeze_periods/1" ``` Example response: diff --git a/doc/api/geo_nodes.md b/doc/api/geo_nodes.md index c9b86320a9f..280d02ced32 100644 --- a/doc/api/geo_nodes.md +++ b/doc/api/geo_nodes.md @@ -1,7 +1,7 @@ --- stage: Enablement group: Geo -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Geo Nodes API **(PREMIUM ONLY)** @@ -240,7 +240,7 @@ Example response: Removes the Geo node. -NOTE: **Note:** +NOTE: Only a Geo primary node will accept this request. ```plaintext @@ -548,7 +548,8 @@ Example response: } ``` -Note: The `health_status` parameter can only be in an "Healthy" or "Unhealthy" state, while the `health` parameter can be empty, "Healthy", or contain the actual error message. +NOTE: +The `health_status` parameter can only be in an "Healthy" or "Unhealthy" state, while the `health` parameter can be empty, "Healthy", or contain the actual error message. ## Retrieve project sync or verification failures that occurred on the current node diff --git a/doc/api/graphql/audit_report.md b/doc/api/graphql/audit_report.md index 12663654026..74ac8710160 100644 --- a/doc/api/graphql/audit_report.md +++ b/doc/api/graphql/audit_report.md @@ -1,7 +1,7 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Set up an Audit Report with GraphQL @@ -105,7 +105,7 @@ explorer. GraphiQL explorer is available for: ![GraphiQL explorer search for boards](img/user_query_example_v13_2.png) -NOTE: **Note:** +NOTE: [The GraphQL API returns a GlobalID, rather than a standard ID.](getting_started.md#queries-and-mutations) It also expects a GlobalID as an input rather than a single integer. diff --git a/doc/api/graphql/getting_started.md b/doc/api/graphql/getting_started.md index 8501e76b5aa..ca2b7989700 100644 --- a/doc/api/graphql/getting_started.md +++ b/doc/api/graphql/getting_started.md @@ -1,12 +1,12 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Getting started with GitLab GraphQL API -This guide demonstrates basic usage of GitLab's GraphQL API. +This guide demonstrates basic usage of the GitLab GraphQL API. See the [GraphQL API style guide](../../development/api_graphql_styleguide.md) for implementation details aimed at developers who wish to work on developing the API itself. @@ -29,7 +29,7 @@ Example: ```shell GRAPHQL_TOKEN=<your-token> -curl 'https://gitlab.com/api/graphql' --header "Authorization: Bearer $GRAPHQL_TOKEN" --header "Content-Type: application/json" --request POST --data "{\"query\": \"query {currentUser {name}}\"}" +curl "https://gitlab.com/api/graphql" --header "Authorization: Bearer $GRAPHQL_TOKEN" --header "Content-Type: application/json" --request POST --data "{\"query\": \"query {currentUser {name}}\"}" ``` ### GraphiQL @@ -41,11 +41,11 @@ The examples below: - Can be run directly against GitLab 11.0 or later, though some of the types and fields may not be supported in older versions. -- Will work against GitLab.com without any further setup. Make sure you are signed in and +- Works against GitLab.com without any further setup. Make sure you are signed in and navigate to the [GraphiQL Explorer](https://gitlab.com/-/graphql-explorer). If you want to run the queries locally, or on a self-managed instance, -you will need to either: +you must either: - Create the `gitlab-org` group with a project called `graphql-sandbox` under it. Create several issues within the project. @@ -53,7 +53,7 @@ several issues within the project. Please refer to [running GraphiQL](index.md#graphiql) for more information. -NOTE: **Note:** +NOTE: If you are running GitLab 11.0 to 12.0, enable the `graphql` [feature flag](../features.md#set-or-create-a-feature). @@ -64,12 +64,12 @@ The GitLab GraphQL API can be used to perform: - Queries for data retrieval. - [Mutations](#mutations) for creating, updating, and deleting data. -NOTE: **Note:** +NOTE: In the GitLab GraphQL API, `id` refers to a [Global ID](https://graphql.org/learn/global-object-identification/), which is an object identifier in the format of `"gid://gitlab/Issue/123"`. -[GitLab's GraphQL Schema](reference/index.md) outlines which objects and fields are +[GitLab GraphQL Schema](reference/index.md) outlines which objects and fields are available for clients to query and their corresponding data types. Example: Get only the names of all the projects the currently logged in user can access (up to a limit, more on that later) @@ -133,7 +133,7 @@ More about queries: ### Authorization Authorization uses the same engine as the GitLab application (and GitLab.com). So if you've signed in to GitLab -and use GraphiQL, all queries will be performed as you, the signed in user. For more information, see the +and use GraphiQL, all queries are performed as you, the signed in user. For more information, see the [GitLab API documentation](../README.md#authentication). ### Mutations @@ -173,7 +173,7 @@ mutation { ``` Example: Add a comment to the issue (we're using the ID of the `GitLab.com` issue - but -if you're using a local instance, you'll need to get the ID of an issue you can write to). +if you're using a local instance, you must get the ID of an issue you can write to). ```graphql mutation { @@ -289,7 +289,7 @@ More about introspection: ## Sorting -Some of GitLab's GraphQL endpoints allow you to specify how you'd like a collection of +Some of the GitLab GraphQL endpoints allow you to specify how you'd like a collection of objects to be sorted. You can only sort by what the schema allows you to. Example: Issues can be sorted by creation date: @@ -314,9 +314,9 @@ Pagination is a way of only asking for a subset of the records (say, the first 1 If we want more of them, we can make another request for the next 10 from the server (in the form of something like "please give me the next 10 records"). -By default, GitLab's GraphQL API will return only the first 100 records of any collection. +By default, the GitLab GraphQL API returns only the first 100 records of any collection. This can be changed by using `first` or `last` arguments. Both arguments take a value, -so `first: 10` will return the first 10 records, and `last: 10` the last 10 records. +so `first: 10` returns the first 10 records, and `last: 10` the last 10 records. Example: Retrieve only the first 2 issues (slicing). The `cursor` field gives us a position from which we can retrieve further records relative to that one. diff --git a/doc/api/graphql/index.md b/doc/api/graphql/index.md index 91917ea47a4..681130e82c1 100644 --- a/doc/api/graphql/index.md +++ b/doc/api/graphql/index.md @@ -1,7 +1,7 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # GraphQL API @@ -16,7 +16,7 @@ For those new to the GitLab GraphQL API, see ### Quick Reference -- GitLab's GraphQL API endpoint is located at `/api/graphql`. +- The GitLab GraphQL API endpoint is located at `/api/graphql`. - Get an [introduction to GraphQL from graphql.org](https://graphql.org/). - GitLab supports a wide range of resources, listed in the [GraphQL API Reference](reference/index.md). @@ -115,9 +115,9 @@ library GitLab uses on the backend. ## Reference -GitLab's GraphQL reference [is available](reference/index.md). +The GitLab GraphQL reference [is available](reference/index.md). -It is automatically generated from GitLab's GraphQL schema and embedded in a Markdown file. +It is automatically generated from the GitLab GraphQL schema and embedded in a Markdown file. Machine-readable versions are also available: diff --git a/doc/api/graphql/reference/gitlab_schema.graphql b/doc/api/graphql/reference/gitlab_schema.graphql index 58f7d8ecdcf..d7ad70c808e 100644 --- a/doc/api/graphql/reference/gitlab_schema.graphql +++ b/doc/api/graphql/reference/gitlab_schema.graphql @@ -30,7 +30,7 @@ Autogenerated input type of AddAwardEmoji """ input AddAwardEmojiInput { """ - The global id of the awardable resource + The global ID of the awardable resource """ awardableId: AwardableID! @@ -537,22 +537,22 @@ enum AlertManagementAlertSort { """ Created at ascending order """ - created_asc @deprecated(reason: "Use CREATED_ASC. Deprecated in 13.5") + created_asc @deprecated(reason: "Use CREATED_ASC. Deprecated in 13.5.") """ Created at descending order """ - created_desc @deprecated(reason: "Use CREATED_DESC. Deprecated in 13.5") + created_desc @deprecated(reason: "Use CREATED_DESC. Deprecated in 13.5.") """ Updated at ascending order """ - updated_asc @deprecated(reason: "Use UPDATED_ASC. Deprecated in 13.5") + updated_asc @deprecated(reason: "Use UPDATED_ASC. Deprecated in 13.5.") """ Updated at descending order """ - updated_desc @deprecated(reason: "Use UPDATED_DESC. Deprecated in 13.5") + updated_desc @deprecated(reason: "Use UPDATED_DESC. Deprecated in 13.5.") } """ @@ -591,6 +591,21 @@ type AlertManagementAlertStatusCountsType { } """ +Filters the alerts based on given domain +""" +enum AlertManagementDomainFilter { + """ + Alerts for operations domain + """ + operations + + """ + Alerts for threat monitoring domain + """ + threat_monitoring +} + +""" An endpoint and credentials used to accept alerts for a project """ type AlertManagementHttpIntegration implements AlertManagementIntegration { @@ -837,7 +852,7 @@ input AlertSetAssigneesInput { clientMutationId: String """ - The iid of the alert to mutate + The IID of the alert to mutate """ iid: String! @@ -892,7 +907,7 @@ input AlertTodoCreateInput { clientMutationId: String """ - The iid of the alert to mutate + The IID of the alert to mutate """ iid: String! @@ -933,6 +948,11 @@ type AlertTodoCreatePayload { } """ +Identifier of Analytics::DevopsAdoption::Segment +""" +scalar AnalyticsDevopsAdoptionSegmentID + +""" User availability status """ enum AvailabilityEnum { @@ -987,7 +1007,7 @@ Autogenerated input type of AwardEmojiAdd """ input AwardEmojiAddInput { """ - The global id of the awardable resource + The global ID of the awardable resource """ awardableId: AwardableID! @@ -1027,7 +1047,7 @@ Autogenerated input type of AwardEmojiRemove """ input AwardEmojiRemoveInput { """ - The global id of the awardable resource + The global ID of the awardable resource """ awardableId: AwardableID! @@ -1067,7 +1087,7 @@ Autogenerated input type of AwardEmojiToggle """ input AwardEmojiToggleInput { """ - The global id of the awardable resource + The global ID of the awardable resource """ awardableId: AwardableID! @@ -1225,12 +1245,12 @@ Represents a project or group board """ type Board { """ - The board assignee. + The board assignee """ assignee: User """ - Epics associated with board issues. + Epics associated with board issues """ epics( """ @@ -1260,12 +1280,12 @@ type Board { ): BoardEpicConnection """ - Whether or not backlog list is hidden. + Whether or not backlog list is hidden """ hideBacklogList: Boolean """ - Whether or not closed list is hidden. + Whether or not closed list is hidden """ hideClosedList: Boolean @@ -1275,6 +1295,11 @@ type Board { id: ID! """ + The board iteration. + """ + iteration: Iteration + + """ Labels of the board """ labels( @@ -1335,7 +1360,7 @@ type Board { ): BoardListConnection """ - The board milestone. + The board milestone """ milestone: Milestone @@ -1345,7 +1370,7 @@ type Board { name: String """ - Weight of the board. + Weight of the board """ weight: Int } @@ -1415,7 +1440,7 @@ type BoardEpic implements CurrentUserTodos & Noteable { """ List items overlapping a time frame defined by startDate..endDate (if one - date is provided, both must be present). Deprecated in 13.5: Use timeframe.end + date is provided, both must be present) Deprecated in 13.5: Use timeframe.end. """ endDate: Time @@ -1430,7 +1455,7 @@ type BoardEpic implements CurrentUserTodos & Noteable { iid: ID """ - Filter epics by iid for autocomplete + Filter epics by IID for autocomplete """ iidStartsWith: String @@ -1471,8 +1496,8 @@ type BoardEpic implements CurrentUserTodos & Noteable { """ List items overlapping a time frame defined by startDate..endDate (if one - date is provided, both must be present). Deprecated in 13.5: Use - timeframe.start + date is provided, both must be present) Deprecated in 13.5: Use + timeframe.start. """ startDate: Time @@ -2095,6 +2120,11 @@ input BoardListCreateInput { clientMutationId: String """ + Global ID of an existing iteration + """ + iterationId: IterationID + + """ Global ID of an existing label """ labelId: LabelID @@ -2190,6 +2220,11 @@ type BoardListUpdateLimitMetricsPayload { list: BoardList } +""" +Identifier of Boards::EpicBoard +""" +scalar BoardsEpicBoardID + type Branch { """ Commit for the branch @@ -2232,6 +2267,101 @@ type BurnupChartDailyTotals { scopeWeight: Int! } +type CiConfig { + """ + Linting errors + """ + errors: [String!] + + """ + Merged CI config YAML + """ + mergedYaml: String + + """ + Stages of the pipeline + """ + stages: [CiConfigStage!] + + """ + Status of linting, can be either valid or invalid + """ + status: CiConfigStatus +} + +type CiConfigGroup { + """ + Jobs in group + """ + jobs: [CiConfigJob!] + + """ + Name of the job group + """ + name: String + + """ + Size of the job group + """ + size: Int +} + +type CiConfigJob { + """ + Name of the job group + """ + groupName: String + + """ + Name of the job + """ + name: String + + """ + Builds that must complete before the jobs run + """ + needs: [CiConfigNeed!] + + """ + Name of the job stage + """ + stage: String +} + +type CiConfigNeed { + """ + Name of the need + """ + name: String +} + +type CiConfigStage { + """ + Groups of jobs for the stage + """ + groups: [CiConfigGroup!] + + """ + Name of the stage + """ + name: String +} + +""" +Values for YAML processor result +""" +enum CiConfigStatus { + """ + The configuration file is not valid + """ + INVALID + + """ + The configuration file is valid + """ + VALID +} + type CiGroup { """ Detailed status of the group @@ -2311,6 +2441,31 @@ type CiGroupEdge { type CiJob { """ + Artifacts generated by the job + """ + artifacts( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): CiJobArtifactConnection + + """ Detailed status of the job """ detailedStatus: DetailedStatus @@ -2348,7 +2503,7 @@ type CiJob { """ Pipeline the job belongs to """ - pipeline: Pipeline! + pipeline: Pipeline """ Schedule for the build @@ -2356,6 +2511,53 @@ type CiJob { scheduledAt: Time } +type CiJobArtifact { + """ + URL for downloading the artifact's file + """ + downloadPath: String + + """ + File type of the artifact + """ + fileType: JobArtifactFileType +} + +""" +The connection type for CiJobArtifact. +""" +type CiJobArtifactConnection { + """ + A list of edges. + """ + edges: [CiJobArtifactEdge] + + """ + A list of nodes. + """ + nodes: [CiJobArtifact] + + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! +} + +""" +An edge in a connection. +""" +type CiJobArtifactEdge { + """ + A cursor for use in pagination. + """ + cursor: String! + + """ + The item at the end of the edge. + """ + node: CiJobArtifact +} + """ The connection type for CiJob. """ @@ -2555,7 +2757,7 @@ input ClusterAgentDeleteInput { clientMutationId: String """ - Global id of the cluster agent that will be deleted + Global ID of the cluster agent that will be deleted """ id: ClustersAgentID! } @@ -2899,6 +3101,11 @@ type Commit { sha: String! """ + Short SHA1 ID of the commit + """ + shortId: String! + + """ Rendered HTML of the commit signature """ signatureHtml: String @@ -2992,6 +3199,26 @@ enum CommitActionMode { } """ +The connection type for Commit. +""" +type CommitConnection { + """ + A list of edges. + """ + edges: [CommitEdge] + + """ + A list of nodes. + """ + nodes: [Commit] + + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! +} + +""" Autogenerated input type of CommitCreate """ input CommitCreateInput { @@ -3046,6 +3273,21 @@ type CommitCreatePayload { errors: [String!]! } +""" +An edge in a connection. +""" +type CommitEdge { + """ + A cursor for use in pagination. + """ + cursor: String! + + """ + The item at the end of the edge. + """ + node: Commit +} + enum CommitEncoding { """ Base64 encoding @@ -3063,6 +3305,21 @@ Represents a ComplianceFramework associated with a Project """ type ComplianceFramework { """ + Hexadecimal representation of compliance framework's label color + """ + color: String! + + """ + Description of the compliance framework + """ + description: String! + + """ + Compliance framework ID + """ + id: ID! + + """ Name of the compliance framework """ name: String! @@ -3104,6 +3361,11 @@ type ComplianceFrameworkEdge { } """ +Identifier of ComplianceManagement::Framework +""" +scalar ComplianceManagementFrameworkID + +""" Autogenerated input type of ConfigureSast """ input ConfigureSastInput { @@ -3324,6 +3586,11 @@ type ContainerRepository { path: String! """ + Project of the container registry + """ + project: Project! + + """ Status of the container repository. """ status: ContainerRepositoryStatus @@ -3429,6 +3696,11 @@ type ContainerRepositoryDetails { path: String! """ + Project of the container registry + """ + project: Project! + + """ Status of the container repository. """ status: ContainerRepositoryStatus @@ -3599,7 +3871,7 @@ input CreateAlertIssueInput { clientMutationId: String """ - The iid of the alert to mutate + The IID of the alert to mutate """ iid: String! @@ -3649,7 +3921,7 @@ input CreateAnnotationInput { clientMutationId: String """ - The global id of the cluster to add an annotation to + The global ID of the cluster to add an annotation to """ clusterId: ClustersClusterID @@ -3669,7 +3941,7 @@ input CreateAnnotationInput { endingAt: Time """ - The global id of the environment to add an annotation to + The global ID of the environment to add an annotation to """ environmentId: EnvironmentID @@ -3704,11 +3976,6 @@ Autogenerated input type of CreateBoard """ input CreateBoardInput { """ - The ID of the user to be assigned to the board. - """ - assigneeId: String - - """ A unique identifier for the client performing the mutation. """ clientMutationId: String @@ -3719,14 +3986,14 @@ input CreateBoardInput { groupPath: ID """ - The IDs of labels to be added to the board. + Whether or not backlog list is hidden """ - labelIds: [LabelID!] + hideBacklogList: Boolean """ - The ID of the milestone to be assigned to the board. + Whether or not closed list is hidden """ - milestoneId: MilestoneID + hideClosedList: Boolean """ The board name. @@ -3737,11 +4004,6 @@ input CreateBoardInput { The project full path the resource is associated with """ projectPath: ID - - """ - The weight of the board. - """ - weight: Boolean } """ @@ -3850,6 +4112,56 @@ type CreateClusterAgentPayload { } """ +Autogenerated input type of CreateComplianceFramework +""" +input CreateComplianceFrameworkInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Color to represent the compliance framework as a hexadecimal value. e.g. #ABC123. + """ + color: String! + + """ + Description of the compliance framework. + """ + description: String! + + """ + Name of the compliance framework. + """ + name: String! + + """ + Full path of the namespace to add the compliance framework to. + """ + namespacePath: ID! +} + +""" +Autogenerated return type of CreateComplianceFramework +""" +type CreateComplianceFrameworkPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Errors encountered during execution of the mutation. + """ + errors: [String!]! + + """ + The created compliance framework. + """ + framework: ComplianceFramework +} + +""" Autogenerated input type of CreateCustomEmoji """ input CreateCustomEmojiInput { @@ -3895,6 +4207,46 @@ type CreateCustomEmojiPayload { } """ +Autogenerated input type of CreateDevopsAdoptionSegment +""" +input CreateDevopsAdoptionSegmentInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The array of group IDs to set for the segment + """ + groupIds: [GroupID!] + + """ + Name of the segment + """ + name: String! +} + +""" +Autogenerated return type of CreateDevopsAdoptionSegment +""" +type CreateDevopsAdoptionSegmentPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Errors encountered during execution of the mutation. + """ + errors: [String!]! + + """ + The segment after mutation + """ + segment: DevopsAdoptionSegment +} + +""" Autogenerated input type of CreateDiffNote """ input CreateDiffNoteInput { @@ -3914,7 +4266,7 @@ input CreateDiffNoteInput { confidential: Boolean """ - The global id of the resource to add a note to + The global ID of the resource to add a note to """ noteableId: NoteableID! @@ -4044,7 +4396,7 @@ input CreateImageDiffNoteInput { confidential: Boolean """ - The global id of the resource to add a note to + The global ID of the resource to add a note to """ noteableId: NoteableID! @@ -4269,12 +4621,12 @@ input CreateNoteInput { confidential: Boolean """ - The global id of the discussion this note is in reply to + The global ID of the discussion this note is in reply to """ discussionId: DiscussionID """ - The global id of the resource to add a note to + The global ID of the resource to add a note to """ noteableId: NoteableID! } @@ -4623,9 +4975,9 @@ type DastScannerProfile { editPath: String """ - ID of the DAST scanner profile. Deprecated in 13.6: Use `id` + ID of the DAST scanner profile Deprecated in 13.6: Use `id`. """ - globalId: DastScannerProfileID! @deprecated(reason: "Use `id`. Deprecated in 13.6") + globalId: DastScannerProfileID! @deprecated(reason: "Use `id`. Deprecated in 13.6.") """ ID of the DAST scanner profile @@ -4747,9 +5099,9 @@ type DastScannerProfileCreatePayload { errors: [String!]! """ - ID of the scanner profile.. Deprecated in 13.6: Use `id` + ID of the scanner profile. Deprecated in 13.6: Use `id`. """ - globalId: DastScannerProfileID @deprecated(reason: "Use `id`. Deprecated in 13.6") + globalId: DastScannerProfileID @deprecated(reason: "Use `id`. Deprecated in 13.6.") """ ID of the scanner profile. @@ -4899,6 +5251,11 @@ type DastSiteProfile { id: DastSiteProfileID! """ + Normalized URL of the target to be scanned + """ + normalizedTargetUrl: String + + """ The name of the site profile """ profileName: String @@ -5111,6 +5468,11 @@ enum DastSiteProfileValidationStatusEnum { INPROGRESS_VALIDATION """ + No site validation exists + """ + NONE + + """ Site validation process finished successfully """ PASSED_VALIDATION @@ -5181,17 +5543,42 @@ Represents a DAST Site Validation """ type DastSiteValidation { """ - ID of the site validation + Global ID of the site validation """ id: DastSiteValidationID! """ - The status of the validation + Normalized URL of the target to be validated + """ + normalizedTargetUrl: String + + """ + Status of the site validation """ status: DastSiteProfileValidationStatusEnum! } """ +The connection type for DastSiteValidation. +""" +type DastSiteValidationConnection { + """ + A list of edges. + """ + edges: [DastSiteValidationEdge] + + """ + A list of nodes. + """ + nodes: [DastSiteValidation] + + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! +} + +""" Autogenerated input type of DastSiteValidationCreate """ input DastSiteValidationCreateInput { @@ -5247,6 +5634,21 @@ type DastSiteValidationCreatePayload { } """ +An edge in a connection. +""" +type DastSiteValidationEdge { + """ + A cursor for use in pagination. + """ + cursor: String! + + """ + The item at the end of the edge. + """ + node: DastSiteValidation +} + +""" Identifier of DastSiteValidation """ scalar DastSiteValidationID @@ -5278,7 +5680,7 @@ input DeleteAnnotationInput { clientMutationId: String """ - The global ID of the annotation to delete + Global ID of the annotation to delete """ id: MetricsDashboardAnnotationID! } @@ -5299,6 +5701,36 @@ type DeleteAnnotationPayload { } """ +Autogenerated input type of DeleteDevopsAdoptionSegment +""" +input DeleteDevopsAdoptionSegmentInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + ID of the segment + """ + id: AnalyticsDevopsAdoptionSegmentID! +} + +""" +Autogenerated return type of DeleteDevopsAdoptionSegment +""" +type DeleteDevopsAdoptionSegmentPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Errors encountered during execution of the mutation. + """ + errors: [String!]! +} + +""" The response from the AdminSidekiqQueuesDeleteJobs mutation """ type DeleteJobsResponse { @@ -5868,7 +6300,7 @@ input DesignManagementDeleteInput { filenames: [String!]! """ - The iid of the issue to modify designs for + The IID of the issue to modify designs for """ iid: ID! @@ -5968,7 +6400,7 @@ input DesignManagementUploadInput { files: [Upload!]! """ - The iid of the issue to modify designs for + The IID of the issue to modify designs for """ iid: ID! @@ -6234,6 +6666,36 @@ type DestroyBoardPayload { } """ +Autogenerated input type of DestroyComplianceFramework +""" +input DestroyComplianceFrameworkInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The global ID of the compliance framework to destroy + """ + id: ComplianceManagementFrameworkID! +} + +""" +Autogenerated return type of DestroyComplianceFramework +""" +type DestroyComplianceFrameworkPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Errors encountered during execution of the mutation. + """ + errors: [String!]! +} + +""" Autogenerated input type of DestroyContainerRepository """ input DestroyContainerRepositoryInput { @@ -6269,6 +6731,46 @@ type DestroyContainerRepositoryPayload { } """ +Autogenerated input type of DestroyContainerRepositoryTags +""" +input DestroyContainerRepositoryTagsInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + ID of the container repository. + """ + id: ContainerRepositoryID! + + """ + Container repository tag(s) to delete. Total number can't be greater than 20 + """ + tagNames: [String!]! +} + +""" +Autogenerated return type of DestroyContainerRepositoryTags +""" +type DestroyContainerRepositoryTagsPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Deleted container repository tags + """ + deletedTagNames: [String!]! + + """ + Errors encountered during execution of the mutation. + """ + errors: [String!]! +} + +""" Autogenerated input type of DestroyNote """ input DestroyNoteInput { @@ -6278,7 +6780,7 @@ input DestroyNoteInput { clientMutationId: String """ - The global id of the note to destroy + The global ID of the note to destroy """ id: NoteID! } @@ -6313,7 +6815,7 @@ input DestroySnippetInput { clientMutationId: String """ - The global id of the snippet to destroy + The global ID of the snippet to destroy """ id: SnippetID! } @@ -6392,27 +6894,7 @@ type DevopsAdoptionSegment { """ Assigned groups """ - groups( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String - - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - - """ - Returns the first _n_ elements from the list. - """ - first: Int - - """ - Returns the last _n_ elements from the list. - """ - last: Int - ): GroupConnection + groups: [Group!] """ ID of the segment @@ -6420,6 +6902,11 @@ type DevopsAdoptionSegment { id: ID! """ + The latest adoption metrics for the segment + """ + latestSnapshot: DevopsAdoptionSnapshot + + """ Name of the segment """ name: String! @@ -6460,6 +6947,61 @@ type DevopsAdoptionSegmentEdge { node: DevopsAdoptionSegment } +""" +Snapshot +""" +type DevopsAdoptionSnapshot { + """ + At least one deployment succeeded + """ + deploySucceeded: Boolean! + + """ + The end time for the snapshot where the data points were collected + """ + endTime: Time! + + """ + At least one issue was opened + """ + issueOpened: Boolean! + + """ + At least one merge request was approved + """ + mergeRequestApproved: Boolean! + + """ + At least one merge request was opened + """ + mergeRequestOpened: Boolean! + + """ + At least one pipeline succeeded + """ + pipelineSucceeded: Boolean! + + """ + The time the snapshot was recorded + """ + recordedAt: Time! + + """ + At least one runner was used + """ + runnerConfigured: Boolean! + + """ + At least one security scan succeeded + """ + securityScanSucceeded: Boolean! + + """ + The start time for the snapshot where the data points were collected + """ + startTime: Time! +} + input DiffImagePositionInput { """ Merge base of the branch the comment was made on @@ -6792,7 +7334,7 @@ input DiscussionToggleResolveInput { clientMutationId: String """ - The global id of the discussion + The global ID of the discussion """ id: DiscussionID! @@ -7048,7 +7590,7 @@ type Epic implements CurrentUserTodos & Noteable { """ List items overlapping a time frame defined by startDate..endDate (if one - date is provided, both must be present). Deprecated in 13.5: Use timeframe.end + date is provided, both must be present) Deprecated in 13.5: Use timeframe.end. """ endDate: Time @@ -7063,7 +7605,7 @@ type Epic implements CurrentUserTodos & Noteable { iid: ID """ - Filter epics by iid for autocomplete + Filter epics by IID for autocomplete """ iidStartsWith: String @@ -7104,8 +7646,8 @@ type Epic implements CurrentUserTodos & Noteable { """ List items overlapping a time frame defined by startDate..endDate (if one - date is provided, both must be present). Deprecated in 13.5: Use - timeframe.start + date is provided, both must be present) Deprecated in 13.5: Use + timeframe.start. """ startDate: Time @@ -7476,12 +8018,12 @@ input EpicAddIssueInput { groupPath: ID! """ - The iid of the epic to mutate + The IID of the epic to mutate """ iid: ID! """ - The iid of the issue to be added + The IID of the issue to be added """ issueIid: String! @@ -7517,6 +8059,56 @@ type EpicAddIssuePayload { } """ +Represents an epic board +""" +type EpicBoard { + """ + Global ID of the board + """ + id: BoardsEpicBoardID! + + """ + Name of the board + """ + name: String +} + +""" +The connection type for EpicBoard. +""" +type EpicBoardConnection { + """ + A list of edges. + """ + edges: [EpicBoardEdge] + + """ + A list of nodes. + """ + nodes: [EpicBoard] + + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! +} + +""" +An edge in a connection. +""" +type EpicBoardEdge { + """ + A cursor for use in pagination. + """ + cursor: String! + + """ + The item at the end of the edge. + """ + node: EpicBoard +} + +""" The connection type for Epic. """ type EpicConnection { @@ -7656,12 +8248,12 @@ type EpicIssue implements CurrentUserTodos & Noteable { author: User! """ - Indicates the issue is blocked + Indicates the issue is blocked. """ blocked: Boolean! """ - Count of issues blocking this issue + Count of issues blocking this issue. """ blockedByCount: Int @@ -7771,7 +8363,7 @@ type EpicIssue implements CurrentUserTodos & Noteable { emailsDisabled: Boolean! """ - Epic to which this issue belongs + Epic to which this issue belongs. """ epic: Epic @@ -7781,7 +8373,7 @@ type EpicIssue implements CurrentUserTodos & Noteable { epicIssueId: ID! """ - Current health status. Returns null if `save_issuable_health_status` feature flag is disabled. + Current health status. """ healthStatus: HealthStatus @@ -7806,7 +8398,7 @@ type EpicIssue implements CurrentUserTodos & Noteable { iid: ID! """ - Iteration of the issue + Iteration of the issue. """ iteration: Iteration @@ -7836,6 +8428,11 @@ type EpicIssue implements CurrentUserTodos & Noteable { ): LabelConnection """ + Metric images associated to the issue. + """ + metricImages: [MetricImage!] + + """ Milestone of the issue """ milestone: Milestone @@ -7936,7 +8533,7 @@ type EpicIssue implements CurrentUserTodos & Noteable { state: IssueState! """ - Indicates whether an issue is published to the status page + Indicates whether an issue is published to the status page. """ statusPagePublishedIncident: Boolean @@ -8016,7 +8613,7 @@ type EpicIssue implements CurrentUserTodos & Noteable { webUrl: String! """ - Weight of the issue + Weight of the issue. """ weight: Int } @@ -8126,7 +8723,7 @@ input EpicSetSubscriptionInput { groupPath: ID! """ - The iid of the epic to mutate + The IID of the epic to mutate """ iid: ID! @@ -8210,12 +8807,12 @@ A node of an epic tree. """ input EpicTreeNodeFieldsInputType { """ - The id of the epic_issue or issue that the actual epic or issue is switched with + The ID of the epic_issue or issue that the actual epic or issue is switched with """ adjacentReferenceId: EpicTreeSortingID """ - The id of the epic_issue or epic that is being moved + The ID of the epic_issue or epic that is being moved """ id: EpicTreeSortingID! @@ -8235,7 +8832,7 @@ Autogenerated input type of EpicTreeReorder """ input EpicTreeReorderInput { """ - The id of the base epic of the tree + The ID of the base epic of the tree """ baseEpicId: EpicID! @@ -8285,6 +8882,46 @@ enum EpicWildcardId { NONE } +""" +Represents an external issue +""" +type ExternalIssue { + """ + Timestamp of when the issue was created + """ + createdAt: Time + + """ + Type of external tracker + """ + externalTracker: String + + """ + Relative reference of the issue in the external tracker + """ + relativeReference: String + + """ + Status of the issue in the external tracker + """ + status: String + + """ + Title of the issue in the external tracker + """ + title: String + + """ + Timestamp of when the issue was updated + """ + updatedAt: Time + + """ + URL to the issue in the external tracker + """ + webUrl: String +} + type GeoNode { """ The maximum concurrency of container repository sync for this secondary node @@ -8427,8 +9064,7 @@ type GeoNode { selectiveSyncType: String """ - Find snippet repository registries on this Geo node. Available only when - feature flag `geo_snippet_repository_replication` is enabled + Find snippet repository registries on this Geo node """ snippetRepositoryRegistries( """ @@ -8597,8 +9233,7 @@ type Group { ): BoardConnection """ - Represents the code coverage activity for this group. Available only when - feature flag `group_coverage_data_report_graph` is enabled + Represents the code coverage activity for this group """ codeCoverageActivities( """ @@ -8628,7 +9263,33 @@ type Group { ): CodeCoverageActivityConnection """ - Container repositories of the project + Compliance frameworks available to projects in this namespace Available only + when feature flag `ff_custom_compliance_frameworks` is enabled. + """ + complianceFrameworks( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): ComplianceFrameworkConnection + + """ + Container repositories of the group """ containerRepositories( """ @@ -8658,12 +9319,17 @@ type Group { ): ContainerRepositoryConnection """ + Number of container repositories in the group + """ + containerRepositoriesCount: Int! + + """ Includes at least one project where the repository size exceeds the limit """ containsLockedProjects: Boolean! """ - Custom emoji within this namespace. Available only when feature flag `custom_emoji` is enabled + Custom emoji within this namespace Available only when feature flag `custom_emoji` is enabled. """ customEmoji( """ @@ -8713,7 +9379,7 @@ type Group { """ List items overlapping a time frame defined by startDate..endDate (if one - date is provided, both must be present). Deprecated in 13.5: Use timeframe.end + date is provided, both must be present) Deprecated in 13.5: Use timeframe.end. """ endDate: Time @@ -8723,7 +9389,7 @@ type Group { iid: ID """ - Filter epics by iid for autocomplete + Filter epics by IID for autocomplete """ iidStartsWith: String @@ -8759,8 +9425,8 @@ type Group { """ List items overlapping a time frame defined by startDate..endDate (if one - date is provided, both must be present). Deprecated in 13.5: Use - timeframe.start + date is provided, both must be present) Deprecated in 13.5: Use + timeframe.start. """ startDate: Time @@ -8776,6 +9442,41 @@ type Group { ): Epic """ + Find a single epic board + """ + epicBoard( + """ + Find an epic board by ID + """ + id: BoardsEpicBoardID! + ): EpicBoard + + """ + Find epic boards + """ + epicBoards( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): EpicBoardConnection + + """ Find epics """ epics( @@ -8796,7 +9497,7 @@ type Group { """ List items overlapping a time frame defined by startDate..endDate (if one - date is provided, both must be present). Deprecated in 13.5: Use timeframe.end + date is provided, both must be present) Deprecated in 13.5: Use timeframe.end. """ endDate: Time @@ -8811,7 +9512,7 @@ type Group { iid: ID """ - Filter epics by iid for autocomplete + Filter epics by IID for autocomplete """ iidStartsWith: String @@ -8852,8 +9553,8 @@ type Group { """ List items overlapping a time frame defined by startDate..endDate (if one - date is provided, both must be present). Deprecated in 13.5: Use - timeframe.start + date is provided, both must be present) Deprecated in 13.5: Use + timeframe.start. """ startDate: Time @@ -8908,6 +9609,11 @@ type Group { last: Int """ + Filter members by the given member relations + """ + relations: [GroupMemberRelation!] = [DIRECT, INHERITED] + + """ Search query """ search: String @@ -9074,7 +9780,7 @@ type Group { """ List items overlapping a time frame defined by startDate..endDate (if one - date is provided, both must be present). Deprecated in 13.5: Use timeframe.end + date is provided, both must be present) Deprecated in 13.5: Use timeframe.end. """ endDate: Time @@ -9084,17 +9790,17 @@ type Group { first: Int """ - The ID of the Iteration to look up + Global ID of the Iteration to look up. """ id: ID """ - The internal ID of the Iteration to look up + Internal ID of the Iteration to look up. """ iid: ID """ - Whether to include ancestor iterations. Defaults to true + Whether to include ancestor iterations. Defaults to true. """ includeAncestors: Boolean @@ -9105,13 +9811,13 @@ type Group { """ List items overlapping a time frame defined by startDate..endDate (if one - date is provided, both must be present). Deprecated in 13.5: Use - timeframe.start + date is provided, both must be present) Deprecated in 13.5: Use + timeframe.start. """ startDate: Time """ - Filter iterations by state + Filter iterations by state. """ state: IterationState @@ -9121,7 +9827,7 @@ type Group { timeframe: Timeframe """ - Fuzzy search by title + Fuzzy search by title. """ title: String ): IterationConnection @@ -9282,7 +9988,7 @@ type Group { """ List items overlapping a time frame defined by startDate..endDate (if one - date is provided, both must be present). Deprecated in 13.5: Use timeframe.end + date is provided, both must be present) Deprecated in 13.5: Use timeframe.end. """ endDate: Time @@ -9313,8 +10019,8 @@ type Group { """ List items overlapping a time frame defined by startDate..endDate (if one - date is provided, both must be present). Deprecated in 13.5: Use - timeframe.start + date is provided, both must be present) Deprecated in 13.5: Use + timeframe.start. """ startDate: Time @@ -9616,7 +10322,7 @@ type Group { """ Number of vulnerabilities per severity level, per day, for the projects in the - group and its subgroups. Deprecated in 13.3: Use `vulnerabilitiesCountByDay` + group and its subgroups Deprecated in 13.3: Use `vulnerabilitiesCountByDay`. """ vulnerabilitiesCountByDayAndSeverity( """ @@ -9648,7 +10354,7 @@ type Group { First day for which to fetch vulnerability history """ startDate: ISO8601Date! - ): VulnerabilitiesCountByDayAndSeverityConnection @deprecated(reason: "Use `vulnerabilitiesCountByDay`. Deprecated in 13.3") + ): VulnerabilitiesCountByDayAndSeverityConnection @deprecated(reason: "Use `vulnerabilitiesCountByDay`. Deprecated in 13.3.") """ Represents vulnerable project counts for each grade @@ -9722,41 +10428,6 @@ type Group { } """ -The connection type for Group. -""" -type GroupConnection { - """ - A list of edges. - """ - edges: [GroupEdge] - - """ - A list of nodes. - """ - nodes: [Group] - - """ - Information to aid in pagination. - """ - pageInfo: PageInfo! -} - -""" -An edge in a connection. -""" -type GroupEdge { - """ - A cursor for use in pagination. - """ - cursor: String! - - """ - The item at the end of the edge. - """ - node: Group -} - -""" Identifier of Group """ scalar GroupID @@ -9846,6 +10517,26 @@ type GroupMemberEdge { node: GroupMember } +""" +Group member relation +""" +enum GroupMemberRelation { + """ + Descendants members + """ + DESCENDANTS + + """ + Direct members + """ + DIRECT + + """ + Inherited members + """ + INHERITED +} + type GroupPermissions { """ Indicates the user can perform `read_group` on this resource @@ -9944,7 +10635,7 @@ input HttpIntegrationDestroyInput { clientMutationId: String """ - The id of the integration to remove + The ID of the integration to remove """ id: AlertManagementHttpIntegrationID! } @@ -9979,7 +10670,7 @@ input HttpIntegrationResetTokenInput { clientMutationId: String """ - The id of the integration to mutate + The ID of the integration to mutate """ id: AlertManagementHttpIntegrationID! } @@ -10019,7 +10710,7 @@ input HttpIntegrationUpdateInput { clientMutationId: String """ - The id of the integration to mutate + The ID of the integration to mutate """ id: AlertManagementHttpIntegrationID! @@ -10054,6 +10745,66 @@ An ISO 8601-encoded date """ scalar ISO8601Date +""" +Describes an incident management on-call schedule +""" +type IncidentManagementOncallSchedule { + """ + Description of the on-call schedule + """ + description: String + + """ + Internal ID of the on-call schedule + """ + iid: ID! + + """ + Name of the on-call schedule + """ + name: String! + + """ + Time zone of the on-call schedule + """ + timezone: String! +} + +""" +The connection type for IncidentManagementOncallSchedule. +""" +type IncidentManagementOncallScheduleConnection { + """ + A list of edges. + """ + edges: [IncidentManagementOncallScheduleEdge] + + """ + A list of nodes. + """ + nodes: [IncidentManagementOncallSchedule] + + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! +} + +""" +An edge in a connection. +""" +type IncidentManagementOncallScheduleEdge { + """ + A cursor for use in pagination. + """ + cursor: String! + + """ + The item at the end of the edge. + """ + node: IncidentManagementOncallSchedule +} + type InstanceSecurityDashboard { """ Projects selected in Instance Security Dashboard @@ -10273,12 +11024,12 @@ type Issue implements CurrentUserTodos & Noteable { author: User! """ - Indicates the issue is blocked + Indicates the issue is blocked. """ blocked: Boolean! """ - Count of issues blocking this issue + Count of issues blocking this issue. """ blockedByCount: Int @@ -10388,12 +11139,12 @@ type Issue implements CurrentUserTodos & Noteable { emailsDisabled: Boolean! """ - Epic to which this issue belongs + Epic to which this issue belongs. """ epic: Epic """ - Current health status. Returns null if `save_issuable_health_status` feature flag is disabled. + Current health status. """ healthStatus: HealthStatus @@ -10418,7 +11169,7 @@ type Issue implements CurrentUserTodos & Noteable { iid: ID! """ - Iteration of the issue + Iteration of the issue. """ iteration: Iteration @@ -10448,6 +11199,11 @@ type Issue implements CurrentUserTodos & Noteable { ): LabelConnection """ + Metric images associated to the issue. + """ + metricImages: [MetricImage!] + + """ Milestone of the issue """ milestone: Milestone @@ -10543,7 +11299,7 @@ type Issue implements CurrentUserTodos & Noteable { state: IssueState! """ - Indicates whether an issue is published to the status page + Indicates whether an issue is published to the status page. """ statusPagePublishedIncident: Boolean @@ -10623,7 +11379,7 @@ type Issue implements CurrentUserTodos & Noteable { webUrl: String! """ - Weight of the issue + Weight of the issue. """ weight: Int } @@ -11360,22 +12116,22 @@ enum IssueSort { """ Created at ascending order """ - created_asc @deprecated(reason: "Use CREATED_ASC. Deprecated in 13.5") + created_asc @deprecated(reason: "Use CREATED_ASC. Deprecated in 13.5.") """ Created at descending order """ - created_desc @deprecated(reason: "Use CREATED_DESC. Deprecated in 13.5") + created_desc @deprecated(reason: "Use CREATED_DESC. Deprecated in 13.5.") """ Updated at ascending order """ - updated_asc @deprecated(reason: "Use UPDATED_ASC. Deprecated in 13.5") + updated_asc @deprecated(reason: "Use UPDATED_ASC. Deprecated in 13.5.") """ Updated at descending order """ - updated_desc @deprecated(reason: "Use UPDATED_DESC. Deprecated in 13.5") + updated_desc @deprecated(reason: "Use UPDATED_DESC. Deprecated in 13.5.") } """ @@ -11584,6 +12340,11 @@ enum IterationWildcardId { ANY """ + Current iteration + """ + CURRENT + + """ No iteration is assigned """ NONE @@ -11889,11 +12650,41 @@ input JiraUsersMappingInputType { gitlabId: Int """ - Jira account id of the user + Jira account ID of the user """ jiraAccountId: String! } +enum JobArtifactFileType { + ACCESSIBILITY + API_FUZZING + ARCHIVE + BROWSER_PERFORMANCE + CLUSTER_APPLICATIONS + COBERTURA + CODEQUALITY + CONTAINER_SCANNING + COVERAGE_FUZZING + DAST + DEPENDENCY_SCANNING + DOTENV + JUNIT + LICENSE_MANAGEMENT + LICENSE_SCANNING + LOAD_PERFORMANCE + LSIF + METADATA + METRICS + METRICS_REFEREE + NETWORK_REFEREE + PERFORMANCE + REQUIREMENTS + SAST + SECRET_DETECTION + TERRAFORM + TRACE +} + type Label { """ Background color of the label @@ -12052,7 +12843,7 @@ input MarkAsSpamSnippetInput { clientMutationId: String """ - The global id of the snippet to update + The global ID of the snippet to update """ id: SnippetID! } @@ -12286,11 +13077,41 @@ type MergeRequest implements CurrentUserTodos & Noteable { autoMergeEnabled: Boolean! """ + Array of available auto merge strategies + """ + availableAutoMergeStrategies: [String!] + + """ Number of commits in the merge request """ commitCount: Int """ + Merge request commits excluding merge commits + """ + commitsWithoutMergeCommits( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): CommitConnection + + """ Indicates if the merge request has conflicts """ conflicts: Boolean! @@ -12336,6 +13157,11 @@ type MergeRequest implements CurrentUserTodos & Noteable { defaultMergeCommitMessage: String """ + Default merge commit message of the merge request with description + """ + defaultMergeCommitMessageWithDescription: String + + """ Description of the merge request (Markdown rendered as HTML for caching) """ description: String @@ -12411,6 +13237,11 @@ type MergeRequest implements CurrentUserTodos & Noteable { forceRemoveSourceBranch: Boolean """ + Indicates if the merge request has CI + """ + hasCi: Boolean! + + """ The pipeline running on the branch HEAD of the merge request """ headPipeline: Pipeline @@ -12476,11 +13307,20 @@ type MergeRequest implements CurrentUserTodos & Noteable { mergeStatus: String """ + """ + mergeTrainsCount: Int + + """ Indicates if the merge has been set to be merged when its pipeline succeeds (MWPS) """ mergeWhenPipelineSucceeds: Boolean """ + Indicates if the merge request is mergeable + """ + mergeable: Boolean! + + """ Indicates if all discussions in the merge request have been resolved, allowing the merge request to be merged """ mergeableDiscussionsState: Boolean @@ -12546,7 +13386,8 @@ type MergeRequest implements CurrentUserTodos & Noteable { ): UserConnection """ - Pipelines for the merge request + Pipelines for the merge request. Note: for performance reasons, no more than + the most recent 500 pipelines will be returned. """ pipelines( """ @@ -12616,6 +13457,11 @@ type MergeRequest implements CurrentUserTodos & Noteable { ): String! """ + Indicates if the merge request is created by @GitLab-Security-Bot. + """ + securityAutoFix: Boolean + + """ Indicates if the merge request will be rebased """ shouldBeRebased: Boolean! @@ -12636,6 +13482,11 @@ type MergeRequest implements CurrentUserTodos & Noteable { sourceBranchExists: Boolean! """ + Indicates if the source branch is protected + """ + sourceBranchProtected: Boolean! + + """ Source project of the merge request """ sourceProject: Project @@ -12646,6 +13497,11 @@ type MergeRequest implements CurrentUserTodos & Noteable { sourceProjectId: Int """ + Indicates if squash on merge is enabled + """ + squashOnMerge: Boolean! + + """ State of the merge request """ state: MergeRequestState! @@ -12759,6 +13615,11 @@ type MergeRequestConnection { Information to aid in pagination. """ pageInfo: PageInfo! + + """ + Total sum of time to merge, in seconds, for the collection of merge requests + """ + totalTimeToMerge: Float } """ @@ -12986,7 +13847,7 @@ input MergeRequestSetAssigneesInput { clientMutationId: String """ - The iid of the merge request to mutate + The IID of the merge request to mutate """ iid: String! @@ -13031,7 +13892,7 @@ input MergeRequestSetLabelsInput { clientMutationId: String """ - The iid of the merge request to mutate + The IID of the merge request to mutate """ iid: String! @@ -13081,7 +13942,7 @@ input MergeRequestSetLockedInput { clientMutationId: String """ - The iid of the merge request to mutate + The IID of the merge request to mutate """ iid: String! @@ -13126,7 +13987,7 @@ input MergeRequestSetMilestoneInput { clientMutationId: String """ - The iid of the merge request to mutate + The IID of the merge request to mutate """ iid: String! @@ -13171,7 +14032,7 @@ input MergeRequestSetSubscriptionInput { clientMutationId: String """ - The iid of the merge request to mutate + The IID of the merge request to mutate """ iid: String! @@ -13216,7 +14077,7 @@ input MergeRequestSetWipInput { clientMutationId: String """ - The iid of the merge request to mutate + The IID of the merge request to mutate """ iid: String! @@ -13318,22 +14179,22 @@ enum MergeRequestSort { """ Created at ascending order """ - created_asc @deprecated(reason: "Use CREATED_ASC. Deprecated in 13.5") + created_asc @deprecated(reason: "Use CREATED_ASC. Deprecated in 13.5.") """ Created at descending order """ - created_desc @deprecated(reason: "Use CREATED_DESC. Deprecated in 13.5") + created_desc @deprecated(reason: "Use CREATED_DESC. Deprecated in 13.5.") """ Updated at ascending order """ - updated_asc @deprecated(reason: "Use UPDATED_ASC. Deprecated in 13.5") + updated_asc @deprecated(reason: "Use UPDATED_ASC. Deprecated in 13.5.") """ Updated at descending order """ - updated_desc @deprecated(reason: "Use UPDATED_DESC. Deprecated in 13.5") + updated_desc @deprecated(reason: "Use UPDATED_DESC. Deprecated in 13.5.") } """ @@ -13362,7 +14223,7 @@ input MergeRequestUpdateInput { description: String """ - The iid of the merge request to mutate + The IID of the merge request to mutate """ iid: String! @@ -13414,6 +14275,36 @@ type Metadata { version: String! } +""" +Represents a metric image upload +""" +type MetricImage { + """ + File name of the metric image + """ + fileName: String + + """ + File path of the metric image + """ + filePath: String + + """ + ID of the metric upload + """ + id: ID! + + """ + Internal ID of the metric upload + """ + iid: ID! + + """ + URL of the metric source + """ + url: String! +} + type MetricsDashboard { """ Annotations added to the dashboard @@ -13679,7 +14570,7 @@ enum MoveType { } type Mutation { - addAwardEmoji(input: AddAwardEmojiInput!): AddAwardEmojiPayload @deprecated(reason: "Use awardEmojiAdd. Deprecated in 13.2") + addAwardEmoji(input: AddAwardEmojiInput!): AddAwardEmojiPayload @deprecated(reason: "Use awardEmojiAdd. Deprecated in 13.2.") addProjectToSecurityDashboard(input: AddProjectToSecurityDashboardInput!): AddProjectToSecurityDashboardPayload adminSidekiqQueuesDeleteJobs(input: AdminSidekiqQueuesDeleteJobsInput!): AdminSidekiqQueuesDeleteJobsPayload alertSetAssignees(input: AlertSetAssigneesInput!): AlertSetAssigneesPayload @@ -13699,11 +14590,13 @@ type Mutation { createBoard(input: CreateBoardInput!): CreateBoardPayload createBranch(input: CreateBranchInput!): CreateBranchPayload createClusterAgent(input: CreateClusterAgentInput!): CreateClusterAgentPayload + createComplianceFramework(input: CreateComplianceFrameworkInput!): CreateComplianceFrameworkPayload """ - . Available only when feature flag `custom_emoji` is enabled + Available only when feature flag `custom_emoji` is enabled. """ createCustomEmoji(input: CreateCustomEmojiInput!): CreateCustomEmojiPayload + createDevopsAdoptionSegment(input: CreateDevopsAdoptionSegmentInput!): CreateDevopsAdoptionSegmentPayload createDiffNote(input: CreateDiffNoteInput!): CreateDiffNotePayload createEpic(input: CreateEpicInput!): CreateEpicPayload createImageDiffNote(input: CreateImageDiffNoteInput!): CreateImageDiffNotePayload @@ -13723,12 +14616,15 @@ type Mutation { dastSiteTokenCreate(input: DastSiteTokenCreateInput!): DastSiteTokenCreatePayload dastSiteValidationCreate(input: DastSiteValidationCreateInput!): DastSiteValidationCreatePayload deleteAnnotation(input: DeleteAnnotationInput!): DeleteAnnotationPayload + deleteDevopsAdoptionSegment(input: DeleteDevopsAdoptionSegmentInput!): DeleteDevopsAdoptionSegmentPayload designManagementDelete(input: DesignManagementDeleteInput!): DesignManagementDeletePayload designManagementMove(input: DesignManagementMoveInput!): DesignManagementMovePayload designManagementUpload(input: DesignManagementUploadInput!): DesignManagementUploadPayload destroyBoard(input: DestroyBoardInput!): DestroyBoardPayload destroyBoardList(input: DestroyBoardListInput!): DestroyBoardListPayload + destroyComplianceFramework(input: DestroyComplianceFrameworkInput!): DestroyComplianceFrameworkPayload destroyContainerRepository(input: DestroyContainerRepositoryInput!): DestroyContainerRepositoryPayload + destroyContainerRepositoryTags(input: DestroyContainerRepositoryTagsInput!): DestroyContainerRepositoryTagsPayload destroyNote(input: DestroyNoteInput!): DestroyNotePayload destroySnippet(input: DestroySnippetInput!): DestroySnippetPayload @@ -13736,7 +14632,7 @@ type Mutation { Toggles the resolved state of a discussion """ discussionToggleResolve(input: DiscussionToggleResolveInput!): DiscussionToggleResolvePayload - dismissVulnerability(input: DismissVulnerabilityInput!): DismissVulnerabilityPayload @deprecated(reason: "Use vulnerabilityDismiss. Deprecated in 13.5") + dismissVulnerability(input: DismissVulnerabilityInput!): DismissVulnerabilityPayload @deprecated(reason: "Use vulnerabilityDismiss. Deprecated in 13.5.") environmentsCanaryIngressUpdate(input: EnvironmentsCanaryIngressUpdateInput!): EnvironmentsCanaryIngressUpdatePayload epicAddIssue(input: EpicAddIssueInput!): EpicAddIssuePayload epicSetSubscription(input: EpicSetSubscriptionInput!): EpicSetSubscriptionPayload @@ -13773,6 +14669,9 @@ type Mutation { """ mergeRequestUpdate(input: MergeRequestUpdateInput!): MergeRequestUpdatePayload namespaceIncreaseStorageTemporarily(input: NamespaceIncreaseStorageTemporarilyInput!): NamespaceIncreaseStorageTemporarilyPayload + oncallScheduleCreate(input: OncallScheduleCreateInput!): OncallScheduleCreatePayload + oncallScheduleDestroy(input: OncallScheduleDestroyInput!): OncallScheduleDestroyPayload + oncallScheduleUpdate(input: OncallScheduleUpdateInput!): OncallScheduleUpdatePayload pipelineCancel(input: PipelineCancelInput!): PipelineCancelPayload pipelineDestroy(input: PipelineDestroyInput!): PipelineDestroyPayload pipelineRetry(input: PipelineRetryInput!): PipelineRetryPayload @@ -13781,15 +14680,17 @@ type Mutation { prometheusIntegrationUpdate(input: PrometheusIntegrationUpdateInput!): PrometheusIntegrationUpdatePayload promoteToEpic(input: PromoteToEpicInput!): PromoteToEpicPayload releaseCreate(input: ReleaseCreateInput!): ReleaseCreatePayload - removeAwardEmoji(input: RemoveAwardEmojiInput!): RemoveAwardEmojiPayload @deprecated(reason: "Use awardEmojiRemove. Deprecated in 13.2") + releaseDelete(input: ReleaseDeleteInput!): ReleaseDeletePayload + releaseUpdate(input: ReleaseUpdateInput!): ReleaseUpdatePayload + removeAwardEmoji(input: RemoveAwardEmojiInput!): RemoveAwardEmojiPayload @deprecated(reason: "Use awardEmojiRemove. Deprecated in 13.2.") removeProjectFromSecurityDashboard(input: RemoveProjectFromSecurityDashboardInput!): RemoveProjectFromSecurityDashboardPayload """ Repositions a DiffNote on an image (a `Note` where the `position.positionType` is `"image"`) """ repositionImageDiffNote(input: RepositionImageDiffNoteInput!): RepositionImageDiffNotePayload - revertVulnerabilityToDetected(input: RevertVulnerabilityToDetectedInput!): RevertVulnerabilityToDetectedPayload @deprecated(reason: "Use vulnerabilityRevertToDetected. Deprecated in 13.5") - runDastScan(input: RunDASTScanInput!): RunDASTScanPayload @deprecated(reason: "Use DastOnDemandScanCreate. Deprecated in 13.4") + revertVulnerabilityToDetected(input: RevertVulnerabilityToDetectedInput!): RevertVulnerabilityToDetectedPayload @deprecated(reason: "Use vulnerabilityRevertToDetected. Deprecated in 13.5.") + runDastScan(input: RunDASTScanInput!): RunDASTScanPayload @deprecated(reason: "Use DastOnDemandScanCreate. Deprecated in 13.4.") terraformStateDelete(input: TerraformStateDeleteInput!): TerraformStateDeletePayload terraformStateLock(input: TerraformStateLockInput!): TerraformStateLockPayload terraformStateUnlock(input: TerraformStateUnlockInput!): TerraformStateUnlockPayload @@ -13798,12 +14699,14 @@ type Mutation { todoRestore(input: TodoRestoreInput!): TodoRestorePayload todoRestoreMany(input: TodoRestoreManyInput!): TodoRestoreManyPayload todosMarkAllDone(input: TodosMarkAllDoneInput!): TodosMarkAllDonePayload - toggleAwardEmoji(input: ToggleAwardEmojiInput!): ToggleAwardEmojiPayload @deprecated(reason: "Use awardEmojiToggle. Deprecated in 13.2") + toggleAwardEmoji(input: ToggleAwardEmojiInput!): ToggleAwardEmojiPayload @deprecated(reason: "Use awardEmojiToggle. Deprecated in 13.2.") updateAlertStatus(input: UpdateAlertStatusInput!): UpdateAlertStatusPayload updateBoard(input: UpdateBoardInput!): UpdateBoardPayload updateBoardEpicUserPreferences(input: UpdateBoardEpicUserPreferencesInput!): UpdateBoardEpicUserPreferencesPayload updateBoardList(input: UpdateBoardListInput!): UpdateBoardListPayload + updateComplianceFramework(input: UpdateComplianceFrameworkInput!): UpdateComplianceFrameworkPayload updateContainerExpirationPolicy(input: UpdateContainerExpirationPolicyInput!): UpdateContainerExpirationPolicyPayload + updateDevopsAdoptionSegment(input: UpdateDevopsAdoptionSegmentInput!): UpdateDevopsAdoptionSegmentPayload updateEpic(input: UpdateEpicInput!): UpdateEpicPayload """ @@ -13824,6 +14727,8 @@ type Mutation { updateSnippet(input: UpdateSnippetInput!): UpdateSnippetPayload vulnerabilityConfirm(input: VulnerabilityConfirmInput!): VulnerabilityConfirmPayload vulnerabilityDismiss(input: VulnerabilityDismissInput!): VulnerabilityDismissPayload + vulnerabilityExternalIssueLinkCreate(input: VulnerabilityExternalIssueLinkCreateInput!): VulnerabilityExternalIssueLinkCreatePayload + vulnerabilityExternalIssueLinkDestroy(input: VulnerabilityExternalIssueLinkDestroyInput!): VulnerabilityExternalIssueLinkDestroyPayload vulnerabilityResolve(input: VulnerabilityResolveInput!): VulnerabilityResolvePayload vulnerabilityRevertToDetected(input: VulnerabilityRevertToDetectedInput!): VulnerabilityRevertToDetectedPayload } @@ -13860,6 +14765,32 @@ type Namespace { additionalPurchasedStorageSize: Float """ + Compliance frameworks available to projects in this namespace Available only + when feature flag `ff_custom_compliance_frameworks` is enabled. + """ + complianceFrameworks( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): ComplianceFrameworkConnection + + """ Includes at least one project where the repository size exceeds the limit """ containsLockedProjects: Boolean! @@ -14045,7 +14976,7 @@ input NamespaceIncreaseStorageTemporarilyInput { clientMutationId: String """ - The global id of the namespace to mutate + The global ID of the namespace to mutate """ id: NamespaceID! } @@ -14349,6 +15280,151 @@ Identifier of Noteable scalar NoteableID """ +Autogenerated input type of OncallScheduleCreate +""" +input OncallScheduleCreateInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The description of the on-call schedule + """ + description: String + + """ + The name of the on-call schedule + """ + name: String! + + """ + The project to create the on-call schedule in + """ + projectPath: ID! + + """ + The timezone of the on-call schedule + """ + timezone: String! +} + +""" +Autogenerated return type of OncallScheduleCreate +""" +type OncallScheduleCreatePayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Errors encountered during execution of the mutation. + """ + errors: [String!]! + + """ + The on-call schedule + """ + oncallSchedule: IncidentManagementOncallSchedule +} + +""" +Autogenerated input type of OncallScheduleDestroy +""" +input OncallScheduleDestroyInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The on-call schedule internal ID to remove + """ + iid: String! + + """ + The project to remove the on-call schedule from + """ + projectPath: ID! +} + +""" +Autogenerated return type of OncallScheduleDestroy +""" +type OncallScheduleDestroyPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Errors encountered during execution of the mutation. + """ + errors: [String!]! + + """ + The on-call schedule + """ + oncallSchedule: IncidentManagementOncallSchedule +} + +""" +Autogenerated input type of OncallScheduleUpdate +""" +input OncallScheduleUpdateInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The description of the on-call schedule + """ + description: String + + """ + The on-call schedule internal ID to update + """ + iid: String! + + """ + The name of the on-call schedule + """ + name: String + + """ + The project to update the on-call schedule in + """ + projectPath: ID! + + """ + The timezone of the on-call schedule + """ + timezone: String +} + +""" +Autogenerated return type of OncallScheduleUpdate +""" +type OncallScheduleUpdatePayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Errors encountered during execution of the mutation. + """ + errors: [String!]! + + """ + The on-call schedule + """ + oncallSchedule: IncidentManagementOncallSchedule +} + +""" Represents a package """ type Package { @@ -14572,6 +15648,11 @@ type PageInfo { type Pipeline { """ + Indicates if the pipeline is active + """ + active: Boolean! + + """ Base SHA of the source branch """ beforeSha: String @@ -14770,6 +15851,63 @@ type Pipeline { userPermissions: PipelinePermissions! } +type PipelineAnalytics { + """ + Labels for the monthly pipeline count + """ + monthPipelinesLabels: [String!] + + """ + Total monthly successful pipeline count + """ + monthPipelinesSuccessful: [Int!] + + """ + Total monthly pipeline count + """ + monthPipelinesTotals: [Int!] + + """ + Pipeline times labels + """ + pipelineTimesLabels: [String!] + + """ + Pipeline times + """ + pipelineTimesValues: [Int!] + + """ + Labels for the weekly pipeline count + """ + weekPipelinesLabels: [String!] + + """ + Total weekly successful pipeline count + """ + weekPipelinesSuccessful: [Int!] + + """ + Total weekly pipeline count + """ + weekPipelinesTotals: [Int!] + + """ + Labels for the yearly pipeline count + """ + yearPipelinesLabels: [String!] + + """ + Total yearly successful pipeline count + """ + yearPipelinesSuccessful: [Int!] + + """ + Total yearly pipeline count + """ + yearPipelinesTotals: [Int!] +} + """ Autogenerated input type of PipelineCancel """ @@ -14780,7 +15918,7 @@ input PipelineCancelInput { clientMutationId: String """ - The id of the pipeline to mutate + The ID of the pipeline to mutate """ id: CiPipelineID! } @@ -14846,7 +15984,7 @@ input PipelineDestroyInput { clientMutationId: String """ - The id of the pipeline to mutate + The ID of the pipeline to mutate """ id: CiPipelineID! } @@ -14908,7 +16046,7 @@ input PipelineRetryInput { clientMutationId: String """ - The id of the pipeline to mutate + The ID of the pipeline to mutate """ id: CiPipelineID! } @@ -14963,6 +16101,11 @@ type Project { assigneeUsername: String """ + Filter query for given domain + """ + domain: AlertManagementDomainFilter! = operations + + """ IID of the alert. For example, "1" """ iid: String @@ -15018,6 +16161,11 @@ type Project { before: String """ + Filter query for given domain + """ + domain: AlertManagementDomainFilter! = operations + + """ Returns the first _n_ elements from the list. """ first: Int @@ -15135,6 +16283,11 @@ type Project { ): BoardConnection """ + CI/CD settings for the project + """ + ciCdSettings: ProjectCiCdSetting + + """ Find a single cluster agent by name """ clusterAgent( @@ -15240,6 +16393,11 @@ type Project { ): ContainerRepositoryConnection """ + Number of container repositories in the project + """ + containerRepositoriesCount: Int! + + """ Timestamp of the project creation """ createdAt: Time @@ -15305,16 +16463,53 @@ type Project { ): DastSiteProfileConnection """ - DAST Site Validation associated with the project + DAST Site Validation associated with the project. Will always return `null` if + `security_on_demand_scans_site_validation` is disabled """ dastSiteValidation( """ - target URL of the DAST Site Validation + Normalized URL of the target to be scanned + """ + normalizedTargetUrls: [String!] + + """ + URL of the target to be scanned """ targetUrl: String! ): DastSiteValidation """ + DAST Site Validations associated with the project. Will always return no nodes + if `security_on_demand_scans_site_validation` is disabled + """ + dastSiteValidations( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + Normalized URL of the target to be scanned + """ + normalizedTargetUrls: [String!] + ): DastSiteValidationConnection + + """ Short description of the project """ description: String @@ -15420,6 +16615,31 @@ type Project { importStatus: String """ + Incident Management On-call schedules of the project + """ + incidentManagementOncallSchedules( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): IncidentManagementOncallScheduleConnection + + """ A single issue of the project """ issue( @@ -15755,7 +16975,7 @@ type Project { """ List items overlapping a time frame defined by startDate..endDate (if one - date is provided, both must be present). Deprecated in 13.5: Use timeframe.end + date is provided, both must be present) Deprecated in 13.5: Use timeframe.end. """ endDate: Time @@ -15765,17 +16985,17 @@ type Project { first: Int """ - The ID of the Iteration to look up + Global ID of the Iteration to look up. """ id: ID """ - The internal ID of the Iteration to look up + Internal ID of the Iteration to look up. """ iid: ID """ - Whether to include ancestor iterations. Defaults to true + Whether to include ancestor iterations. Defaults to true. """ includeAncestors: Boolean @@ -15786,13 +17006,13 @@ type Project { """ List items overlapping a time frame defined by startDate..endDate (if one - date is provided, both must be present). Deprecated in 13.5: Use - timeframe.start + date is provided, both must be present) Deprecated in 13.5: Use + timeframe.start. """ startDate: Time """ - Filter iterations by state + Filter iterations by state. """ state: IterationState @@ -15802,7 +17022,7 @@ type Project { timeframe: Timeframe """ - Fuzzy search by title + Fuzzy search by title. """ title: String ): IterationConnection @@ -15962,6 +17182,11 @@ type Project { milestoneTitle: String """ + Username of the reviewer + """ + reviewerUsername: String + + """ Sort merge requests by this criteria """ sort: MergeRequestSort = created_desc @@ -16015,7 +17240,7 @@ type Project { """ List items overlapping a time frame defined by startDate..endDate (if one - date is provided, both must be present). Deprecated in 13.5: Use timeframe.end + date is provided, both must be present) Deprecated in 13.5: Use timeframe.end. """ endDate: Time @@ -16046,8 +17271,8 @@ type Project { """ List items overlapping a time frame defined by startDate..endDate (if one - date is provided, both must be present). Deprecated in 13.5: Use - timeframe.start + date is provided, both must be present) Deprecated in 13.5: Use + timeframe.start. """ startDate: Time @@ -16138,6 +17363,11 @@ type Project { ): Pipeline """ + Pipeline analytics + """ + pipelineAnalytics: PipelineAnalytics + + """ Build pipelines of the project """ pipelines( @@ -16208,6 +17438,11 @@ type Project { last: Int """ + Filter members by the given member relations + """ + relations: [ProjectMemberRelation!] = [DIRECT, INHERITED] + + """ Search query """ search: String @@ -16494,6 +17729,11 @@ type Project { snippetsEnabled: Boolean """ + Indicates if squash readonly is enabled + """ + squashReadOnly: Boolean! + + """ URL to connect to the project via SSH """ sshUrlToRepo: String @@ -16544,6 +17784,11 @@ type Project { ): TerraformStateConnection """ + Total pipeline duration for all of the pipelines in a project + """ + totalPipelineDuration: Int + + """ Permissions for the current user on the resource """ userPermissions: ProjectPermissions! @@ -16719,6 +17964,23 @@ type Project { wikiEnabled: Boolean } +type ProjectCiCdSetting { + """ + Whether merge pipelines are enabled. + """ + mergePipelinesEnabled: Boolean + + """ + Whether merge trains are enabled. + """ + mergeTrainsEnabled: Boolean + + """ + Project the CI/CD settings belong to. + """ + project: Project +} + """ The connection type for Project. """ @@ -16844,6 +18106,31 @@ type ProjectMemberEdge { node: ProjectMember } +""" +Project member relation +""" +enum ProjectMemberRelation { + """ + Descendants members + """ + DESCENDANTS + + """ + Direct members + """ + DIRECT + + """ + Inherited members + """ + INHERITED + + """ + Invited Groups members + """ + INVITED_GROUPS +} + type ProjectPermissions { """ Indicates the user can perform `admin_operations` on this resource @@ -17173,7 +18460,7 @@ input PrometheusIntegrationResetTokenInput { clientMutationId: String """ - The id of the integration to mutate + The ID of the integration to mutate """ id: PrometheusServiceID! } @@ -17218,7 +18505,7 @@ input PrometheusIntegrationUpdateInput { clientMutationId: String """ - The id of the integration to mutate + The ID of the integration to mutate """ id: PrometheusServiceID! } @@ -17300,6 +18587,16 @@ type PromoteToEpicPayload { type Query { """ + Get linted and processed contents of a CI config. Should not be requested more than once per request. + """ + ciConfig( + """ + Contents of .gitlab-ci.yml + """ + content: String! + ): CiConfig + + """ Find a container repository """ containerRepository( @@ -17791,8 +19088,8 @@ type Query { """ Number of vulnerabilities per severity level, per day, for the projects on the - current user's instance security dashboard. Deprecated in 13.3: Use - `vulnerabilitiesCountByDay` + current user's instance security dashboard Deprecated in 13.3: Use + `vulnerabilitiesCountByDay`. """ vulnerabilitiesCountByDayAndSeverity( """ @@ -17824,7 +19121,7 @@ type Query { First day for which to fetch vulnerability history """ startDate: ISO8601Date! - ): VulnerabilitiesCountByDayAndSeverityConnection @deprecated(reason: "Use `vulnerabilitiesCountByDay`. Deprecated in 13.3") + ): VulnerabilitiesCountByDayAndSeverityConnection @deprecated(reason: "Use `vulnerabilitiesCountByDay`. Deprecated in 13.3.") """ Find a vulnerability @@ -18263,6 +19560,46 @@ type ReleaseCreatePayload { } """ +Autogenerated input type of ReleaseDelete +""" +input ReleaseDeleteInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Full path of the project the release is associated with + """ + projectPath: ID! + + """ + Name of the tag associated with the release to delete. + """ + tagName: String! +} + +""" +Autogenerated return type of ReleaseDelete +""" +type ReleaseDeletePayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Errors encountered during execution of the mutation. + """ + errors: [String!]! + + """ + The deleted release. + """ + release: Release +} + +""" An edge in a connection. """ type ReleaseEdge { @@ -18450,11 +19787,71 @@ type ReleaseSourceEdge { } """ +Autogenerated input type of ReleaseUpdate +""" +input ReleaseUpdateInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Description (release notes) of the release + """ + description: String + + """ + The title of each milestone the release is associated with. GitLab Premium customers can specify group milestones. + """ + milestones: [String!] + + """ + Name of the release + """ + name: String + + """ + Full path of the project the release is associated with + """ + projectPath: ID! + + """ + The release date + """ + releasedAt: Time + + """ + Name of the tag associated with the release + """ + tagName: String! +} + +""" +Autogenerated return type of ReleaseUpdate +""" +type ReleaseUpdatePayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Errors encountered during execution of the mutation. + """ + errors: [String!]! + + """ + The release after mutation. + """ + release: Release +} + +""" Autogenerated input type of RemoveAwardEmoji """ input RemoveAwardEmojiInput { """ - The global id of the awardable resource + The global ID of the awardable resource """ awardableId: AwardableID! @@ -18529,7 +19926,7 @@ input RepositionImageDiffNoteInput { clientMutationId: String """ - The global id of the DiffNote to update + The global ID of the DiffNote to update """ id: DiffNoteID! @@ -20172,6 +21569,7 @@ enum ServiceType { CAMPFIRE_SERVICE CONFLUENCE_SERVICE CUSTOM_ISSUE_TRACKER_SERVICE + DATADOG_SERVICE DISCORD_SERVICE DRONE_CI_SERVICE EMAILS_ON_PUSH_SERVICE @@ -20211,9 +21609,9 @@ type Snippet implements Noteable { author: User """ - Snippet blob. Deprecated in 13.3: Use `blobs` + Snippet blob Deprecated in 13.3: Use `blobs`. """ - blob: SnippetBlob! @deprecated(reason: "Use `blobs`. Deprecated in 13.3") + blob: SnippetBlob! @deprecated(reason: "Use `blobs`. Deprecated in 13.3.") """ Snippet blobs @@ -20720,22 +22118,22 @@ enum Sort { """ Created at ascending order """ - created_asc @deprecated(reason: "Use CREATED_ASC. Deprecated in 13.5") + created_asc @deprecated(reason: "Use CREATED_ASC. Deprecated in 13.5.") """ Created at descending order """ - created_desc @deprecated(reason: "Use CREATED_DESC. Deprecated in 13.5") + created_desc @deprecated(reason: "Use CREATED_DESC. Deprecated in 13.5.") """ Updated at ascending order """ - updated_asc @deprecated(reason: "Use UPDATED_ASC. Deprecated in 13.5") + updated_asc @deprecated(reason: "Use UPDATED_ASC. Deprecated in 13.5.") """ Updated at descending order """ - updated_desc @deprecated(reason: "Use UPDATED_DESC. Deprecated in 13.5") + updated_desc @deprecated(reason: "Use UPDATED_DESC. Deprecated in 13.5.") } type StatusAction { @@ -21041,6 +22439,11 @@ type TerraformStateVersion { createdByUser: User """ + URL for downloading the version's JSON file + """ + downloadPath: String + + """ ID of the Terraform state version """ id: ID! @@ -21051,6 +22454,11 @@ type TerraformStateVersion { job: CiJob """ + Serial number of the version + """ + serial: Int + + """ Timestamp the version was updated """ updatedAt: Time! @@ -21488,7 +22896,7 @@ input TodoMarkDoneInput { clientMutationId: String """ - The global id of the todo to mark as done + The global ID of the todo to mark as done """ id: TodoID! } @@ -21523,7 +22931,7 @@ input TodoRestoreInput { clientMutationId: String """ - The global id of the todo to restore + The global ID of the todo to restore """ id: TodoID! } @@ -21538,7 +22946,7 @@ input TodoRestoreManyInput { clientMutationId: String """ - The global ids of the todos to restore (a maximum of 50 is supported at once) + The global IDs of the todos to restore (a maximum of 50 is supported at once) """ ids: [TodoID!]! } @@ -21563,9 +22971,9 @@ type TodoRestoreManyPayload { todos: [Todo!]! """ - The ids of the updated todo items. Deprecated in 13.2: Use todos + The IDs of the updated todo items Deprecated in 13.2: Use todos. """ - updatedIds: [TodoID!]! @deprecated(reason: "Use todos. Deprecated in 13.2") + updatedIds: [TodoID!]! @deprecated(reason: "Use todos. Deprecated in 13.2.") } """ @@ -21660,9 +23068,9 @@ type TodosMarkAllDonePayload { todos: [Todo!]! """ - Ids of the updated todos. Deprecated in 13.2: Use todos + Ids of the updated todos Deprecated in 13.2: Use todos. """ - updatedIds: [TodoID!]! @deprecated(reason: "Use todos. Deprecated in 13.2") + updatedIds: [TodoID!]! @deprecated(reason: "Use todos. Deprecated in 13.2.") } """ @@ -21670,7 +23078,7 @@ Autogenerated input type of ToggleAwardEmoji """ input ToggleAwardEmojiInput { """ - The global id of the awardable resource + The global ID of the awardable resource """ awardableId: AwardableID! @@ -21892,7 +23300,7 @@ input UpdateAlertStatusInput { clientMutationId: String """ - The iid of the alert to mutate + The IID of the alert to mutate """ iid: String! @@ -21987,54 +23395,29 @@ Autogenerated input type of UpdateBoard """ input UpdateBoardInput { """ - The id of user to be assigned to the board. - """ - assigneeId: UserID - - """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ - Whether or not backlog list is hidden. + Whether or not backlog list is hidden """ hideBacklogList: Boolean """ - Whether or not closed list is hidden. + Whether or not closed list is hidden """ hideClosedList: Boolean """ - The board global id. + The board global ID. """ id: BoardID! """ - The IDs of labels to be added to the board. - """ - labelIds: [LabelID!] - - """ - Labels of the issue - """ - labels: [String!] - - """ - The id of milestone to be assigned to the board. - """ - milestoneId: MilestoneID - - """ - Name of the board + The board name. """ name: String - - """ - The weight value to be assigned to the board. - """ - weight: Int } """ @@ -22103,6 +23486,56 @@ type UpdateBoardPayload { } """ +Autogenerated input type of UpdateComplianceFramework +""" +input UpdateComplianceFrameworkInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + New color representation of the compliance framework in hex format. e.g. #FCA121 + """ + color: String + + """ + New description for the compliance framework + """ + description: String + + """ + The global ID of the compliance framework to update + """ + id: ComplianceManagementFrameworkID! + + """ + New name for the compliance framework + """ + name: String +} + +""" +Autogenerated return type of UpdateComplianceFramework +""" +type UpdateComplianceFrameworkPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The compliance framework after mutation + """ + complianceFramework: ComplianceFramework + + """ + Errors encountered during execution of the mutation. + """ + errors: [String!]! +} + +""" Autogenerated input type of UpdateContainerExpirationPolicy """ input UpdateContainerExpirationPolicyInput { @@ -22167,6 +23600,51 @@ type UpdateContainerExpirationPolicyPayload { errors: [String!]! } +""" +Autogenerated input type of UpdateDevopsAdoptionSegment +""" +input UpdateDevopsAdoptionSegmentInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The array of group IDs to set for the segment + """ + groupIds: [GroupID!] + + """ + ID of the segment + """ + id: AnalyticsDevopsAdoptionSegmentID! + + """ + Name of the segment + """ + name: String! +} + +""" +Autogenerated return type of UpdateDevopsAdoptionSegment +""" +type UpdateDevopsAdoptionSegmentPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Errors encountered during execution of the mutation. + """ + errors: [String!]! + + """ + The segment after mutation + """ + segment: DevopsAdoptionSegment +} + input UpdateDiffImagePositionInput { """ Total height of the image @@ -22229,7 +23707,7 @@ input UpdateEpicInput { groupPath: ID! """ - The iid of the epic to mutate + The IID of the epic to mutate """ iid: ID! @@ -22294,7 +23772,7 @@ input UpdateImageDiffNoteInput { clientMutationId: String """ - The global id of the note to update + The global ID of the note to update """ id: NoteID! @@ -22434,32 +23912,32 @@ input UpdateIterationInput { clientMutationId: String """ - The description of the iteration + Description of the iteration. """ description: String """ - The end date of the iteration + End date of the iteration. """ dueDate: String """ - The group of the iteration + Group of the iteration. """ groupPath: ID! """ - The id of the iteration + Global ID of the iteration. """ id: ID! """ - The start date of the iteration + Start date of the iteration. """ startDate: String """ - The title of the iteration + Title of the iteration. """ title: String } @@ -22479,7 +23957,7 @@ type UpdateIterationPayload { errors: [String!]! """ - The updated iteration + Updated iteration. """ iteration: Iteration } @@ -22504,7 +23982,7 @@ input UpdateNoteInput { confidential: Boolean """ - The global id of the note to update + The global ID of the note to update """ id: NoteID! } @@ -22544,7 +24022,7 @@ input UpdateRequirementInput { description: String """ - The iid of the requirement to update + The IID of the requirement to update """ iid: String! @@ -22609,7 +24087,7 @@ input UpdateSnippetInput { description: String """ - The global id of the snippet to update + The global ID of the snippet to update """ id: SnippetID! @@ -22717,6 +24195,11 @@ type User { projectPath: String """ + Username of the reviewer + """ + reviewerUsername: String + + """ Sort merge requests by this criteria """ sort: MergeRequestSort = created_desc @@ -22802,6 +24285,11 @@ type User { projectPath: String """ + Username of the reviewer + """ + reviewerUsername: String + + """ Sort merge requests by this criteria """ sort: MergeRequestSort = created_desc @@ -22828,12 +24316,12 @@ type User { avatarUrl: String """ - User email + User email Deprecated in 13.7: Use public_email. """ - email: String + email: String @deprecated(reason: "Use public_email. Deprecated in 13.7.") """ - Group count for the user. Available only when feature flag `user_group_counts` is enabled + Group count for the user Available only when feature flag `user_group_counts` is enabled. """ groupCount: Int @@ -22868,6 +24356,11 @@ type User { id: ID! """ + The location of the user. + """ + location: String + + """ Human-readable name of the user """ name: String! @@ -22898,6 +24391,101 @@ type User { ): ProjectMemberConnection """ + User's public email + """ + publicEmail: String + + """ + Merge Requests assigned to the user for review + """ + reviewRequestedMergeRequests( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String + + """ + Username of the assignee + """ + assigneeUsername: String + + """ + Username of the author + """ + authorUsername: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Array of IIDs of merge requests, for example `[1, 2]` + """ + iids: [String!] + + """ + Array of label names. All resolved merge requests will have all of these labels. + """ + labels: [String!] + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + Merge requests merged after this date + """ + mergedAfter: Time + + """ + Merge requests merged before this date + """ + mergedBefore: Time + + """ + Title of the milestone + """ + milestoneTitle: String + + """ + The global ID of the project the authored merge requests should be in. Incompatible with projectPath. + """ + projectId: ProjectID + + """ + The full-path of the project the authored merge requests should be in. Incompatible with projectId. + """ + projectPath: String + + """ + Sort merge requests by this criteria + """ + sort: MergeRequestSort = created_desc + + """ + Array of source branch names. All resolved merge requests will have one of these branches as their source. + """ + sourceBranches: [String!] + + """ + A merge request state. If provided, all resolved merge requests will have this state. + """ + state: MergeRequestState + + """ + Array of target branch names. All resolved merge requests will have one of these branches as their target. + """ + targetBranches: [String!] + ): MergeRequestConnection + + """ Snippets authored by the user """ snippets( @@ -23290,10 +24878,20 @@ type VulnerabilitiesCountByDayEdge { } """ +Identifier of Vulnerabilities::ExternalIssueLink +""" +scalar VulnerabilitiesExternalIssueLinkID + +""" Represents a vulnerability """ type Vulnerability implements Noteable { """ + Timestamp of when the vulnerability state was changed to confirmed + """ + confirmedAt: Time + + """ Description of the vulnerability """ description: String @@ -23329,6 +24927,41 @@ type Vulnerability implements Noteable { ): DiscussionConnection! """ + Timestamp of when the vulnerability state was changed to dismissed + """ + dismissedAt: Time + + """ + List of external issue links related to the vulnerability + """ + externalIssueLinks( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): VulnerabilityExternalIssueLinkConnection! + + """ + Indicates whether there is a solution available for this vulnerability. + """ + hasSolutions: Boolean + + """ GraphQL ID of the vulnerability """ id: ID! @@ -23374,6 +25007,11 @@ type Vulnerability implements Noteable { location: VulnerabilityLocation """ + Merge request that fixes the vulnerability. + """ + mergeRequest: MergeRequest + + """ All notes on this noteable """ notes( @@ -23416,6 +25054,11 @@ type Vulnerability implements Noteable { reportType: VulnerabilityReportType """ + Timestamp of when the vulnerability state was changed to resolved + """ + resolvedAt: Time + + """ Indicates whether the vulnerability is fixed on the default branch or not """ resolvedOnDefaultBranch: Boolean! @@ -23567,6 +25210,156 @@ type VulnerabilityEdge { } """ +Represents an external issue link of a vulnerability +""" +type VulnerabilityExternalIssueLink { + """ + The external issue attached to the issue link + """ + externalIssue: ExternalIssue + + """ + GraphQL ID of the external issue link + """ + id: VulnerabilitiesExternalIssueLinkID! + + """ + Type of the external issue link + """ + linkType: VulnerabilityExternalIssueLinkType! +} + +""" +The connection type for VulnerabilityExternalIssueLink. +""" +type VulnerabilityExternalIssueLinkConnection { + """ + A list of edges. + """ + edges: [VulnerabilityExternalIssueLinkEdge] + + """ + A list of nodes. + """ + nodes: [VulnerabilityExternalIssueLink] + + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! +} + +""" +Autogenerated input type of VulnerabilityExternalIssueLinkCreate +""" +input VulnerabilityExternalIssueLinkCreateInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + External tracker type of the external issue link. + """ + externalTracker: VulnerabilityExternalIssueLinkExternalTracker! + + """ + ID of the vulnerability. + """ + id: VulnerabilityID! + + """ + Type of the external issue link. + """ + linkType: VulnerabilityExternalIssueLinkType! +} + +""" +Autogenerated return type of VulnerabilityExternalIssueLinkCreate +""" +type VulnerabilityExternalIssueLinkCreatePayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Errors encountered during execution of the mutation. + """ + errors: [String!]! + + """ + The created external issue link. + """ + externalIssueLink: VulnerabilityExternalIssueLink +} + +""" +Autogenerated input type of VulnerabilityExternalIssueLinkDestroy +""" +input VulnerabilityExternalIssueLinkDestroyInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The global ID of the vulnerability external issue link. + """ + id: VulnerabilitiesExternalIssueLinkID! +} + +""" +Autogenerated return type of VulnerabilityExternalIssueLinkDestroy +""" +type VulnerabilityExternalIssueLinkDestroyPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Errors encountered during execution of the mutation. + """ + errors: [String!]! +} + +""" +An edge in a connection. +""" +type VulnerabilityExternalIssueLinkEdge { + """ + A cursor for use in pagination. + """ + cursor: String! + + """ + The item at the end of the edge. + """ + node: VulnerabilityExternalIssueLink +} + +""" +The external tracker of the external issue link related to a vulnerability +""" +enum VulnerabilityExternalIssueLinkExternalTracker { + """ + Jira external tracker + """ + JIRA +} + +""" +The type of the external issue link related to a vulnerability +""" +enum VulnerabilityExternalIssueLinkType { + """ + Created link type + """ + CREATED +} + +""" The grade of the vulnerable project """ enum VulnerabilityGrade { @@ -23835,6 +25628,11 @@ type VulnerabilityPermissions { adminVulnerability: Boolean! """ + Indicates the user can perform `admin_vulnerability_external_issue_link` on this resource + """ + adminVulnerabilityExternalIssueLink: Boolean! + + """ Indicates the user can perform `admin_vulnerability_issue_link` on this resource """ adminVulnerabilityIssueLink: Boolean! diff --git a/doc/api/graphql/reference/gitlab_schema.json b/doc/api/graphql/reference/gitlab_schema.json index de3f9c2665f..4adb92d351e 100644 --- a/doc/api/graphql/reference/gitlab_schema.json +++ b/doc/api/graphql/reference/gitlab_schema.json @@ -105,7 +105,7 @@ "inputFields": [ { "name": "awardableId", - "description": "The global id of the awardable resource", + "description": "The global ID of the awardable resource", "type": { "kind": "NON_NULL", "name": null, @@ -1252,25 +1252,25 @@ "name": "updated_desc", "description": "Updated at descending order", "isDeprecated": true, - "deprecationReason": "Use UPDATED_DESC. Deprecated in 13.5" + "deprecationReason": "Use UPDATED_DESC. Deprecated in 13.5." }, { "name": "updated_asc", "description": "Updated at ascending order", "isDeprecated": true, - "deprecationReason": "Use UPDATED_ASC. Deprecated in 13.5" + "deprecationReason": "Use UPDATED_ASC. Deprecated in 13.5." }, { "name": "created_desc", "description": "Created at descending order", "isDeprecated": true, - "deprecationReason": "Use CREATED_DESC. Deprecated in 13.5" + "deprecationReason": "Use CREATED_DESC. Deprecated in 13.5." }, { "name": "created_asc", "description": "Created at ascending order", "isDeprecated": true, - "deprecationReason": "Use CREATED_ASC. Deprecated in 13.5" + "deprecationReason": "Use CREATED_ASC. Deprecated in 13.5." }, { "name": "UPDATED_DESC", @@ -1481,6 +1481,29 @@ "possibleTypes": null }, { + "kind": "ENUM", + "name": "AlertManagementDomainFilter", + "description": "Filters the alerts based on given domain", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "operations", + "description": "Alerts for operations domain ", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "threat_monitoring", + "description": "Alerts for threat monitoring domain", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { "kind": "OBJECT", "name": "AlertManagementHttpIntegration", "description": "An endpoint and credentials used to accept alerts for a project", @@ -2103,7 +2126,7 @@ }, { "name": "iid", - "description": "The iid of the alert to mutate", + "description": "The IID of the alert to mutate", "type": { "kind": "NON_NULL", "name": null, @@ -2279,7 +2302,7 @@ }, { "name": "iid", - "description": "The iid of the alert to mutate", + "description": "The IID of the alert to mutate", "type": { "kind": "NON_NULL", "name": null, @@ -2402,6 +2425,16 @@ "possibleTypes": null }, { + "kind": "SCALAR", + "name": "AnalyticsDevopsAdoptionSegmentID", + "description": "Identifier of Analytics::DevopsAdoption::Segment", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { "kind": "ENUM", "name": "AvailabilityEnum", "description": "User availability status", @@ -2553,7 +2586,7 @@ "inputFields": [ { "name": "awardableId", - "description": "The global id of the awardable resource", + "description": "The global ID of the awardable resource", "type": { "kind": "NON_NULL", "name": null, @@ -2669,7 +2702,7 @@ "inputFields": [ { "name": "awardableId", - "description": "The global id of the awardable resource", + "description": "The global ID of the awardable resource", "type": { "kind": "NON_NULL", "name": null, @@ -2785,7 +2818,7 @@ "inputFields": [ { "name": "awardableId", - "description": "The global id of the awardable resource", + "description": "The global ID of the awardable resource", "type": { "kind": "NON_NULL", "name": null, @@ -3295,7 +3328,7 @@ "fields": [ { "name": "assignee", - "description": "The board assignee.", + "description": "The board assignee", "args": [ ], @@ -3309,7 +3342,7 @@ }, { "name": "epics", - "description": "Epics associated with board issues.", + "description": "Epics associated with board issues", "args": [ { "name": "issueFilters", @@ -3372,7 +3405,7 @@ }, { "name": "hideBacklogList", - "description": "Whether or not backlog list is hidden.", + "description": "Whether or not backlog list is hidden", "args": [ ], @@ -3386,7 +3419,7 @@ }, { "name": "hideClosedList", - "description": "Whether or not closed list is hidden.", + "description": "Whether or not closed list is hidden", "args": [ ], @@ -3417,6 +3450,20 @@ "deprecationReason": null }, { + "name": "iteration", + "description": "The board iteration.", + "args": [ + + ], + "type": { + "kind": "OBJECT", + "name": "Iteration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "labels", "description": "Labels of the board", "args": [ @@ -3544,7 +3591,7 @@ }, { "name": "milestone", - "description": "The board milestone.", + "description": "The board milestone", "args": [ ], @@ -3572,7 +3619,7 @@ }, { "name": "weight", - "description": "Weight of the board.", + "description": "Weight of the board", "args": [ ], @@ -3733,7 +3780,7 @@ "args": [ { "name": "startDate", - "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present). Deprecated in 13.5: Use timeframe.start", + "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present) Deprecated in 13.5: Use timeframe.start.", "type": { "kind": "SCALAR", "name": "Time", @@ -3743,7 +3790,7 @@ }, { "name": "endDate", - "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present). Deprecated in 13.5: Use timeframe.end", + "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present) Deprecated in 13.5: Use timeframe.end.", "type": { "kind": "SCALAR", "name": "Time", @@ -3859,7 +3906,7 @@ }, { "name": "iidStartsWith", - "description": "Filter epics by iid for autocomplete", + "description": "Filter epics by IID for autocomplete", "type": { "kind": "SCALAR", "name": "String", @@ -5564,6 +5611,16 @@ "defaultValue": null }, { + "name": "iterationId", + "description": "Global ID of an existing iteration", + "type": { + "kind": "SCALAR", + "name": "IterationID", + "ofType": null + }, + "defaultValue": null + }, + { "name": "assigneeId", "description": "Global ID of an existing user", "type": { @@ -5834,6 +5891,16 @@ }, { "kind": "SCALAR", + "name": "BoardsEpicBoardID", + "description": "Identifier of Boards::EpicBoard", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", "name": "Boolean", "description": "Represents `true` or `false` values.", "fields": null, @@ -5992,6 +6059,330 @@ }, { "kind": "OBJECT", + "name": "CiConfig", + "description": null, + "fields": [ + { + "name": "errors", + "description": "Linting errors", + "args": [ + + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergedYaml", + "description": "Merged CI config YAML", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stages", + "description": "Stages of the pipeline", + "args": [ + + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiConfigStage", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of linting, can be either valid or invalid", + "args": [ + + ], + "type": { + "kind": "ENUM", + "name": "CiConfigStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiConfigGroup", + "description": null, + "fields": [ + { + "name": "jobs", + "description": "Jobs in group", + "args": [ + + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiConfigJob", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the job group", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size", + "description": "Size of the job group", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiConfigJob", + "description": null, + "fields": [ + { + "name": "groupName", + "description": "Name of the job group", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the job", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "needs", + "description": "Builds that must complete before the jobs run", + "args": [ + + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiConfigNeed", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stage", + "description": "Name of the job stage", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiConfigNeed", + "description": null, + "fields": [ + { + "name": "name", + "description": "Name of the need", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiConfigStage", + "description": null, + "fields": [ + { + "name": "groups", + "description": "Groups of jobs for the stage", + "args": [ + + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiConfigGroup", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the stage", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CiConfigStatus", + "description": "Values for YAML processor result", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "VALID", + "description": "The configuration file is valid", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The configuration file is not valid", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", "name": "CiGroup", "description": null, "fields": [ @@ -6216,6 +6607,59 @@ "description": null, "fields": [ { + "name": "artifacts", + "description": "Artifacts generated by the job", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiJobArtifactConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "detailedStatus", "description": "Detailed status of the job", "args": [ @@ -6303,11 +6747,160 @@ ], "type": { + "kind": "OBJECT", + "name": "Pipeline", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scheduledAt", + "description": "Schedule for the build", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiJobArtifact", + "description": null, + "fields": [ + { + "name": "downloadPath", + "description": "URL for downloading the artifact's file", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileType", + "description": "File type of the artifact", + "args": [ + + ], + "type": { + "kind": "ENUM", + "name": "JobArtifactFileType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiJobArtifactConnection", + "description": "The connection type for CiJobArtifact.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [ + + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiJobArtifactEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [ + + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiJobArtifact", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [ + + ], + "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", - "name": "Pipeline", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiJobArtifactEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", "ofType": null } }, @@ -6315,14 +6908,14 @@ "deprecationReason": null }, { - "name": "scheduledAt", - "description": "Schedule for the build", + "name": "node", + "description": "The item at the end of the edge.", "args": [ ], "type": { - "kind": "SCALAR", - "name": "Time", + "kind": "OBJECT", + "name": "CiJobArtifact", "ofType": null }, "isDeprecated": false, @@ -6897,7 +7490,7 @@ "inputFields": [ { "name": "id", - "description": "Global id of the cluster agent that will be deleted", + "description": "Global ID of the cluster agent that will be deleted", "type": { "kind": "NON_NULL", "name": null, @@ -7908,6 +8501,24 @@ "deprecationReason": null }, { + "name": "shortId", + "description": "Short SHA1 ID of the commit", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "signatureHtml", "description": "Rendered HTML of the commit signature", "args": [ @@ -8124,6 +8735,73 @@ "possibleTypes": null }, { + "kind": "OBJECT", + "name": "CommitConnection", + "description": "The connection type for Commit.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [ + + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CommitEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [ + + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Commit", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { "kind": "INPUT_OBJECT", "name": "CommitCreateInput", "description": "Autogenerated input type of CommitCreate", @@ -8286,6 +8964,51 @@ "possibleTypes": null }, { + "kind": "OBJECT", + "name": "CommitEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [ + + ], + "type": { + "kind": "OBJECT", + "name": "Commit", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { "kind": "ENUM", "name": "CommitEncoding", "description": null, @@ -8314,6 +9037,60 @@ "description": "Represents a ComplianceFramework associated with a Project", "fields": [ { + "name": "color", + "description": "Hexadecimal representation of compliance framework's label color", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the compliance framework", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Compliance framework ID", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "name", "description": "Name of the compliance framework", "args": [ @@ -8452,6 +9229,16 @@ "possibleTypes": null }, { + "kind": "SCALAR", + "name": "ComplianceManagementFrameworkID", + "description": "Identifier of ComplianceManagement::Framework", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { "kind": "INPUT_OBJECT", "name": "ConfigureSastInput", "description": "Autogenerated input type of ConfigureSast", @@ -9005,6 +9792,24 @@ "deprecationReason": null }, { + "name": "project", + "description": "Project of the container registry", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "status", "description": "Status of the container repository.", "args": [ @@ -9306,6 +10111,24 @@ "deprecationReason": null }, { + "name": "project", + "description": "Project of the container registry", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "status", "description": "Status of the container repository.", "args": [ @@ -9803,7 +10626,7 @@ }, { "name": "iid", - "description": "The iid of the alert to mutate", + "description": "The IID of the alert to mutate", "type": { "kind": "NON_NULL", "name": null, @@ -9933,7 +10756,7 @@ "inputFields": [ { "name": "environmentId", - "description": "The global id of the environment to add an annotation to", + "description": "The global ID of the environment to add an annotation to", "type": { "kind": "SCALAR", "name": "EnvironmentID", @@ -9943,7 +10766,7 @@ }, { "name": "clusterId", - "description": "The global id of the cluster to add an annotation to", + "description": "The global ID of the cluster to add an annotation to", "type": { "kind": "SCALAR", "name": "ClustersClusterID", @@ -10122,28 +10945,18 @@ "defaultValue": null }, { - "name": "assigneeId", - "description": "The ID of the user to be assigned to the board.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "milestoneId", - "description": "The ID of the milestone to be assigned to the board.", + "name": "hideBacklogList", + "description": "Whether or not backlog list is hidden", "type": { "kind": "SCALAR", - "name": "MilestoneID", + "name": "Boolean", "ofType": null }, "defaultValue": null }, { - "name": "weight", - "description": "The weight of the board.", + "name": "hideClosedList", + "description": "Whether or not closed list is hidden", "type": { "kind": "SCALAR", "name": "Boolean", @@ -10152,24 +10965,6 @@ "defaultValue": null }, { - "name": "labelIds", - "description": "The IDs of labels to be added to the board.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "LabelID", - "ofType": null - } - } - }, - "defaultValue": null - }, - { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "type": { @@ -10499,6 +11294,150 @@ }, { "kind": "INPUT_OBJECT", + "name": "CreateComplianceFrameworkInput", + "description": "Autogenerated input type of CreateComplianceFramework", + "fields": null, + "inputFields": [ + { + "name": "namespacePath", + "description": "Full path of the namespace to add the compliance framework to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the compliance framework.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the compliance framework.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "color", + "description": "Color to represent the compliance framework as a hexadecimal value. e.g. #ABC123.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CreateComplianceFrameworkPayload", + "description": "Autogenerated return type of CreateComplianceFramework", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during execution of the mutation.", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "framework", + "description": "The created compliance framework.", + "args": [ + + ], + "type": { + "kind": "OBJECT", + "name": "ComplianceFramework", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", "name": "CreateCustomEmojiInput", "description": "Autogenerated input type of CreateCustomEmoji", "fields": null, @@ -10629,13 +11568,133 @@ }, { "kind": "INPUT_OBJECT", + "name": "CreateDevopsAdoptionSegmentInput", + "description": "Autogenerated input type of CreateDevopsAdoptionSegment", + "fields": null, + "inputFields": [ + { + "name": "name", + "description": "Name of the segment", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "groupIds", + "description": "The array of group IDs to set for the segment", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CreateDevopsAdoptionSegmentPayload", + "description": "Autogenerated return type of CreateDevopsAdoptionSegment", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during execution of the mutation.", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "segment", + "description": "The segment after mutation", + "args": [ + + ], + "type": { + "kind": "OBJECT", + "name": "DevopsAdoptionSegment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", "name": "CreateDiffNoteInput", "description": "Autogenerated input type of CreateDiffNote", "fields": null, "inputFields": [ { "name": "noteableId", - "description": "The global id of the resource to add a note to", + "description": "The global ID of the resource to add a note to", "type": { "kind": "NON_NULL", "name": null, @@ -10983,7 +12042,7 @@ "inputFields": [ { "name": "noteableId", - "description": "The global id of the resource to add a note to", + "description": "The global ID of the resource to add a note to", "type": { "kind": "NON_NULL", "name": null, @@ -11561,7 +12620,7 @@ "inputFields": [ { "name": "noteableId", - "description": "The global id of the resource to add a note to", + "description": "The global ID of the resource to add a note to", "type": { "kind": "NON_NULL", "name": null, @@ -11599,7 +12658,7 @@ }, { "name": "discussionId", - "description": "The global id of the discussion this note is in reply to", + "description": "The global ID of the discussion this note is in reply to", "type": { "kind": "SCALAR", "name": "DiscussionID", @@ -12627,7 +13686,7 @@ }, { "name": "globalId", - "description": "ID of the DAST scanner profile. Deprecated in 13.6: Use `id`", + "description": "ID of the DAST scanner profile Deprecated in 13.6: Use `id`.", "args": [ ], @@ -12641,7 +13700,7 @@ } }, "isDeprecated": true, - "deprecationReason": "Use `id`. Deprecated in 13.6" + "deprecationReason": "Use `id`. Deprecated in 13.6." }, { "name": "id", @@ -12974,7 +14033,7 @@ }, { "name": "globalId", - "description": "ID of the scanner profile.. Deprecated in 13.6: Use `id`", + "description": "ID of the scanner profile. Deprecated in 13.6: Use `id`.", "args": [ ], @@ -12984,7 +14043,7 @@ "ofType": null }, "isDeprecated": true, - "deprecationReason": "Use `id`. Deprecated in 13.6" + "deprecationReason": "Use `id`. Deprecated in 13.6." }, { "name": "id", @@ -13391,6 +14450,20 @@ "deprecationReason": null }, { + "name": "normalizedTargetUrl", + "description": "Normalized URL of the target to be scanned", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "profileName", "description": "The name of the site profile", "args": [ @@ -13988,6 +15061,12 @@ "interfaces": null, "enumValues": [ { + "name": "NONE", + "description": "No site validation exists", + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "PENDING_VALIDATION", "description": "Site validation process has not started", "isDeprecated": false, @@ -14171,7 +15250,7 @@ "fields": [ { "name": "id", - "description": "ID of the site validation", + "description": "Global ID of the site validation", "args": [ ], @@ -14188,8 +15267,22 @@ "deprecationReason": null }, { + "name": "normalizedTargetUrl", + "description": "Normalized URL of the target to be validated", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "status", - "description": "The status of the validation", + "description": "Status of the site validation", "args": [ ], @@ -14214,6 +15307,73 @@ "possibleTypes": null }, { + "kind": "OBJECT", + "name": "DastSiteValidationConnection", + "description": "The connection type for DastSiteValidation.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [ + + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DastSiteValidationEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [ + + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DastSiteValidation", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { "kind": "INPUT_OBJECT", "name": "DastSiteValidationCreateInput", "description": "Autogenerated input type of DastSiteValidationCreate", @@ -14368,6 +15528,51 @@ "possibleTypes": null }, { + "kind": "OBJECT", + "name": "DastSiteValidationEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [ + + ], + "type": { + "kind": "OBJECT", + "name": "DastSiteValidation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { "kind": "SCALAR", "name": "DastSiteValidationID", "description": "Identifier of DastSiteValidation", @@ -14418,7 +15623,7 @@ "inputFields": [ { "name": "id", - "description": "The global ID of the annotation to delete", + "description": "Global ID of the annotation to delete", "type": { "kind": "NON_NULL", "name": null, @@ -14499,6 +15704,94 @@ "possibleTypes": null }, { + "kind": "INPUT_OBJECT", + "name": "DeleteDevopsAdoptionSegmentInput", + "description": "Autogenerated input type of DeleteDevopsAdoptionSegment", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "ID of the segment", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "AnalyticsDevopsAdoptionSegmentID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeleteDevopsAdoptionSegmentPayload", + "description": "Autogenerated return type of DeleteDevopsAdoptionSegment", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during execution of the mutation.", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { "kind": "OBJECT", "name": "DeleteJobsResponse", "description": "The response from the AdminSidekiqQueuesDeleteJobs mutation", @@ -16119,7 +17412,7 @@ }, { "name": "iid", - "description": "The iid of the issue to modify designs for", + "description": "The IID of the issue to modify designs for", "type": { "kind": "NON_NULL", "name": null, @@ -16399,7 +17692,7 @@ }, { "name": "iid", - "description": "The iid of the issue to modify designs for", + "description": "The IID of the issue to modify designs for", "type": { "kind": "NON_NULL", "name": null, @@ -17162,6 +18455,94 @@ }, { "kind": "INPUT_OBJECT", + "name": "DestroyComplianceFrameworkInput", + "description": "Autogenerated input type of DestroyComplianceFramework", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "The global ID of the compliance framework to destroy", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ComplianceManagementFrameworkID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DestroyComplianceFrameworkPayload", + "description": "Autogenerated return type of DestroyComplianceFramework", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during execution of the mutation.", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", "name": "DestroyContainerRepositoryInput", "description": "Autogenerated input type of DestroyContainerRepository", "fields": null, @@ -17268,13 +18649,149 @@ }, { "kind": "INPUT_OBJECT", + "name": "DestroyContainerRepositoryTagsInput", + "description": "Autogenerated input type of DestroyContainerRepositoryTags", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "ID of the container repository.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ContainerRepositoryID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "tagNames", + "description": "Container repository tag(s) to delete. Total number can't be greater than 20", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "defaultValue": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DestroyContainerRepositoryTagsPayload", + "description": "Autogenerated return type of DestroyContainerRepositoryTags", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deletedTagNames", + "description": "Deleted container repository tags", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during execution of the mutation.", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", "name": "DestroyNoteInput", "description": "Autogenerated input type of DestroyNote", "fields": null, "inputFields": [ { "name": "id", - "description": "The global id of the note to destroy", + "description": "The global ID of the note to destroy", "type": { "kind": "NON_NULL", "name": null, @@ -17376,7 +18893,7 @@ "inputFields": [ { "name": "id", - "description": "The global id of the snippet to destroy", + "description": "The global ID of the snippet to destroy", "type": { "kind": "NON_NULL", "name": null, @@ -17618,51 +19135,20 @@ "name": "groups", "description": "Assigned groups", "args": [ - { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "first", - "description": "Returns the first _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "last", - "description": "Returns the last _n_ elements from the list.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - } + ], "type": { - "kind": "OBJECT", - "name": "GroupConnection", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Group", + "ofType": null + } + } }, "isDeprecated": false, "deprecationReason": null @@ -17686,6 +19172,20 @@ "deprecationReason": null }, { + "name": "latestSnapshot", + "description": "The latest adoption metrics for the segment", + "args": [ + + ], + "type": { + "kind": "OBJECT", + "name": "DevopsAdoptionSnapshot", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "name", "description": "Name of the segment", "args": [ @@ -17824,6 +19324,199 @@ "possibleTypes": null }, { + "kind": "OBJECT", + "name": "DevopsAdoptionSnapshot", + "description": "Snapshot", + "fields": [ + { + "name": "deploySucceeded", + "description": "At least one deployment succeeded", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endTime", + "description": "The end time for the snapshot where the data points were collected", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issueOpened", + "description": "At least one issue was opened", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestApproved", + "description": "At least one merge request was approved", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestOpened", + "description": "At least one merge request was opened", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineSucceeded", + "description": "At least one pipeline succeeded", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recordedAt", + "description": "The time the snapshot was recorded", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "runnerConfigured", + "description": "At least one runner was used", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityScanSucceeded", + "description": "At least one security scan succeeded", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startTime", + "description": "The start time for the snapshot where the data points were collected", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { "kind": "INPUT_OBJECT", "name": "DiffImagePositionInput", "description": null, @@ -18809,7 +20502,7 @@ "inputFields": [ { "name": "id", - "description": "The global id of the discussion", + "description": "The global ID of the discussion", "type": { "kind": "NON_NULL", "name": null, @@ -19572,7 +21265,7 @@ "args": [ { "name": "startDate", - "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present). Deprecated in 13.5: Use timeframe.start", + "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present) Deprecated in 13.5: Use timeframe.start.", "type": { "kind": "SCALAR", "name": "Time", @@ -19582,7 +21275,7 @@ }, { "name": "endDate", - "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present). Deprecated in 13.5: Use timeframe.end", + "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present) Deprecated in 13.5: Use timeframe.end.", "type": { "kind": "SCALAR", "name": "Time", @@ -19698,7 +21391,7 @@ }, { "name": "iidStartsWith", - "description": "Filter epics by iid for autocomplete", + "description": "Filter epics by IID for autocomplete", "type": { "kind": "SCALAR", "name": "String", @@ -20707,7 +22400,7 @@ "inputFields": [ { "name": "iid", - "description": "The iid of the epic to mutate", + "description": "The IID of the epic to mutate", "type": { "kind": "NON_NULL", "name": null, @@ -20749,7 +22442,7 @@ }, { "name": "issueIid", - "description": "The iid of the issue to be added", + "description": "The IID of the issue to be added", "type": { "kind": "NON_NULL", "name": null, @@ -20859,6 +22552,163 @@ }, { "kind": "OBJECT", + "name": "EpicBoard", + "description": "Represents an epic board", + "fields": [ + { + "name": "id", + "description": "Global ID of the board", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BoardsEpicBoardID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the board", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EpicBoardConnection", + "description": "The connection type for EpicBoard.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [ + + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EpicBoardEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [ + + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EpicBoard", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EpicBoardEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [ + + ], + "type": { + "kind": "OBJECT", + "name": "EpicBoard", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", "name": "EpicConnection", "description": "The connection type for Epic.", "fields": [ @@ -21236,7 +23086,7 @@ }, { "name": "blocked", - "description": "Indicates the issue is blocked", + "description": "Indicates the issue is blocked.", "args": [ ], @@ -21254,7 +23104,7 @@ }, { "name": "blockedByCount", - "description": "Count of issues blocking this issue", + "description": "Count of issues blocking this issue.", "args": [ ], @@ -21552,7 +23402,7 @@ }, { "name": "epic", - "description": "Epic to which this issue belongs", + "description": "Epic to which this issue belongs.", "args": [ ], @@ -21584,7 +23434,7 @@ }, { "name": "healthStatus", - "description": "Current health status. Returns null if `save_issuable_health_status` feature flag is disabled.", + "description": "Current health status.", "args": [ ], @@ -21658,7 +23508,7 @@ }, { "name": "iteration", - "description": "Iteration of the issue", + "description": "Iteration of the issue.", "args": [ ], @@ -21724,6 +23574,28 @@ "deprecationReason": null }, { + "name": "metricImages", + "description": "Metric images associated to the issue.", + "args": [ + + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetricImage", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "milestone", "description": "Milestone of the issue", "args": [ @@ -21978,7 +23850,7 @@ }, { "name": "statusPagePublishedIncident", - "description": "Indicates whether an issue is published to the status page", + "description": "Indicates whether an issue is published to the status page.", "args": [ ], @@ -22250,7 +24122,7 @@ }, { "name": "weight", - "description": "Weight of the issue", + "description": "Weight of the issue.", "args": [ ], @@ -22592,7 +24464,7 @@ "inputFields": [ { "name": "iid", - "description": "The iid of the epic to mutate", + "description": "The IID of the epic to mutate", "type": { "kind": "NON_NULL", "name": null, @@ -22809,7 +24681,7 @@ "inputFields": [ { "name": "id", - "description": "The id of the epic_issue or epic that is being moved", + "description": "The ID of the epic_issue or epic that is being moved", "type": { "kind": "NON_NULL", "name": null, @@ -22823,7 +24695,7 @@ }, { "name": "adjacentReferenceId", - "description": "The id of the epic_issue or issue that the actual epic or issue is switched with", + "description": "The ID of the epic_issue or issue that the actual epic or issue is switched with", "type": { "kind": "SCALAR", "name": "EpicTreeSortingID", @@ -22864,7 +24736,7 @@ "inputFields": [ { "name": "baseEpicId", - "description": "The id of the base epic of the tree", + "description": "The ID of the base epic of the tree", "type": { "kind": "NON_NULL", "name": null, @@ -22992,6 +24864,117 @@ "possibleTypes": null }, { + "kind": "OBJECT", + "name": "ExternalIssue", + "description": "Represents an external issue", + "fields": [ + { + "name": "createdAt", + "description": "Timestamp of when the issue was created", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "externalTracker", + "description": "Type of external tracker", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "relativeReference", + "description": "Relative reference of the issue in the external tracker", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of the issue in the external tracker", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the issue in the external tracker", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the issue was updated", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "URL to the issue in the external tracker", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { "kind": "SCALAR", "name": "Float", "description": "Represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).", @@ -23369,7 +25352,7 @@ }, { "name": "snippetRepositoryRegistries", - "description": "Find snippet repository registries on this Geo node. Available only when feature flag `geo_snippet_repository_replication` is enabled", + "description": "Find snippet repository registries on this Geo node", "args": [ { "name": "ids", @@ -23825,7 +25808,7 @@ }, { "name": "codeCoverageActivities", - "description": "Represents the code coverage activity for this group. Available only when feature flag `group_coverage_data_report_graph` is enabled", + "description": "Represents the code coverage activity for this group", "args": [ { "name": "startDate", @@ -23891,8 +25874,61 @@ "deprecationReason": null }, { + "name": "complianceFrameworks", + "description": "Compliance frameworks available to projects in this namespace Available only when feature flag `ff_custom_compliance_frameworks` is enabled.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComplianceFrameworkConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "containerRepositories", - "description": "Container repositories of the project", + "description": "Container repositories of the group", "args": [ { "name": "name", @@ -23954,6 +25990,24 @@ "deprecationReason": null }, { + "name": "containerRepositoriesCount", + "description": "Number of container repositories in the group", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "containsLockedProjects", "description": "Includes at least one project where the repository size exceeds the limit", "args": [ @@ -23973,7 +26027,7 @@ }, { "name": "customEmoji", - "description": "Custom emoji within this namespace. Available only when feature flag `custom_emoji` is enabled", + "description": "Custom emoji within this namespace Available only when feature flag `custom_emoji` is enabled.", "args": [ { "name": "after", @@ -24072,7 +26126,7 @@ "args": [ { "name": "startDate", - "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present). Deprecated in 13.5: Use timeframe.start", + "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present) Deprecated in 13.5: Use timeframe.start.", "type": { "kind": "SCALAR", "name": "Time", @@ -24082,7 +26136,7 @@ }, { "name": "endDate", - "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present). Deprecated in 13.5: Use timeframe.end", + "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present) Deprecated in 13.5: Use timeframe.end.", "type": { "kind": "SCALAR", "name": "Time", @@ -24198,7 +26252,7 @@ }, { "name": "iidStartsWith", - "description": "Filter epics by iid for autocomplete", + "description": "Filter epics by IID for autocomplete", "type": { "kind": "SCALAR", "name": "String", @@ -24226,12 +26280,92 @@ "deprecationReason": null }, { + "name": "epicBoard", + "description": "Find a single epic board", + "args": [ + { + "name": "id", + "description": "Find an epic board by ID", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BoardsEpicBoardID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EpicBoard", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "epicBoards", + "description": "Find epic boards", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EpicBoardConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "epics", "description": "Find epics", "args": [ { "name": "startDate", - "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present). Deprecated in 13.5: Use timeframe.start", + "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present) Deprecated in 13.5: Use timeframe.start.", "type": { "kind": "SCALAR", "name": "Time", @@ -24241,7 +26375,7 @@ }, { "name": "endDate", - "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present). Deprecated in 13.5: Use timeframe.end", + "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present) Deprecated in 13.5: Use timeframe.end.", "type": { "kind": "SCALAR", "name": "Time", @@ -24357,7 +26491,7 @@ }, { "name": "iidStartsWith", - "description": "Filter epics by iid for autocomplete", + "description": "Filter epics by IID for autocomplete", "type": { "kind": "SCALAR", "name": "String", @@ -24489,6 +26623,24 @@ "defaultValue": null }, { + "name": "relations", + "description": "Filter members by the given member relations", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "GroupMemberRelation", + "ofType": null + } + } + }, + "defaultValue": "[DIRECT, INHERITED]" + }, + { "name": "after", "description": "Returns the elements in the list that come after the specified cursor.", "type": { @@ -24892,7 +27044,7 @@ "args": [ { "name": "startDate", - "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present). Deprecated in 13.5: Use timeframe.start", + "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present) Deprecated in 13.5: Use timeframe.start.", "type": { "kind": "SCALAR", "name": "Time", @@ -24902,7 +27054,7 @@ }, { "name": "endDate", - "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present). Deprecated in 13.5: Use timeframe.end", + "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present) Deprecated in 13.5: Use timeframe.end.", "type": { "kind": "SCALAR", "name": "Time", @@ -24922,7 +27074,7 @@ }, { "name": "state", - "description": "Filter iterations by state", + "description": "Filter iterations by state.", "type": { "kind": "ENUM", "name": "IterationState", @@ -24932,7 +27084,7 @@ }, { "name": "title", - "description": "Fuzzy search by title", + "description": "Fuzzy search by title.", "type": { "kind": "SCALAR", "name": "String", @@ -24942,7 +27094,7 @@ }, { "name": "id", - "description": "The ID of the Iteration to look up", + "description": "Global ID of the Iteration to look up.", "type": { "kind": "SCALAR", "name": "ID", @@ -24952,7 +27104,7 @@ }, { "name": "iid", - "description": "The internal ID of the Iteration to look up", + "description": "Internal ID of the Iteration to look up.", "type": { "kind": "SCALAR", "name": "ID", @@ -24962,7 +27114,7 @@ }, { "name": "includeAncestors", - "description": "Whether to include ancestor iterations. Defaults to true", + "description": "Whether to include ancestor iterations. Defaults to true.", "type": { "kind": "SCALAR", "name": "Boolean", @@ -25348,7 +27500,7 @@ "args": [ { "name": "startDate", - "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present). Deprecated in 13.5: Use timeframe.start", + "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present) Deprecated in 13.5: Use timeframe.start.", "type": { "kind": "SCALAR", "name": "Time", @@ -25358,7 +27510,7 @@ }, { "name": "endDate", - "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present). Deprecated in 13.5: Use timeframe.end", + "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present) Deprecated in 13.5: Use timeframe.end.", "type": { "kind": "SCALAR", "name": "Time", @@ -26211,7 +28363,7 @@ }, { "name": "vulnerabilitiesCountByDayAndSeverity", - "description": "Number of vulnerabilities per severity level, per day, for the projects in the group and its subgroups. Deprecated in 13.3: Use `vulnerabilitiesCountByDay`", + "description": "Number of vulnerabilities per severity level, per day, for the projects in the group and its subgroups Deprecated in 13.3: Use `vulnerabilitiesCountByDay`.", "args": [ { "name": "startDate", @@ -26288,7 +28440,7 @@ "ofType": null }, "isDeprecated": true, - "deprecationReason": "Use `vulnerabilitiesCountByDay`. Deprecated in 13.3" + "deprecationReason": "Use `vulnerabilitiesCountByDay`. Deprecated in 13.3." }, { "name": "vulnerabilityGrades", @@ -26508,118 +28660,6 @@ "possibleTypes": null }, { - "kind": "OBJECT", - "name": "GroupConnection", - "description": "The connection type for Group.", - "fields": [ - { - "name": "edges", - "description": "A list of edges.", - "args": [ - - ], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "GroupEdge", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "nodes", - "description": "A list of nodes.", - "args": [ - - ], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Group", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageInfo", - "description": "Information to aid in pagination.", - "args": [ - - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "PageInfo", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "GroupEdge", - "description": "An edge in a connection.", - "fields": [ - { - "name": "cursor", - "description": "A cursor for use in pagination.", - "args": [ - - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "node", - "description": "The item at the end of the edge.", - "args": [ - - ], - "type": { - "kind": "OBJECT", - "name": "Group", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - - ], - "enumValues": null, - "possibleTypes": null - }, - { "kind": "SCALAR", "name": "GroupID", "description": "Identifier of Group", @@ -26897,6 +28937,35 @@ "possibleTypes": null }, { + "kind": "ENUM", + "name": "GroupMemberRelation", + "description": "Group member relation", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DIRECT", + "description": "Direct members", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INHERITED", + "description": "Inherited members", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DESCENDANTS", + "description": "Descendants members", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { "kind": "OBJECT", "name": "GroupPermissions", "description": null, @@ -27162,7 +29231,7 @@ "inputFields": [ { "name": "id", - "description": "The id of the integration to remove", + "description": "The ID of the integration to remove", "type": { "kind": "NON_NULL", "name": null, @@ -27264,7 +29333,7 @@ "inputFields": [ { "name": "id", - "description": "The id of the integration to mutate", + "description": "The ID of the integration to mutate", "type": { "kind": "NON_NULL", "name": null, @@ -27366,7 +29435,7 @@ "inputFields": [ { "name": "id", - "description": "The id of the integration to mutate", + "description": "The ID of the integration to mutate", "type": { "kind": "NON_NULL", "name": null, @@ -27502,6 +29571,199 @@ }, { "kind": "OBJECT", + "name": "IncidentManagementOncallSchedule", + "description": "Describes an incident management on-call schedule", + "fields": [ + { + "name": "description", + "description": "Description of the on-call schedule", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iid", + "description": "Internal ID of the on-call schedule", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the on-call schedule", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timezone", + "description": "Time zone of the on-call schedule", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IncidentManagementOncallScheduleConnection", + "description": "The connection type for IncidentManagementOncallSchedule.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [ + + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "IncidentManagementOncallScheduleEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [ + + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "IncidentManagementOncallSchedule", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IncidentManagementOncallScheduleEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [ + + ], + "type": { + "kind": "OBJECT", + "name": "IncidentManagementOncallSchedule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", "name": "InstanceSecurityDashboard", "description": null, "fields": [ @@ -28105,7 +30367,7 @@ }, { "name": "blocked", - "description": "Indicates the issue is blocked", + "description": "Indicates the issue is blocked.", "args": [ ], @@ -28123,7 +30385,7 @@ }, { "name": "blockedByCount", - "description": "Count of issues blocking this issue", + "description": "Count of issues blocking this issue.", "args": [ ], @@ -28421,7 +30683,7 @@ }, { "name": "epic", - "description": "Epic to which this issue belongs", + "description": "Epic to which this issue belongs.", "args": [ ], @@ -28435,7 +30697,7 @@ }, { "name": "healthStatus", - "description": "Current health status. Returns null if `save_issuable_health_status` feature flag is disabled.", + "description": "Current health status.", "args": [ ], @@ -28513,7 +30775,7 @@ }, { "name": "iteration", - "description": "Iteration of the issue", + "description": "Iteration of the issue.", "args": [ ], @@ -28579,6 +30841,28 @@ "deprecationReason": null }, { + "name": "metricImages", + "description": "Metric images associated to the issue.", + "args": [ + + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetricImage", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "milestone", "description": "Milestone of the issue", "args": [ @@ -28819,7 +31103,7 @@ }, { "name": "statusPagePublishedIncident", - "description": "Indicates whether an issue is published to the status page", + "description": "Indicates whether an issue is published to the status page.", "args": [ ], @@ -29091,7 +31375,7 @@ }, { "name": "weight", - "description": "Weight of the issue", + "description": "Weight of the issue.", "args": [ ], @@ -30937,25 +33221,25 @@ "name": "updated_desc", "description": "Updated at descending order", "isDeprecated": true, - "deprecationReason": "Use UPDATED_DESC. Deprecated in 13.5" + "deprecationReason": "Use UPDATED_DESC. Deprecated in 13.5." }, { "name": "updated_asc", "description": "Updated at ascending order", "isDeprecated": true, - "deprecationReason": "Use UPDATED_ASC. Deprecated in 13.5" + "deprecationReason": "Use UPDATED_ASC. Deprecated in 13.5." }, { "name": "created_desc", "description": "Created at descending order", "isDeprecated": true, - "deprecationReason": "Use CREATED_DESC. Deprecated in 13.5" + "deprecationReason": "Use CREATED_DESC. Deprecated in 13.5." }, { "name": "created_asc", "description": "Created at ascending order", "isDeprecated": true, - "deprecationReason": "Use CREATED_ASC. Deprecated in 13.5" + "deprecationReason": "Use CREATED_ASC. Deprecated in 13.5." }, { "name": "UPDATED_DESC", @@ -31669,6 +33953,12 @@ "description": "An iteration is assigned", "isDeprecated": false, "deprecationReason": null + }, + { + "name": "CURRENT", + "description": "Current iteration", + "isDeprecated": false, + "deprecationReason": null } ], "possibleTypes": null @@ -32582,7 +34872,7 @@ "inputFields": [ { "name": "jiraAccountId", - "description": "Jira account id of the user", + "description": "Jira account ID of the user", "type": { "kind": "NON_NULL", "name": null, @@ -32610,6 +34900,179 @@ "possibleTypes": null }, { + "kind": "ENUM", + "name": "JobArtifactFileType", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ARCHIVE", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "METADATA", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TRACE", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "JUNIT", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "METRICS", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "METRICS_REFEREE", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NETWORK_REFEREE", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DOTENV", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COBERTURA", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CLUSTER_APPLICATIONS", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LSIF", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SAST", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SECRET_DETECTION", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEPENDENCY_SCANNING", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTAINER_SCANNING", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DAST", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LICENSE_MANAGEMENT", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LICENSE_SCANNING", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ACCESSIBILITY", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CODEQUALITY", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PERFORMANCE", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BROWSER_PERFORMANCE", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOAD_PERFORMANCE", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TERRAFORM", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REQUIREMENTS", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COVERAGE_FUZZING", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "API_FUZZING", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { "kind": "OBJECT", "name": "Label", "description": null, @@ -33051,7 +35514,7 @@ "inputFields": [ { "name": "id", - "description": "The global id of the snippet to update", + "description": "The global ID of the snippet to update", "type": { "kind": "NON_NULL", "name": null, @@ -33660,6 +36123,28 @@ "deprecationReason": null }, { + "name": "availableAutoMergeStrategies", + "description": "Array of available auto merge strategies", + "args": [ + + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "commitCount", "description": "Number of commits in the merge request", "args": [ @@ -33674,6 +36159,59 @@ "deprecationReason": null }, { + "name": "commitsWithoutMergeCommits", + "description": "Merge request commits excluding merge commits", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CommitConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "conflicts", "description": "Indicates if the merge request has conflicts", "args": [ @@ -33791,6 +36329,20 @@ "deprecationReason": null }, { + "name": "defaultMergeCommitMessageWithDescription", + "description": "Default merge commit message of the merge request with description", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "description", "description": "Description of the merge request (Markdown rendered as HTML for caching)", "args": [ @@ -33999,6 +36551,24 @@ "deprecationReason": null }, { + "name": "hasCi", + "description": "Indicates if the merge request has CI", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "headPipeline", "description": "The pipeline running on the branch HEAD of the merge request", "args": [ @@ -34176,6 +36746,20 @@ "deprecationReason": null }, { + "name": "mergeTrainsCount", + "description": "", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "mergeWhenPipelineSucceeds", "description": "Indicates if the merge has been set to be merged when its pipeline succeeds (MWPS)", "args": [ @@ -34190,6 +36774,24 @@ "deprecationReason": null }, { + "name": "mergeable", + "description": "Indicates if the merge request is mergeable", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "mergeableDiscussionsState", "description": "Indicates if all discussions in the merge request have been resolved, allowing the merge request to be merged", "args": [ @@ -34343,7 +36945,7 @@ }, { "name": "pipelines", - "description": "Pipelines for the merge request", + "description": "Pipelines for the merge request. Note: for performance reasons, no more than the most recent 500 pipelines will be returned.", "args": [ { "name": "status", @@ -34520,6 +37122,20 @@ "deprecationReason": null }, { + "name": "securityAutoFix", + "description": "Indicates if the merge request is created by @GitLab-Security-Bot.", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "shouldBeRebased", "description": "Indicates if the merge request will be rebased", "args": [ @@ -34588,6 +37204,24 @@ "deprecationReason": null }, { + "name": "sourceBranchProtected", + "description": "Indicates if the source branch is protected", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "sourceProject", "description": "Source project of the merge request", "args": [ @@ -34616,6 +37250,24 @@ "deprecationReason": null }, { + "name": "squashOnMerge", + "description": "Indicates if squash on merge is enabled", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "state", "description": "State of the merge request", "args": [ @@ -35016,6 +37668,20 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "totalTimeToMerge", + "description": "Total sum of time to merge, in seconds, for the collection of merge requests", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, @@ -35694,7 +38360,7 @@ }, { "name": "iid", - "description": "The iid of the merge request to mutate", + "description": "The IID of the merge request to mutate", "type": { "kind": "NON_NULL", "name": null, @@ -35842,7 +38508,7 @@ }, { "name": "iid", - "description": "The iid of the merge request to mutate", + "description": "The IID of the merge request to mutate", "type": { "kind": "NON_NULL", "name": null, @@ -35990,7 +38656,7 @@ }, { "name": "iid", - "description": "The iid of the merge request to mutate", + "description": "The IID of the merge request to mutate", "type": { "kind": "NON_NULL", "name": null, @@ -36120,7 +38786,7 @@ }, { "name": "iid", - "description": "The iid of the merge request to mutate", + "description": "The IID of the merge request to mutate", "type": { "kind": "NON_NULL", "name": null, @@ -36246,7 +38912,7 @@ }, { "name": "iid", - "description": "The iid of the merge request to mutate", + "description": "The IID of the merge request to mutate", "type": { "kind": "NON_NULL", "name": null, @@ -36376,7 +39042,7 @@ }, { "name": "iid", - "description": "The iid of the merge request to mutate", + "description": "The IID of the merge request to mutate", "type": { "kind": "NON_NULL", "name": null, @@ -36496,25 +39162,25 @@ "name": "updated_desc", "description": "Updated at descending order", "isDeprecated": true, - "deprecationReason": "Use UPDATED_DESC. Deprecated in 13.5" + "deprecationReason": "Use UPDATED_DESC. Deprecated in 13.5." }, { "name": "updated_asc", "description": "Updated at ascending order", "isDeprecated": true, - "deprecationReason": "Use UPDATED_ASC. Deprecated in 13.5" + "deprecationReason": "Use UPDATED_ASC. Deprecated in 13.5." }, { "name": "created_desc", "description": "Created at descending order", "isDeprecated": true, - "deprecationReason": "Use CREATED_DESC. Deprecated in 13.5" + "deprecationReason": "Use CREATED_DESC. Deprecated in 13.5." }, { "name": "created_asc", "description": "Created at ascending order", "isDeprecated": true, - "deprecationReason": "Use CREATED_ASC. Deprecated in 13.5" + "deprecationReason": "Use CREATED_ASC. Deprecated in 13.5." }, { "name": "UPDATED_DESC", @@ -36654,7 +39320,7 @@ }, { "name": "iid", - "description": "The iid of the merge request to mutate", + "description": "The IID of the merge request to mutate", "type": { "kind": "NON_NULL", "name": null, @@ -36829,6 +39495,101 @@ }, { "kind": "OBJECT", + "name": "MetricImage", + "description": "Represents a metric image upload", + "fields": [ + { + "name": "fileName", + "description": "File name of the metric image", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filePath", + "description": "File path of the metric image", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the metric upload", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iid", + "description": "Internal ID of the metric upload", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "URL of the metric source", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", "name": "MetricsDashboard", "description": null, "fields": [ @@ -37650,7 +40411,7 @@ "ofType": null }, "isDeprecated": true, - "deprecationReason": "Use awardEmojiAdd. Deprecated in 13.2" + "deprecationReason": "Use awardEmojiAdd. Deprecated in 13.2." }, { "name": "addProjectToSecurityDashboard", @@ -38166,8 +40927,35 @@ "deprecationReason": null }, { + "name": "createComplianceFramework", + "description": null, + "args": [ + { + "name": "input", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateComplianceFrameworkInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CreateComplianceFrameworkPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "createCustomEmoji", - "description": ". Available only when feature flag `custom_emoji` is enabled", + "description": " Available only when feature flag `custom_emoji` is enabled.", "args": [ { "name": "input", @@ -38193,6 +40981,33 @@ "deprecationReason": null }, { + "name": "createDevopsAdoptionSegment", + "description": null, + "args": [ + { + "name": "input", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateDevopsAdoptionSegmentInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CreateDevopsAdoptionSegmentPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "createDiffNote", "description": null, "args": [ @@ -38706,6 +41521,33 @@ "deprecationReason": null }, { + "name": "deleteDevopsAdoptionSegment", + "description": null, + "args": [ + { + "name": "input", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeleteDevopsAdoptionSegmentInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DeleteDevopsAdoptionSegmentPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "designManagementDelete", "description": null, "args": [ @@ -38841,6 +41683,33 @@ "deprecationReason": null }, { + "name": "destroyComplianceFramework", + "description": null, + "args": [ + { + "name": "input", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DestroyComplianceFrameworkInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DestroyComplianceFrameworkPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "destroyContainerRepository", "description": null, "args": [ @@ -38868,6 +41737,33 @@ "deprecationReason": null }, { + "name": "destroyContainerRepositoryTags", + "description": null, + "args": [ + { + "name": "input", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DestroyContainerRepositoryTagsInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DestroyContainerRepositoryTagsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "destroyNote", "description": null, "args": [ @@ -38973,7 +41869,7 @@ "ofType": null }, "isDeprecated": true, - "deprecationReason": "Use vulnerabilityDismiss. Deprecated in 13.5" + "deprecationReason": "Use vulnerabilityDismiss. Deprecated in 13.5." }, { "name": "environmentsCanaryIngressUpdate", @@ -39840,6 +42736,87 @@ "deprecationReason": null }, { + "name": "oncallScheduleCreate", + "description": null, + "args": [ + { + "name": "input", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OncallScheduleCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OncallScheduleCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "oncallScheduleDestroy", + "description": null, + "args": [ + { + "name": "input", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OncallScheduleDestroyInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OncallScheduleDestroyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "oncallScheduleUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OncallScheduleUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OncallScheduleUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "pipelineCancel", "description": null, "args": [ @@ -40056,6 +43033,60 @@ "deprecationReason": null }, { + "name": "releaseDelete", + "description": null, + "args": [ + { + "name": "input", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ReleaseDeleteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ReleaseDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "releaseUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ReleaseUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ReleaseUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "removeAwardEmoji", "description": null, "args": [ @@ -40080,7 +43111,7 @@ "ofType": null }, "isDeprecated": true, - "deprecationReason": "Use awardEmojiRemove. Deprecated in 13.2" + "deprecationReason": "Use awardEmojiRemove. Deprecated in 13.2." }, { "name": "removeProjectFromSecurityDashboard", @@ -40161,7 +43192,7 @@ "ofType": null }, "isDeprecated": true, - "deprecationReason": "Use vulnerabilityRevertToDetected. Deprecated in 13.5" + "deprecationReason": "Use vulnerabilityRevertToDetected. Deprecated in 13.5." }, { "name": "runDastScan", @@ -40188,7 +43219,7 @@ "ofType": null }, "isDeprecated": true, - "deprecationReason": "Use DastOnDemandScanCreate. Deprecated in 13.4" + "deprecationReason": "Use DastOnDemandScanCreate. Deprecated in 13.4." }, { "name": "terraformStateDelete", @@ -40431,7 +43462,7 @@ "ofType": null }, "isDeprecated": true, - "deprecationReason": "Use awardEmojiToggle. Deprecated in 13.2" + "deprecationReason": "Use awardEmojiToggle. Deprecated in 13.2." }, { "name": "updateAlertStatus", @@ -40542,6 +43573,33 @@ "deprecationReason": null }, { + "name": "updateComplianceFramework", + "description": null, + "args": [ + { + "name": "input", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateComplianceFrameworkInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateComplianceFrameworkPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "updateContainerExpirationPolicy", "description": null, "args": [ @@ -40569,6 +43627,33 @@ "deprecationReason": null }, { + "name": "updateDevopsAdoptionSegment", + "description": null, + "args": [ + { + "name": "input", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateDevopsAdoptionSegmentInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateDevopsAdoptionSegmentPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "updateEpic", "description": null, "args": [ @@ -40812,6 +43897,60 @@ "deprecationReason": null }, { + "name": "vulnerabilityExternalIssueLinkCreate", + "description": null, + "args": [ + { + "name": "input", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "VulnerabilityExternalIssueLinkCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityExternalIssueLinkCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilityExternalIssueLinkDestroy", + "description": null, + "args": [ + { + "name": "input", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "VulnerabilityExternalIssueLinkDestroyInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityExternalIssueLinkDestroyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "vulnerabilityResolve", "description": null, "args": [ @@ -40936,6 +44075,59 @@ "deprecationReason": null }, { + "name": "complianceFrameworks", + "description": "Compliance frameworks available to projects in this namespace Available only when feature flag `ff_custom_compliance_frameworks` is enabled.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComplianceFrameworkConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "containsLockedProjects", "description": "Includes at least one project where the repository size exceeds the limit", "args": [ @@ -41454,7 +44646,7 @@ "inputFields": [ { "name": "id", - "description": "The global id of the namespace to mutate", + "description": "The global ID of the namespace to mutate", "type": { "kind": "NON_NULL", "name": null, @@ -42396,6 +45588,408 @@ "possibleTypes": null }, { + "kind": "INPUT_OBJECT", + "name": "OncallScheduleCreateInput", + "description": "Autogenerated input type of OncallScheduleCreate", + "fields": null, + "inputFields": [ + { + "name": "projectPath", + "description": "The project to create the on-call schedule in", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "The name of the on-call schedule", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "description", + "description": "The description of the on-call schedule", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "timezone", + "description": "The timezone of the on-call schedule", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OncallScheduleCreatePayload", + "description": "Autogenerated return type of OncallScheduleCreate", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during execution of the mutation.", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "oncallSchedule", + "description": "The on-call schedule", + "args": [ + + ], + "type": { + "kind": "OBJECT", + "name": "IncidentManagementOncallSchedule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OncallScheduleDestroyInput", + "description": "Autogenerated input type of OncallScheduleDestroy", + "fields": null, + "inputFields": [ + { + "name": "projectPath", + "description": "The project to remove the on-call schedule from", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "The on-call schedule internal ID to remove", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OncallScheduleDestroyPayload", + "description": "Autogenerated return type of OncallScheduleDestroy", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during execution of the mutation.", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "oncallSchedule", + "description": "The on-call schedule", + "args": [ + + ], + "type": { + "kind": "OBJECT", + "name": "IncidentManagementOncallSchedule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OncallScheduleUpdateInput", + "description": "Autogenerated input type of OncallScheduleUpdate", + "fields": null, + "inputFields": [ + { + "name": "projectPath", + "description": "The project to update the on-call schedule in", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "The on-call schedule internal ID to update", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "The name of the on-call schedule", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "description", + "description": "The description of the on-call schedule", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "timezone", + "description": "The timezone of the on-call schedule", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OncallScheduleUpdatePayload", + "description": "Autogenerated return type of OncallScheduleUpdate", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during execution of the mutation.", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "oncallSchedule", + "description": "The on-call schedule", + "args": [ + + ], + "type": { + "kind": "OBJECT", + "name": "IncidentManagementOncallSchedule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { "kind": "OBJECT", "name": "Package", "description": "Represents a package", @@ -43017,6 +46611,24 @@ "description": null, "fields": [ { + "name": "active", + "description": "Indicates if the pipeline is active", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "beforeSha", "description": "Base SHA of the source branch", "args": [ @@ -43564,6 +47176,261 @@ "possibleTypes": null }, { + "kind": "OBJECT", + "name": "PipelineAnalytics", + "description": null, + "fields": [ + { + "name": "monthPipelinesLabels", + "description": "Labels for the monthly pipeline count", + "args": [ + + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "monthPipelinesSuccessful", + "description": "Total monthly successful pipeline count", + "args": [ + + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "monthPipelinesTotals", + "description": "Total monthly pipeline count", + "args": [ + + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineTimesLabels", + "description": "Pipeline times labels", + "args": [ + + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineTimesValues", + "description": "Pipeline times", + "args": [ + + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "weekPipelinesLabels", + "description": "Labels for the weekly pipeline count", + "args": [ + + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "weekPipelinesSuccessful", + "description": "Total weekly successful pipeline count", + "args": [ + + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "weekPipelinesTotals", + "description": "Total weekly pipeline count", + "args": [ + + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "yearPipelinesLabels", + "description": "Labels for the yearly pipeline count", + "args": [ + + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "yearPipelinesSuccessful", + "description": "Total yearly successful pipeline count", + "args": [ + + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "yearPipelinesTotals", + "description": "Total yearly pipeline count", + "args": [ + + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { "kind": "INPUT_OBJECT", "name": "PipelineCancelInput", "description": "Autogenerated input type of PipelineCancel", @@ -43571,7 +47438,7 @@ "inputFields": [ { "name": "id", - "description": "The id of the pipeline to mutate", + "description": "The ID of the pipeline to mutate", "type": { "kind": "NON_NULL", "name": null, @@ -43803,7 +47670,7 @@ "inputFields": [ { "name": "id", - "description": "The id of the pipeline to mutate", + "description": "The ID of the pipeline to mutate", "type": { "kind": "NON_NULL", "name": null, @@ -44003,7 +47870,7 @@ "inputFields": [ { "name": "id", - "description": "The id of the pipeline to mutate", + "description": "The ID of the pipeline to mutate", "type": { "kind": "NON_NULL", "name": null, @@ -44236,6 +48103,20 @@ "defaultValue": null }, { + "name": "domain", + "description": "Filter query for given domain", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AlertManagementDomainFilter", + "ofType": null + } + }, + "defaultValue": "operations" + }, + { "name": "search", "description": "Search query for title, description, service, or monitoring_tool.", "type": { @@ -44340,6 +48221,20 @@ "defaultValue": null }, { + "name": "domain", + "description": "Filter query for given domain", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AlertManagementDomainFilter", + "ofType": null + } + }, + "defaultValue": "operations" + }, + { "name": "search", "description": "Search query for title, description, service, or monitoring_tool.", "type": { @@ -44608,6 +48503,20 @@ "deprecationReason": null }, { + "name": "ciCdSettings", + "description": "CI/CD settings for the project", + "args": [ + + ], + "type": { + "kind": "OBJECT", + "name": "ProjectCiCdSetting", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "clusterAgent", "description": "Find a single cluster agent by name", "args": [ @@ -44846,6 +48755,24 @@ "deprecationReason": null }, { + "name": "containerRepositoriesCount", + "description": "Number of container repositories in the project", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "createdAt", "description": "Timestamp of the project creation", "args": [ @@ -44994,11 +48921,29 @@ }, { "name": "dastSiteValidation", - "description": "DAST Site Validation associated with the project", + "description": "DAST Site Validation associated with the project. Will always return `null` if `security_on_demand_scans_site_validation` is disabled", "args": [ { + "name": "normalizedTargetUrls", + "description": "Normalized URL of the target to be scanned", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { "name": "targetUrl", - "description": "target URL of the DAST Site Validation", + "description": "URL of the target to be scanned", "type": { "kind": "NON_NULL", "name": null, @@ -45020,6 +48965,77 @@ "deprecationReason": null }, { + "name": "dastSiteValidations", + "description": "DAST Site Validations associated with the project. Will always return no nodes if `security_on_demand_scans_site_validation` is disabled", + "args": [ + { + "name": "normalizedTargetUrls", + "description": "Normalized URL of the target to be scanned", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DastSiteValidationConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "description", "description": "Short description of the project", "args": [ @@ -45300,6 +49316,59 @@ "deprecationReason": null }, { + "name": "incidentManagementOncallSchedules", + "description": "Incident Management On-call schedules of the project", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IncidentManagementOncallScheduleConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "issue", "description": "A single issue of the project", "args": [ @@ -46062,7 +50131,7 @@ "args": [ { "name": "startDate", - "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present). Deprecated in 13.5: Use timeframe.start", + "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present) Deprecated in 13.5: Use timeframe.start.", "type": { "kind": "SCALAR", "name": "Time", @@ -46072,7 +50141,7 @@ }, { "name": "endDate", - "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present). Deprecated in 13.5: Use timeframe.end", + "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present) Deprecated in 13.5: Use timeframe.end.", "type": { "kind": "SCALAR", "name": "Time", @@ -46092,7 +50161,7 @@ }, { "name": "state", - "description": "Filter iterations by state", + "description": "Filter iterations by state.", "type": { "kind": "ENUM", "name": "IterationState", @@ -46102,7 +50171,7 @@ }, { "name": "title", - "description": "Fuzzy search by title", + "description": "Fuzzy search by title.", "type": { "kind": "SCALAR", "name": "String", @@ -46112,7 +50181,7 @@ }, { "name": "id", - "description": "The ID of the Iteration to look up", + "description": "Global ID of the Iteration to look up.", "type": { "kind": "SCALAR", "name": "ID", @@ -46122,7 +50191,7 @@ }, { "name": "iid", - "description": "The internal ID of the Iteration to look up", + "description": "Internal ID of the Iteration to look up.", "type": { "kind": "SCALAR", "name": "ID", @@ -46132,7 +50201,7 @@ }, { "name": "includeAncestors", - "description": "Whether to include ancestor iterations. Defaults to true", + "description": "Whether to include ancestor iterations. Defaults to true.", "type": { "kind": "SCALAR", "name": "Boolean", @@ -46562,6 +50631,16 @@ "defaultValue": null }, { + "name": "reviewerUsername", + "description": "Username of the reviewer", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { "name": "after", "description": "Returns the elements in the list that come after the specified cursor.", "type": { @@ -46644,7 +50723,7 @@ "args": [ { "name": "startDate", - "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present). Deprecated in 13.5: Use timeframe.start", + "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present) Deprecated in 13.5: Use timeframe.start.", "type": { "kind": "SCALAR", "name": "Time", @@ -46654,7 +50733,7 @@ }, { "name": "endDate", - "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present). Deprecated in 13.5: Use timeframe.end", + "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present) Deprecated in 13.5: Use timeframe.end.", "type": { "kind": "SCALAR", "name": "Time", @@ -46980,6 +51059,20 @@ "deprecationReason": null }, { + "name": "pipelineAnalytics", + "description": "Pipeline analytics", + "args": [ + + ], + "type": { + "kind": "OBJECT", + "name": "PipelineAnalytics", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "pipelines", "description": "Build pipelines of the project", "args": [ @@ -47091,6 +51184,24 @@ "defaultValue": null }, { + "name": "relations", + "description": "Filter members by the given member relations", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ProjectMemberRelation", + "ofType": null + } + } + }, + "defaultValue": "[DIRECT, INHERITED]" + }, + { "name": "after", "description": "Returns the elements in the list that come after the specified cursor.", "type": { @@ -47825,6 +51936,24 @@ "deprecationReason": null }, { + "name": "squashReadOnly", + "description": "Indicates if squash readonly is enabled", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "sshUrlToRepo", "description": "URL to connect to the project via SSH", "args": [ @@ -47952,6 +52081,20 @@ "deprecationReason": null }, { + "name": "totalPipelineDuration", + "description": "Total pipeline duration for all of the pipelines in a project", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "userPermissions", "description": "Permissions for the current user on the resource", "args": [ @@ -48431,6 +52574,61 @@ }, { "kind": "OBJECT", + "name": "ProjectCiCdSetting", + "description": null, + "fields": [ + { + "name": "mergePipelinesEnabled", + "description": "Whether merge pipelines are enabled.", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeTrainsEnabled", + "description": "Whether merge trains are enabled.", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project the CI/CD settings belong to.", + "args": [ + + ], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", "name": "ProjectConnection", "description": "The connection type for Project.", "fields": [ @@ -48819,6 +53017,41 @@ "possibleTypes": null }, { + "kind": "ENUM", + "name": "ProjectMemberRelation", + "description": "Project member relation", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DIRECT", + "description": "Direct members", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INHERITED", + "description": "Inherited members", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DESCENDANTS", + "description": "Descendants members", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVITED_GROUPS", + "description": "Invited Groups members", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { "kind": "OBJECT", "name": "ProjectPermissions", "description": null, @@ -49937,7 +54170,7 @@ "inputFields": [ { "name": "id", - "description": "The id of the integration to mutate", + "description": "The ID of the integration to mutate", "type": { "kind": "NON_NULL", "name": null, @@ -50039,7 +54272,7 @@ "inputFields": [ { "name": "id", - "description": "The id of the integration to mutate", + "description": "The ID of the integration to mutate", "type": { "kind": "NON_NULL", "name": null, @@ -50309,6 +54542,33 @@ "description": null, "fields": [ { + "name": "ciConfig", + "description": "Get linted and processed contents of a CI config. Should not be requested more than once per request.", + "args": [ + { + "name": "content", + "description": "Contents of .gitlab-ci.yml", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiConfig", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "containerRepository", "description": "Find a container repository", "args": [ @@ -51495,7 +55755,7 @@ }, { "name": "vulnerabilitiesCountByDayAndSeverity", - "description": "Number of vulnerabilities per severity level, per day, for the projects on the current user's instance security dashboard. Deprecated in 13.3: Use `vulnerabilitiesCountByDay`", + "description": "Number of vulnerabilities per severity level, per day, for the projects on the current user's instance security dashboard Deprecated in 13.3: Use `vulnerabilitiesCountByDay`.", "args": [ { "name": "startDate", @@ -51572,7 +55832,7 @@ "ofType": null }, "isDeprecated": true, - "deprecationReason": "Use `vulnerabilitiesCountByDay`. Deprecated in 13.3" + "deprecationReason": "Use `vulnerabilitiesCountByDay`. Deprecated in 13.3." }, { "name": "vulnerability", @@ -52670,6 +56930,122 @@ "possibleTypes": null }, { + "kind": "INPUT_OBJECT", + "name": "ReleaseDeleteInput", + "description": "Autogenerated input type of ReleaseDelete", + "fields": null, + "inputFields": [ + { + "name": "projectPath", + "description": "Full path of the project the release is associated with", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "tagName", + "description": "Name of the tag associated with the release to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReleaseDeletePayload", + "description": "Autogenerated return type of ReleaseDelete", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during execution of the mutation.", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "release", + "description": "The deleted release.", + "args": [ + + ], + "type": { + "kind": "OBJECT", + "name": "Release", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { "kind": "OBJECT", "name": "ReleaseEdge", "description": "An edge in a connection.", @@ -53200,13 +57576,177 @@ }, { "kind": "INPUT_OBJECT", + "name": "ReleaseUpdateInput", + "description": "Autogenerated input type of ReleaseUpdate", + "fields": null, + "inputFields": [ + { + "name": "projectPath", + "description": "Full path of the project the release is associated with", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "tagName", + "description": "Name of the tag associated with the release", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the release", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description (release notes) of the release", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "releasedAt", + "description": "The release date", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestones", + "description": "The title of each milestone the release is associated with. GitLab Premium customers can specify group milestones.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReleaseUpdatePayload", + "description": "Autogenerated return type of ReleaseUpdate", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during execution of the mutation.", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "release", + "description": "The release after mutation.", + "args": [ + + ], + "type": { + "kind": "OBJECT", + "name": "Release", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", "name": "RemoveAwardEmojiInput", "description": "Autogenerated input type of RemoveAwardEmoji", "fields": null, "inputFields": [ { "name": "awardableId", - "description": "The global id of the awardable resource", + "description": "The global ID of the awardable resource", "type": { "kind": "NON_NULL", "name": null, @@ -53410,7 +57950,7 @@ "inputFields": [ { "name": "id", - "description": "The global id of the DiffNote to update", + "description": "The global ID of the DiffNote to update", "type": { "kind": "NON_NULL", "name": null, @@ -57602,8 +62142,8 @@ "description": "Collection of Sentry Errors", "args": [ { - "name": "after", - "description": "Returns the elements in the list that come after the specified cursor.", + "name": "searchTerm", + "description": "Search query for the Sentry error details", "type": { "kind": "SCALAR", "name": "String", @@ -57612,8 +62152,8 @@ "defaultValue": null }, { - "name": "before", - "description": "Returns the elements in the list that come before the specified cursor.", + "name": "sort", + "description": "Attribute to sort on. Options are frequency, first_seen, last_seen. last_seen is default", "type": { "kind": "SCALAR", "name": "String", @@ -57622,41 +62162,41 @@ "defaultValue": null }, { - "name": "first", - "description": "Returns the first _n_ elements from the list.", + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", "type": { "kind": "SCALAR", - "name": "Int", + "name": "String", "ofType": null }, "defaultValue": null }, { - "name": "last", - "description": "Returns the last _n_ elements from the list.", + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", "type": { "kind": "SCALAR", - "name": "Int", + "name": "String", "ofType": null }, "defaultValue": null }, { - "name": "searchTerm", - "description": "Search query for the Sentry error details", + "name": "first", + "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", - "name": "String", + "name": "Int", "ofType": null }, "defaultValue": null }, { - "name": "sort", - "description": "Attribute to sort on. Options are frequency, first_seen, last_seen. last_seen is default", + "name": "last", + "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", - "name": "String", + "name": "Int", "ofType": null }, "defaultValue": null @@ -58369,6 +62909,12 @@ "deprecationReason": null }, { + "name": "DATADOG_SERVICE", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "DISCORD_SERVICE", "description": null, "isDeprecated": false, @@ -58554,7 +63100,7 @@ }, { "name": "blob", - "description": "Snippet blob. Deprecated in 13.3: Use `blobs`", + "description": "Snippet blob Deprecated in 13.3: Use `blobs`.", "args": [ ], @@ -58568,7 +63114,7 @@ } }, "isDeprecated": true, - "deprecationReason": "Use `blobs`. Deprecated in 13.3" + "deprecationReason": "Use `blobs`. Deprecated in 13.3." }, { "name": "blobs", @@ -60037,25 +64583,25 @@ "name": "updated_desc", "description": "Updated at descending order", "isDeprecated": true, - "deprecationReason": "Use UPDATED_DESC. Deprecated in 13.5" + "deprecationReason": "Use UPDATED_DESC. Deprecated in 13.5." }, { "name": "updated_asc", "description": "Updated at ascending order", "isDeprecated": true, - "deprecationReason": "Use UPDATED_ASC. Deprecated in 13.5" + "deprecationReason": "Use UPDATED_ASC. Deprecated in 13.5." }, { "name": "created_desc", "description": "Created at descending order", "isDeprecated": true, - "deprecationReason": "Use CREATED_DESC. Deprecated in 13.5" + "deprecationReason": "Use CREATED_DESC. Deprecated in 13.5." }, { "name": "created_asc", "description": "Created at ascending order", "isDeprecated": true, - "deprecationReason": "Use CREATED_ASC. Deprecated in 13.5" + "deprecationReason": "Use CREATED_ASC. Deprecated in 13.5." }, { "name": "UPDATED_DESC", @@ -61060,6 +65606,20 @@ "deprecationReason": null }, { + "name": "downloadPath", + "description": "URL for downloading the version's JSON file", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "id", "description": "ID of the Terraform state version", "args": [ @@ -61092,6 +65652,20 @@ "deprecationReason": null }, { + "name": "serial", + "description": "Serial number of the version", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "updatedAt", "description": "Timestamp the version was updated", "args": [ @@ -62471,7 +67045,7 @@ "inputFields": [ { "name": "id", - "description": "The global id of the todo to mark as done", + "description": "The global ID of the todo to mark as done", "type": { "kind": "NON_NULL", "name": null, @@ -62577,7 +67151,7 @@ "inputFields": [ { "name": "id", - "description": "The global id of the todo to restore", + "description": "The global ID of the todo to restore", "type": { "kind": "NON_NULL", "name": null, @@ -62612,7 +67186,7 @@ "inputFields": [ { "name": "ids", - "description": "The global ids of the todos to restore (a maximum of 50 is supported at once)", + "description": "The global IDs of the todos to restore (a maximum of 50 is supported at once)", "type": { "kind": "NON_NULL", "name": null, @@ -62720,7 +67294,7 @@ }, { "name": "updatedIds", - "description": "The ids of the updated todo items. Deprecated in 13.2: Use todos", + "description": "The IDs of the updated todo items Deprecated in 13.2: Use todos.", "args": [ ], @@ -62742,7 +67316,7 @@ } }, "isDeprecated": true, - "deprecationReason": "Use todos. Deprecated in 13.2" + "deprecationReason": "Use todos. Deprecated in 13.2." } ], "inputFields": null, @@ -62997,7 +67571,7 @@ }, { "name": "updatedIds", - "description": "Ids of the updated todos. Deprecated in 13.2: Use todos", + "description": "Ids of the updated todos Deprecated in 13.2: Use todos.", "args": [ ], @@ -63019,7 +67593,7 @@ } }, "isDeprecated": true, - "deprecationReason": "Use todos. Deprecated in 13.2" + "deprecationReason": "Use todos. Deprecated in 13.2." } ], "inputFields": null, @@ -63037,7 +67611,7 @@ "inputFields": [ { "name": "awardableId", - "description": "The global id of the awardable resource", + "description": "The global ID of the awardable resource", "type": { "kind": "NON_NULL", "name": null, @@ -63681,7 +68255,7 @@ }, { "name": "iid", - "description": "The iid of the alert to mutate", + "description": "The IID of the alert to mutate", "type": { "kind": "NON_NULL", "name": null, @@ -63954,22 +68528,8 @@ "fields": null, "inputFields": [ { - "name": "id", - "description": "The board global id.", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "BoardID", - "ofType": null - } - }, - "defaultValue": null - }, - { "name": "name", - "description": "Name of the board", + "description": "The board name.", "type": { "kind": "SCALAR", "name": "String", @@ -63979,7 +68539,7 @@ }, { "name": "hideBacklogList", - "description": "Whether or not backlog list is hidden.", + "description": "Whether or not backlog list is hidden", "type": { "kind": "SCALAR", "name": "Boolean", @@ -63989,7 +68549,7 @@ }, { "name": "hideClosedList", - "description": "Whether or not closed list is hidden.", + "description": "Whether or not closed list is hidden", "type": { "kind": "SCALAR", "name": "Boolean", @@ -63998,67 +68558,15 @@ "defaultValue": null }, { - "name": "assigneeId", - "description": "The id of user to be assigned to the board.", - "type": { - "kind": "SCALAR", - "name": "UserID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "milestoneId", - "description": "The id of milestone to be assigned to the board.", - "type": { - "kind": "SCALAR", - "name": "MilestoneID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "weight", - "description": "The weight value to be assigned to the board.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "labels", - "description": "Labels of the issue", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "labelIds", - "description": "The IDs of labels to be added to the board.", + "name": "id", + "description": "The board global ID.", "type": { - "kind": "LIST", + "kind": "NON_NULL", "name": null, "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "LabelID", - "ofType": null - } + "kind": "SCALAR", + "name": "BoardID", + "ofType": null } }, "defaultValue": null @@ -64269,6 +68777,138 @@ }, { "kind": "INPUT_OBJECT", + "name": "UpdateComplianceFrameworkInput", + "description": "Autogenerated input type of UpdateComplianceFramework", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "The global ID of the compliance framework to update", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ComplianceManagementFrameworkID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "New name for the compliance framework", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "description", + "description": "New description for the compliance framework", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "color", + "description": "New color representation of the compliance framework in hex format. e.g. #FCA121", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UpdateComplianceFrameworkPayload", + "description": "Autogenerated return type of UpdateComplianceFramework", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "complianceFramework", + "description": "The compliance framework after mutation", + "args": [ + + ], + "type": { + "kind": "OBJECT", + "name": "ComplianceFramework", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during execution of the mutation.", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", "name": "UpdateContainerExpirationPolicyInput", "description": "Autogenerated input type of UpdateContainerExpirationPolicy", "fields": null, @@ -64431,6 +69071,140 @@ }, { "kind": "INPUT_OBJECT", + "name": "UpdateDevopsAdoptionSegmentInput", + "description": "Autogenerated input type of UpdateDevopsAdoptionSegment", + "fields": null, + "inputFields": [ + { + "name": "name", + "description": "Name of the segment", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "groupIds", + "description": "The array of group IDs to set for the segment", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the segment", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "AnalyticsDevopsAdoptionSegmentID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UpdateDevopsAdoptionSegmentPayload", + "description": "Autogenerated return type of UpdateDevopsAdoptionSegment", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during execution of the mutation.", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "segment", + "description": "The segment after mutation", + "args": [ + + ], + "type": { + "kind": "OBJECT", + "name": "DevopsAdoptionSegment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", "name": "UpdateDiffImagePositionInput", "description": null, "fields": null, @@ -64488,7 +69262,7 @@ "inputFields": [ { "name": "iid", - "description": "The iid of the epic to mutate", + "description": "The IID of the epic to mutate", "type": { "kind": "NON_NULL", "name": null, @@ -64720,7 +69494,7 @@ "inputFields": [ { "name": "id", - "description": "The global id of the note to update", + "description": "The global ID of the note to update", "type": { "kind": "NON_NULL", "name": null, @@ -65094,7 +69868,7 @@ "inputFields": [ { "name": "groupPath", - "description": "The group of the iteration", + "description": "Group of the iteration.", "type": { "kind": "NON_NULL", "name": null, @@ -65108,7 +69882,7 @@ }, { "name": "id", - "description": "The id of the iteration", + "description": "Global ID of the iteration.", "type": { "kind": "NON_NULL", "name": null, @@ -65122,7 +69896,7 @@ }, { "name": "title", - "description": "The title of the iteration", + "description": "Title of the iteration.", "type": { "kind": "SCALAR", "name": "String", @@ -65132,7 +69906,7 @@ }, { "name": "description", - "description": "The description of the iteration", + "description": "Description of the iteration.", "type": { "kind": "SCALAR", "name": "String", @@ -65142,7 +69916,7 @@ }, { "name": "startDate", - "description": "The start date of the iteration", + "description": "Start date of the iteration.", "type": { "kind": "SCALAR", "name": "String", @@ -65152,7 +69926,7 @@ }, { "name": "dueDate", - "description": "The end date of the iteration", + "description": "End date of the iteration.", "type": { "kind": "SCALAR", "name": "String", @@ -65222,7 +69996,7 @@ }, { "name": "iteration", - "description": "The updated iteration", + "description": "Updated iteration.", "args": [ ], @@ -65250,7 +70024,7 @@ "inputFields": [ { "name": "id", - "description": "The global id of the note to update", + "description": "The global ID of the note to update", "type": { "kind": "NON_NULL", "name": null, @@ -65416,7 +70190,7 @@ }, { "name": "iid", - "description": "The iid of the requirement to update", + "description": "The IID of the requirement to update", "type": { "kind": "NON_NULL", "name": null, @@ -65528,7 +70302,7 @@ "inputFields": [ { "name": "id", - "description": "The global id of the snippet to update", + "description": "The global ID of the snippet to update", "type": { "kind": "NON_NULL", "name": null, @@ -65856,6 +70630,16 @@ "defaultValue": null }, { + "name": "reviewerUsername", + "description": "Username of the reviewer", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { "name": "after", "description": "Returns the elements in the list that come after the specified cursor.", "type": { @@ -66061,6 +70845,16 @@ "defaultValue": null }, { + "name": "reviewerUsername", + "description": "Username of the reviewer", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { "name": "after", "description": "Returns the elements in the list that come after the specified cursor.", "type": { @@ -66125,7 +70919,7 @@ }, { "name": "email", - "description": "User email", + "description": "User email Deprecated in 13.7: Use public_email.", "args": [ ], @@ -66134,12 +70928,12 @@ "name": "String", "ofType": null }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "Use public_email. Deprecated in 13.7." }, { "name": "groupCount", - "description": "Group count for the user. Available only when feature flag `user_group_counts` is enabled", + "description": "Group count for the user Available only when feature flag `user_group_counts` is enabled.", "args": [ ], @@ -66223,6 +71017,20 @@ "deprecationReason": null }, { + "name": "location", + "description": "The location of the user.", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "name", "description": "Human-readable name of the user", "args": [ @@ -66294,6 +71102,235 @@ "deprecationReason": null }, { + "name": "publicEmail", + "description": "User's public email", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reviewRequestedMergeRequests", + "description": "Merge Requests assigned to the user for review", + "args": [ + { + "name": "iids", + "description": "Array of IIDs of merge requests, for example `[1, 2]`", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "sourceBranches", + "description": "Array of source branch names. All resolved merge requests will have one of these branches as their source.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "targetBranches", + "description": "Array of target branch names. All resolved merge requests will have one of these branches as their target.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "A merge request state. If provided, all resolved merge requests will have this state.", + "type": { + "kind": "ENUM", + "name": "MergeRequestState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labels", + "description": "Array of label names. All resolved merge requests will have all of these labels.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after this date", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedBefore", + "description": "Merge requests merged before this date", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Title of the milestone", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort merge requests by this criteria", + "type": { + "kind": "ENUM", + "name": "MergeRequestSort", + "ofType": null + }, + "defaultValue": "created_desc" + }, + { + "name": "projectPath", + "description": "The full-path of the project the authored merge requests should be in. Incompatible with projectId.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "The global ID of the project the authored merge requests should be in. Incompatible with projectPath.", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "authorUsername", + "description": "Username of the author", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsername", + "description": "Username of the assignee", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "snippets", "description": "Snippets authored by the user", "args": [ @@ -67474,11 +72511,35 @@ "possibleTypes": null }, { + "kind": "SCALAR", + "name": "VulnerabilitiesExternalIssueLinkID", + "description": "Identifier of Vulnerabilities::ExternalIssueLink", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { "kind": "OBJECT", "name": "Vulnerability", "description": "Represents a vulnerability", "fields": [ { + "name": "confirmedAt", + "description": "Timestamp of when the vulnerability state was changed to confirmed", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "description", "description": "Description of the vulnerability", "args": [ @@ -67568,6 +72629,91 @@ "deprecationReason": null }, { + "name": "dismissedAt", + "description": "Timestamp of when the vulnerability state was changed to dismissed", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "externalIssueLinks", + "description": "List of external issue links related to the vulnerability", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityExternalIssueLinkConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasSolutions", + "description": "Indicates whether there is a solution available for this vulnerability.", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "id", "description": "GraphQL ID of the vulnerability", "args": [ @@ -67693,6 +72839,20 @@ "deprecationReason": null }, { + "name": "mergeRequest", + "description": "Merge request that fixes the vulnerability.", + "args": [ + + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "notes", "description": "All notes on this noteable", "args": [ @@ -67792,6 +72952,20 @@ "deprecationReason": null }, { + "name": "resolvedAt", + "description": "Timestamp of when the vulnerability state was changed to resolved", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "resolvedOnDefaultBranch", "description": "Indicates whether the vulnerability is fixed on the default branch or not", "args": [ @@ -68254,6 +73428,433 @@ "possibleTypes": null }, { + "kind": "OBJECT", + "name": "VulnerabilityExternalIssueLink", + "description": "Represents an external issue link of a vulnerability", + "fields": [ + { + "name": "externalIssue", + "description": "The external issue attached to the issue link", + "args": [ + + ], + "type": { + "kind": "OBJECT", + "name": "ExternalIssue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "GraphQL ID of the external issue link", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "VulnerabilitiesExternalIssueLinkID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkType", + "description": "Type of the external issue link", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityExternalIssueLinkType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityExternalIssueLinkConnection", + "description": "The connection type for VulnerabilityExternalIssueLink.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [ + + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityExternalIssueLinkEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [ + + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityExternalIssueLink", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "VulnerabilityExternalIssueLinkCreateInput", + "description": "Autogenerated input type of VulnerabilityExternalIssueLinkCreate", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "ID of the vulnerability.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "VulnerabilityID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "linkType", + "description": "Type of the external issue link.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityExternalIssueLinkType", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "externalTracker", + "description": "External tracker type of the external issue link.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityExternalIssueLinkExternalTracker", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityExternalIssueLinkCreatePayload", + "description": "Autogenerated return type of VulnerabilityExternalIssueLinkCreate", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during execution of the mutation.", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "externalIssueLink", + "description": "The created external issue link.", + "args": [ + + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityExternalIssueLink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "VulnerabilityExternalIssueLinkDestroyInput", + "description": "Autogenerated input type of VulnerabilityExternalIssueLinkDestroy", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "The global ID of the vulnerability external issue link.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "VulnerabilitiesExternalIssueLinkID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityExternalIssueLinkDestroyPayload", + "description": "Autogenerated return type of VulnerabilityExternalIssueLinkDestroy", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [ + + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during execution of the mutation.", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityExternalIssueLinkEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [ + + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityExternalIssueLink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "VulnerabilityExternalIssueLinkExternalTracker", + "description": "The external tracker of the external issue link related to a vulnerability", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "JIRA", + "description": "Jira external tracker", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "VulnerabilityExternalIssueLinkType", + "description": "The type of the external issue link related to a vulnerability", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED", + "description": "Created link type", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { "kind": "ENUM", "name": "VulnerabilityGrade", "description": "The grade of the vulnerable project", @@ -69054,6 +74655,24 @@ "deprecationReason": null }, { + "name": "adminVulnerabilityExternalIssueLink", + "description": "Indicates the user can perform `admin_vulnerability_external_issue_link` on this resource", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { "name": "adminVulnerabilityIssueLink", "description": "Indicates the user can perform `admin_vulnerability_issue_link` on this resource", "args": [ diff --git a/doc/api/graphql/reference/index.md b/doc/api/graphql/reference/index.md index c46f12bcdcd..2842f7893bf 100644 --- a/doc/api/graphql/reference/index.md +++ b/doc/api/graphql/reference/index.md @@ -1,3 +1,9 @@ +--- +stage: Plan +group: Project Management +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +--- + <!--- This documentation is auto generated by a script. @@ -13,14 +19,14 @@ The API can be explored interactively using the [GraphiQL IDE](../index.md#graph Each table below documents a GraphQL type. Types match loosely to models, but not all fields and methods on a model are available via GraphQL. -CAUTION: **Caution:** +WARNING: Fields that are deprecated are marked with **{warning-solid}**. Items (fields, enums, etc) that have been removed according to our [deprecation process](../index.md#deprecation-process) can be found in [Removed Items](../removed_items.md). ## Object types -Object types represent the resources that GitLab's GraphQL API can return. +Object types represent the resources that the GitLab GraphQL API can return. They contain _fields_. Each field has its own type, which will either be one of the basic GraphQL [scalar types](https://graphql.org/learn/schema/#scalar-types) (e.g.: `String` or `Boolean`) or other object types. @@ -236,16 +242,17 @@ Represents a project or group board. | Field | Type | Description | | ----- | ---- | ----------- | -| `assignee` | User | The board assignee. | -| `epics` | BoardEpicConnection | Epics associated with board issues. | -| `hideBacklogList` | Boolean | Whether or not backlog list is hidden. | -| `hideClosedList` | Boolean | Whether or not closed list is hidden. | +| `assignee` | User | The board assignee | +| `epics` | BoardEpicConnection | Epics associated with board issues | +| `hideBacklogList` | Boolean | Whether or not backlog list is hidden | +| `hideClosedList` | Boolean | Whether or not closed list is hidden | | `id` | ID! | ID (global ID) of the board | +| `iteration` | Iteration | The board iteration. | | `labels` | LabelConnection | Labels of the board | | `lists` | BoardListConnection | Lists of the board | -| `milestone` | Milestone | The board milestone. | +| `milestone` | Milestone | The board milestone | | `name` | String | Name of the board | -| `weight` | Int | Weight of the board. | +| `weight` | Int | Weight of the board | ### BoardEpic @@ -367,6 +374,45 @@ Represents the total number of issues and their weights for a particular day. | `scopeCount` | Int! | Number of issues as of this day | | `scopeWeight` | Int! | Total weight of issues as of this day | +### CiConfig + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `errors` | String! => Array | Linting errors | +| `mergedYaml` | String | Merged CI config YAML | +| `stages` | CiConfigStage! => Array | Stages of the pipeline | +| `status` | CiConfigStatus | Status of linting, can be either valid or invalid | + +### CiConfigGroup + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `jobs` | CiConfigJob! => Array | Jobs in group | +| `name` | String | Name of the job group | +| `size` | Int | Size of the job group | + +### CiConfigJob + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `groupName` | String | Name of the job group | +| `name` | String | Name of the job | +| `needs` | CiConfigNeed! => Array | Builds that must complete before the jobs run | +| `stage` | String | Name of the job stage | + +### CiConfigNeed + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `name` | String | Name of the need | + +### CiConfigStage + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `groups` | CiConfigGroup! => Array | Groups of jobs for the stage | +| `name` | String | Name of the stage | + ### CiGroup | Field | Type | Description | @@ -380,12 +426,20 @@ Represents the total number of issues and their weights for a particular day. | Field | Type | Description | | ----- | ---- | ----------- | +| `artifacts` | CiJobArtifactConnection | Artifacts generated by the job | | `detailedStatus` | DetailedStatus | Detailed status of the job | | `name` | String | Name of the job | | `needs` | CiJobConnection | Builds that must complete before the jobs run | -| `pipeline` | Pipeline! | Pipeline the job belongs to | +| `pipeline` | Pipeline | Pipeline the job belongs to | | `scheduledAt` | Time | Schedule for the build | +### CiJobArtifact + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `downloadPath` | String | URL for downloading the artifact's file | +| `fileType` | JobArtifactFileType | File type of the artifact | + ### CiStage | Field | Type | Description | @@ -477,6 +531,7 @@ Represents the code coverage summary for a project. | `message` | String | Raw commit message | | `pipelines` | PipelineConnection | Pipelines of the commit ordered latest first | | `sha` | String! | SHA1 ID of the commit | +| `shortId` | String! | Short SHA1 ID of the commit | | `signatureHtml` | String | Rendered HTML of the commit signature | | `title` | String | Title of the commit message | | `titleHtml` | String | The GitLab Flavored Markdown rendering of `title` | @@ -499,6 +554,9 @@ Represents a ComplianceFramework associated with a Project. | Field | Type | Description | | ----- | ---- | ----------- | +| `color` | String! | Hexadecimal representation of compliance framework's label color | +| `description` | String! | Description of the compliance framework | +| `id` | ID! | Compliance framework ID | | `name` | String! | Name of the compliance framework | ### ConfigureSastPayload @@ -542,6 +600,7 @@ A container repository. | `location` | String! | URL of the container repository. | | `name` | String! | Name of the container repository. | | `path` | String! | Path of the container repository. | +| `project` | Project! | Project of the container registry | | `status` | ContainerRepositoryStatus | Status of the container repository. | | `tagsCount` | Int! | Number of tags associated with this image. | | `updatedAt` | Time! | Timestamp when the container repository was updated. | @@ -560,6 +619,7 @@ Details of a container repository. | `location` | String! | URL of the container repository. | | `name` | String! | Name of the container repository. | | `path` | String! | Path of the container repository. | +| `project` | Project! | Project of the container registry | | `status` | ContainerRepositoryStatus | Status of the container repository. | | `tags` | ContainerRepositoryTagConnection | Tags of the container repository | | `tagsCount` | Int! | Number of tags associated with this image. | @@ -633,6 +693,16 @@ Autogenerated return type of CreateClusterAgent. | `clusterAgent` | ClusterAgent | Cluster agent created after mutation | | `errors` | String! => Array | Errors encountered during execution of the mutation. | +### CreateComplianceFrameworkPayload + +Autogenerated return type of CreateComplianceFramework. + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `clientMutationId` | String | A unique identifier for the client performing the mutation. | +| `errors` | String! => Array | Errors encountered during execution of the mutation. | +| `framework` | ComplianceFramework | The created compliance framework. | + ### CreateCustomEmojiPayload Autogenerated return type of CreateCustomEmoji. @@ -643,6 +713,16 @@ Autogenerated return type of CreateCustomEmoji. | `customEmoji` | CustomEmoji | The new custom emoji | | `errors` | String! => Array | Errors encountered during execution of the mutation. | +### CreateDevopsAdoptionSegmentPayload + +Autogenerated return type of CreateDevopsAdoptionSegment. + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `clientMutationId` | String | A unique identifier for the client performing the mutation. | +| `errors` | String! => Array | Errors encountered during execution of the mutation. | +| `segment` | DevopsAdoptionSegment | The segment after mutation | + ### CreateDiffNotePayload Autogenerated return type of CreateDiffNote. @@ -762,7 +842,7 @@ Represents a DAST scanner profile. | Field | Type | Description | | ----- | ---- | ----------- | | `editPath` | String | Relative web path to the edit page of a scanner profile | -| `globalId` **{warning-solid}** | DastScannerProfileID! | **Deprecated:** Use `id`. Deprecated in 13.6 | +| `globalId` **{warning-solid}** | DastScannerProfileID! | **Deprecated:** Use `id`. Deprecated in 13.6. | | `id` | DastScannerProfileID! | ID of the DAST scanner profile | | `profileName` | String | Name of the DAST scanner profile | | `scanType` | DastScanTypeEnum | Indicates the type of DAST scan that will run. Either a Passive Scan or an Active Scan. | @@ -779,7 +859,7 @@ Autogenerated return type of DastScannerProfileCreate. | ----- | ---- | ----------- | | `clientMutationId` | String | A unique identifier for the client performing the mutation. | | `errors` | String! => Array | Errors encountered during execution of the mutation. | -| `globalId` **{warning-solid}** | DastScannerProfileID | **Deprecated:** Use `id`. Deprecated in 13.6 | +| `globalId` **{warning-solid}** | DastScannerProfileID | **Deprecated:** Use `id`. Deprecated in 13.6. | | `id` | DastScannerProfileID | ID of the scanner profile. | ### DastScannerProfileDeletePayload @@ -809,6 +889,7 @@ Represents a DAST Site Profile. | ----- | ---- | ----------- | | `editPath` | String | Relative web path to the edit page of a site profile | | `id` | DastSiteProfileID! | ID of the site profile | +| `normalizedTargetUrl` | String | Normalized URL of the target to be scanned | | `profileName` | String | The name of the site profile | | `targetUrl` | String | The URL of the target to be scanned | | `userPermissions` | DastSiteProfilePermissions! | Permissions for the current user on the resource | @@ -869,8 +950,9 @@ Represents a DAST Site Validation. | Field | Type | Description | | ----- | ---- | ----------- | -| `id` | DastSiteValidationID! | ID of the site validation | -| `status` | DastSiteProfileValidationStatusEnum! | The status of the validation | +| `id` | DastSiteValidationID! | Global ID of the site validation | +| `normalizedTargetUrl` | String | Normalized URL of the target to be validated | +| `status` | DastSiteProfileValidationStatusEnum! | Status of the site validation | ### DastSiteValidationCreatePayload @@ -892,6 +974,15 @@ Autogenerated return type of DeleteAnnotation. | `clientMutationId` | String | A unique identifier for the client performing the mutation. | | `errors` | String! => Array | Errors encountered during execution of the mutation. | +### DeleteDevopsAdoptionSegmentPayload + +Autogenerated return type of DeleteDevopsAdoptionSegment. + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `clientMutationId` | String | A unique identifier for the client performing the mutation. | +| `errors` | String! => Array | Errors encountered during execution of the mutation. | + ### DeleteJobsResponse The response from the AdminSidekiqQueuesDeleteJobs mutation. @@ -1027,6 +1118,15 @@ Autogenerated return type of DestroyBoard. | `clientMutationId` | String | A unique identifier for the client performing the mutation. | | `errors` | String! => Array | Errors encountered during execution of the mutation. | +### DestroyComplianceFrameworkPayload + +Autogenerated return type of DestroyComplianceFramework. + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `clientMutationId` | String | A unique identifier for the client performing the mutation. | +| `errors` | String! => Array | Errors encountered during execution of the mutation. | + ### DestroyContainerRepositoryPayload Autogenerated return type of DestroyContainerRepository. @@ -1037,6 +1137,16 @@ Autogenerated return type of DestroyContainerRepository. | `containerRepository` | ContainerRepository! | The container repository policy after scheduling the deletion. | | `errors` | String! => Array | Errors encountered during execution of the mutation. | +### DestroyContainerRepositoryTagsPayload + +Autogenerated return type of DestroyContainerRepositoryTags. + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `clientMutationId` | String | A unique identifier for the client performing the mutation. | +| `deletedTagNames` | String! => Array | Deleted container repository tags | +| `errors` | String! => Array | Errors encountered during execution of the mutation. | + ### DestroyNotePayload Autogenerated return type of DestroyNote. @@ -1077,10 +1187,28 @@ Segment. | Field | Type | Description | | ----- | ---- | ----------- | -| `groups` | GroupConnection | Assigned groups | +| `groups` | Group! => Array | Assigned groups | | `id` | ID! | ID of the segment | +| `latestSnapshot` | DevopsAdoptionSnapshot | The latest adoption metrics for the segment | | `name` | String! | Name of the segment | +### DevopsAdoptionSnapshot + +Snapshot. + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `deploySucceeded` | Boolean! | At least one deployment succeeded | +| `endTime` | Time! | The end time for the snapshot where the data points were collected | +| `issueOpened` | Boolean! | At least one issue was opened | +| `mergeRequestApproved` | Boolean! | At least one merge request was approved | +| `mergeRequestOpened` | Boolean! | At least one merge request was opened | +| `pipelineSucceeded` | Boolean! | At least one pipeline succeeded | +| `recordedAt` | Time! | The time the snapshot was recorded | +| `runnerConfigured` | Boolean! | At least one runner was used | +| `securityScanSucceeded` | Boolean! | At least one security scan succeeded | +| `startTime` | Time! | The start time for the snapshot where the data points were collected | + ### DiffPosition | Field | Type | Description | @@ -1243,6 +1371,15 @@ Autogenerated return type of EpicAddIssue. | `epicIssue` | EpicIssue | The epic-issue relation | | `errors` | String! => Array | Errors encountered during execution of the mutation. | +### EpicBoard + +Represents an epic board. + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `id` | BoardsEpicBoardID! | Global ID of the board | +| `name` | String | Name of the board | + ### EpicDescendantCount Counts of descendent epics. @@ -1282,8 +1419,8 @@ Relationship between an epic and an issue. | `alertManagementAlert` | AlertManagementAlert | Alert associated to this issue | | `assignees` | UserConnection | Assignees of the issue | | `author` | User! | User that created the issue | -| `blocked` | Boolean! | Indicates the issue is blocked | -| `blockedByCount` | Int | Count of issues blocking this issue | +| `blocked` | Boolean! | Indicates the issue is blocked. | +| `blockedByCount` | Int | Count of issues blocking this issue. | | `closedAt` | Time | Timestamp of when the issue was closed | | `confidential` | Boolean! | Indicates the issue is confidential | | `createdAt` | Time! | Timestamp of when the issue was created | @@ -1296,15 +1433,16 @@ Relationship between an epic and an issue. | `downvotes` | Int! | Number of downvotes the issue has received | | `dueDate` | Time | Due date of the issue | | `emailsDisabled` | Boolean! | Indicates if a project has email notifications disabled: `true` if email notifications are disabled | -| `epic` | Epic | Epic to which this issue belongs | +| `epic` | Epic | Epic to which this issue belongs. | | `epicIssueId` | ID! | ID of the epic-issue relation | -| `healthStatus` | HealthStatus | Current health status. Returns null if `save_issuable_health_status` feature flag is disabled. | +| `healthStatus` | HealthStatus | Current health status. | | `humanTimeEstimate` | String | Human-readable time estimate of the issue | | `humanTotalTimeSpent` | String | Human-readable total time reported as spent on the issue | | `id` | ID | Global ID of the epic-issue relation | | `iid` | ID! | Internal ID of the issue | -| `iteration` | Iteration | Iteration of the issue | +| `iteration` | Iteration | Iteration of the issue. | | `labels` | LabelConnection | Labels of the issue | +| `metricImages` | MetricImage! => Array | Metric images associated to the issue. | | `milestone` | Milestone | Milestone of the issue | | `moved` | Boolean | Indicates if issue got moved from other project | | `movedTo` | Issue | Updated Issue after it got moved to another project | @@ -1316,7 +1454,7 @@ Relationship between an epic and an issue. | `severity` | IssuableSeverity | Severity level of the incident | | `slaDueAt` | Time | Timestamp of when the issue SLA expires. | | `state` | IssueState! | State of the issue | -| `statusPagePublishedIncident` | Boolean | Indicates whether an issue is published to the status page | +| `statusPagePublishedIncident` | Boolean | Indicates whether an issue is published to the status page. | | `subscribed` | Boolean! | Indicates the currently logged in user is subscribed to the issue | | `taskCompletionStatus` | TaskCompletionStatus! | Task completion status of the issue | | `timeEstimate` | Int! | Time estimate of the issue | @@ -1332,7 +1470,7 @@ Relationship between an epic and an issue. | `userPermissions` | IssuePermissions! | Permissions for the current user on the resource | | `webPath` | String! | Web path of the issue | | `webUrl` | String! | Web URL of the issue | -| `weight` | Int | Weight of the issue | +| `weight` | Int | Weight of the issue. | ### EpicPermissions @@ -1368,6 +1506,20 @@ Autogenerated return type of EpicTreeReorder. | `clientMutationId` | String | A unique identifier for the client performing the mutation. | | `errors` | String! => Array | Errors encountered during execution of the mutation. | +### ExternalIssue + +Represents an external issue. + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `createdAt` | Time | Timestamp of when the issue was created | +| `externalTracker` | String | Type of external tracker | +| `relativeReference` | String | Relative reference of the issue in the external tracker | +| `status` | String | Status of the issue in the external tracker | +| `title` | String | Title of the issue in the external tracker | +| `updatedAt` | Time | Timestamp of when the issue was updated | +| `webUrl` | String | URL to the issue in the external tracker | + ### GeoNode | Field | Type | Description | @@ -1386,7 +1538,7 @@ Autogenerated return type of EpicTreeReorder. | `selectiveSyncNamespaces` | NamespaceConnection | The namespaces that should be synced, if `selective_sync_type` == `namespaces` | | `selectiveSyncShards` | String! => Array | The repository storages whose projects should be synced, if `selective_sync_type` == `shards` | | `selectiveSyncType` | String | Indicates if syncing is limited to only specific groups, or shards | -| `snippetRepositoryRegistries` | SnippetRepositoryRegistryConnection | Find snippet repository registries on this Geo node. Available only when feature flag `geo_snippet_repository_replication` is enabled | +| `snippetRepositoryRegistries` | SnippetRepositoryRegistryConnection | Find snippet repository registries on this Geo node | | `syncObjectStorage` | Boolean | Indicates if this secondary node will replicate blobs in Object Storage | | `terraformStateVersionRegistries` | TerraformStateVersionRegistryConnection | Find terraform state version registries on this Geo node | | `url` | String | The user-facing URL for this Geo node | @@ -1412,14 +1564,18 @@ Autogenerated return type of EpicTreeReorder. | `avatarUrl` | String | Avatar URL of the group | | `board` | Board | A single board of the group | | `boards` | BoardConnection | Boards of the group | -| `codeCoverageActivities` | CodeCoverageActivityConnection | Represents the code coverage activity for this group. Available only when feature flag `group_coverage_data_report_graph` is enabled | -| `containerRepositories` | ContainerRepositoryConnection | Container repositories of the project | +| `codeCoverageActivities` | CodeCoverageActivityConnection | Represents the code coverage activity for this group | +| `complianceFrameworks` | ComplianceFrameworkConnection | Compliance frameworks available to projects in this namespace Available only when feature flag `ff_custom_compliance_frameworks` is enabled. | +| `containerRepositories` | ContainerRepositoryConnection | Container repositories of the group | +| `containerRepositoriesCount` | Int! | Number of container repositories in the group | | `containsLockedProjects` | Boolean! | Includes at least one project where the repository size exceeds the limit | -| `customEmoji` | CustomEmojiConnection | Custom emoji within this namespace. Available only when feature flag `custom_emoji` is enabled | +| `customEmoji` | CustomEmojiConnection | Custom emoji within this namespace Available only when feature flag `custom_emoji` is enabled. | | `description` | String | Description of the namespace | | `descriptionHtml` | String | The GitLab Flavored Markdown rendering of `description` | | `emailsDisabled` | Boolean | Indicates if a group has email notifications disabled | | `epic` | Epic | Find a single epic | +| `epicBoard` | EpicBoard | Find a single epic board | +| `epicBoards` | EpicBoardConnection | Find epic boards | | `epics` | EpicConnection | Find epics | | `epicsEnabled` | Boolean | Indicates if Epics are enabled for namespace | | `fullName` | String! | Full name of the namespace | @@ -1458,7 +1614,7 @@ Autogenerated return type of EpicTreeReorder. | `visibility` | String | Visibility of the namespace | | `vulnerabilities` | VulnerabilityConnection | Vulnerabilities reported on the projects in the group and its subgroups | | `vulnerabilitiesCountByDay` | VulnerabilitiesCountByDayConnection | Number of vulnerabilities per day for the projects in the group and its subgroups | -| `vulnerabilitiesCountByDayAndSeverity` **{warning-solid}** | VulnerabilitiesCountByDayAndSeverityConnection | **Deprecated:** Use `vulnerabilitiesCountByDay`. Deprecated in 13.3 | +| `vulnerabilitiesCountByDayAndSeverity` **{warning-solid}** | VulnerabilitiesCountByDayAndSeverityConnection | **Deprecated:** Use `vulnerabilitiesCountByDay`. Deprecated in 13.3. | | `vulnerabilityGrades` | VulnerableProjectsByGrade! => Array | Represents vulnerable project counts for each grade | | `vulnerabilityScanners` | VulnerabilityScannerConnection | Vulnerability scanners reported on the project vulnerabilties of the group and its subgroups | | `vulnerabilitySeveritiesCount` | VulnerabilitySeveritiesCount | Counts for each vulnerability severity in the group and its subgroups | @@ -1543,6 +1699,17 @@ Autogenerated return type of HttpIntegrationUpdate. | `errors` | String! => Array | Errors encountered during execution of the mutation. | | `integration` | AlertManagementHttpIntegration | The HTTP integration | +### IncidentManagementOncallSchedule + +Describes an incident management on-call schedule. + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `description` | String | Description of the on-call schedule | +| `iid` | ID! | Internal ID of the on-call schedule | +| `name` | String! | Name of the on-call schedule | +| `timezone` | String! | Time zone of the on-call schedule | + ### InstanceSecurityDashboard | Field | Type | Description | @@ -1569,8 +1736,8 @@ Represents a recorded measurement (object count) for the Admins. | `alertManagementAlert` | AlertManagementAlert | Alert associated to this issue | | `assignees` | UserConnection | Assignees of the issue | | `author` | User! | User that created the issue | -| `blocked` | Boolean! | Indicates the issue is blocked | -| `blockedByCount` | Int | Count of issues blocking this issue | +| `blocked` | Boolean! | Indicates the issue is blocked. | +| `blockedByCount` | Int | Count of issues blocking this issue. | | `closedAt` | Time | Timestamp of when the issue was closed | | `confidential` | Boolean! | Indicates the issue is confidential | | `createdAt` | Time! | Timestamp of when the issue was created | @@ -1583,14 +1750,15 @@ Represents a recorded measurement (object count) for the Admins. | `downvotes` | Int! | Number of downvotes the issue has received | | `dueDate` | Time | Due date of the issue | | `emailsDisabled` | Boolean! | Indicates if a project has email notifications disabled: `true` if email notifications are disabled | -| `epic` | Epic | Epic to which this issue belongs | -| `healthStatus` | HealthStatus | Current health status. Returns null if `save_issuable_health_status` feature flag is disabled. | +| `epic` | Epic | Epic to which this issue belongs. | +| `healthStatus` | HealthStatus | Current health status. | | `humanTimeEstimate` | String | Human-readable time estimate of the issue | | `humanTotalTimeSpent` | String | Human-readable total time reported as spent on the issue | | `id` | ID! | ID of the issue | | `iid` | ID! | Internal ID of the issue | -| `iteration` | Iteration | Iteration of the issue | +| `iteration` | Iteration | Iteration of the issue. | | `labels` | LabelConnection | Labels of the issue | +| `metricImages` | MetricImage! => Array | Metric images associated to the issue. | | `milestone` | Milestone | Milestone of the issue | | `moved` | Boolean | Indicates if issue got moved from other project | | `movedTo` | Issue | Updated Issue after it got moved to another project | @@ -1601,7 +1769,7 @@ Represents a recorded measurement (object count) for the Admins. | `severity` | IssuableSeverity | Severity level of the incident | | `slaDueAt` | Time | Timestamp of when the issue SLA expires. | | `state` | IssueState! | State of the issue | -| `statusPagePublishedIncident` | Boolean | Indicates whether an issue is published to the status page | +| `statusPagePublishedIncident` | Boolean | Indicates whether an issue is published to the status page. | | `subscribed` | Boolean! | Indicates the currently logged in user is subscribed to the issue | | `taskCompletionStatus` | TaskCompletionStatus! | Task completion status of the issue | | `timeEstimate` | Int! | Time estimate of the issue | @@ -1617,7 +1785,7 @@ Represents a recorded measurement (object count) for the Admins. | `userPermissions` | IssuePermissions! | Permissions for the current user on the resource | | `webPath` | String! | Web path of the issue | | `webUrl` | String! | Web URL of the issue | -| `weight` | Int | Weight of the issue | +| `weight` | Int | Weight of the issue. | ### IssueMoveListPayload @@ -1878,11 +2046,14 @@ Autogenerated return type of MarkAsSpamSnippet. | `assignees` | UserConnection | Assignees of the merge request | | `author` | User | User who created this merge request | | `autoMergeEnabled` | Boolean! | Indicates if auto merge is enabled for the merge request | +| `availableAutoMergeStrategies` | String! => Array | Array of available auto merge strategies | | `commitCount` | Int | Number of commits in the merge request | +| `commitsWithoutMergeCommits` | CommitConnection | Merge request commits excluding merge commits | | `conflicts` | Boolean! | Indicates if the merge request has conflicts | | `createdAt` | Time! | Timestamp of when the merge request was created | | `currentUserTodos` | TodoConnection! | Todos for the current user | | `defaultMergeCommitMessage` | String | Default merge commit message of the merge request | +| `defaultMergeCommitMessageWithDescription` | String | Default merge commit message of the merge request with description | | `description` | String | Description of the merge request (Markdown rendered as HTML for caching) | | `descriptionHtml` | String | The GitLab Flavored Markdown rendering of `description` | | `diffHeadSha` | String | Diff head SHA of the merge request | @@ -1893,6 +2064,7 @@ Autogenerated return type of MarkAsSpamSnippet. | `discussions` | DiscussionConnection! | All discussions on this noteable | | `downvotes` | Int! | Number of downvotes for the merge request | | `forceRemoveSourceBranch` | Boolean | Indicates if the project settings will lead to source branch deletion after merge | +| `hasCi` | Boolean! | Indicates if the merge request has CI | | `headPipeline` | Pipeline | The pipeline running on the branch HEAD of the merge request | | `id` | ID! | ID of the merge request | | `iid` | String! | Internal ID of the merge request | @@ -1902,24 +2074,29 @@ Autogenerated return type of MarkAsSpamSnippet. | `mergeError` | String | Error message due to a merge error | | `mergeOngoing` | Boolean! | Indicates if a merge is currently occurring | | `mergeStatus` | String | Status of the merge request | +| `mergeTrainsCount` | Int | | | `mergeWhenPipelineSucceeds` | Boolean | Indicates if the merge has been set to be merged when its pipeline succeeds (MWPS) | +| `mergeable` | Boolean! | Indicates if the merge request is mergeable | | `mergeableDiscussionsState` | Boolean | Indicates if all discussions in the merge request have been resolved, allowing the merge request to be merged | | `mergedAt` | Time | Timestamp of when the merge request was merged, null if not merged | | `milestone` | Milestone | The milestone of the merge request | | `notes` | NoteConnection! | All notes on this noteable | | `participants` | UserConnection | Participants in the merge request | -| `pipelines` | PipelineConnection | Pipelines for the merge request | +| `pipelines` | PipelineConnection | Pipelines for the merge request. Note: for performance reasons, no more than the most recent 500 pipelines will be returned. | | `project` | Project! | Alias for target_project | | `projectId` | Int! | ID of the merge request project | | `rebaseCommitSha` | String | Rebase commit SHA of the merge request | | `rebaseInProgress` | Boolean! | Indicates if there is a rebase currently in progress for the merge request | | `reference` | String! | Internal reference of the merge request. Returned in shortened format by default | +| `securityAutoFix` | Boolean | Indicates if the merge request is created by @GitLab-Security-Bot. | | `shouldBeRebased` | Boolean! | Indicates if the merge request will be rebased | | `shouldRemoveSourceBranch` | Boolean | Indicates if the source branch of the merge request will be deleted after merge | | `sourceBranch` | String! | Source branch of the merge request | | `sourceBranchExists` | Boolean! | Indicates if the source branch of the merge request exists | +| `sourceBranchProtected` | Boolean! | Indicates if the source branch is protected | | `sourceProject` | Project | Source project of the merge request | | `sourceProjectId` | Int | ID of the merge request source project | +| `squashOnMerge` | Boolean! | Indicates if squash on merge is enabled | | `state` | MergeRequestState! | State of the merge request | | `subscribed` | Boolean! | Indicates if the currently logged in user is subscribed to this merge request | | `targetBranch` | String! | Target branch of the merge request | @@ -2057,6 +2234,18 @@ Autogenerated return type of MergeRequestUpdate. | `revision` | String! | Revision | | `version` | String! | Version | +### MetricImage + +Represents a metric image upload. + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `fileName` | String | File name of the metric image | +| `filePath` | String | File path of the metric image | +| `id` | ID! | ID of the metric upload | +| `iid` | ID! | Internal ID of the metric upload | +| `url` | String! | URL of the metric source | + ### MetricsDashboard | Field | Type | Description | @@ -2111,6 +2300,7 @@ Contains statistics about a milestone. | ----- | ---- | ----------- | | `actualRepositorySizeLimit` | Float | Size limit for repositories in the namespace in bytes | | `additionalPurchasedStorageSize` | Float | Additional storage purchased for the root namespace in bytes | +| `complianceFrameworks` | ComplianceFrameworkConnection | Compliance frameworks available to projects in this namespace Available only when feature flag `ff_custom_compliance_frameworks` is enabled. | | `containsLockedProjects` | Boolean! | Includes at least one project where the repository size exceeds the limit | | `description` | String | Description of the namespace | | `descriptionHtml` | String | The GitLab Flavored Markdown rendering of `description` | @@ -2174,6 +2364,36 @@ Autogenerated return type of NamespaceIncreaseStorageTemporarily. | `repositionNote` | Boolean! | Indicates the user can perform `reposition_note` on this resource | | `resolveNote` | Boolean! | Indicates the user can perform `resolve_note` on this resource | +### OncallScheduleCreatePayload + +Autogenerated return type of OncallScheduleCreate. + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `clientMutationId` | String | A unique identifier for the client performing the mutation. | +| `errors` | String! => Array | Errors encountered during execution of the mutation. | +| `oncallSchedule` | IncidentManagementOncallSchedule | The on-call schedule | + +### OncallScheduleDestroyPayload + +Autogenerated return type of OncallScheduleDestroy. + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `clientMutationId` | String | A unique identifier for the client performing the mutation. | +| `errors` | String! => Array | Errors encountered during execution of the mutation. | +| `oncallSchedule` | IncidentManagementOncallSchedule | The on-call schedule | + +### OncallScheduleUpdatePayload + +Autogenerated return type of OncallScheduleUpdate. + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `clientMutationId` | String | A unique identifier for the client performing the mutation. | +| `errors` | String! => Array | Errors encountered during execution of the mutation. | +| `oncallSchedule` | IncidentManagementOncallSchedule | The on-call schedule | + ### Package Represents a package. @@ -2217,6 +2437,7 @@ Information about pagination in a connection.. | Field | Type | Description | | ----- | ---- | ----------- | +| `active` | Boolean! | Indicates if the pipeline is active | | `beforeSha` | String | Base SHA of the source branch | | `cancelable` | Boolean! | Specifies if a pipeline can be canceled | | `committedAt` | Time | Timestamp of the pipeline's commit | @@ -2244,6 +2465,22 @@ Information about pagination in a connection.. | `user` | User | Pipeline user | | `userPermissions` | PipelinePermissions! | Permissions for the current user on the resource | +### PipelineAnalytics + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `monthPipelinesLabels` | String! => Array | Labels for the monthly pipeline count | +| `monthPipelinesSuccessful` | Int! => Array | Total monthly successful pipeline count | +| `monthPipelinesTotals` | Int! => Array | Total monthly pipeline count | +| `pipelineTimesLabels` | String! => Array | Pipeline times labels | +| `pipelineTimesValues` | Int! => Array | Pipeline times | +| `weekPipelinesLabels` | String! => Array | Labels for the weekly pipeline count | +| `weekPipelinesSuccessful` | Int! => Array | Total weekly successful pipeline count | +| `weekPipelinesTotals` | Int! => Array | Total weekly pipeline count | +| `yearPipelinesLabels` | String! => Array | Labels for the yearly pipeline count | +| `yearPipelinesSuccessful` | Int! => Array | Total yearly successful pipeline count | +| `yearPipelinesTotals` | Int! => Array | Total yearly pipeline count | + ### PipelineCancelPayload Autogenerated return type of PipelineCancel. @@ -2295,6 +2532,7 @@ Autogenerated return type of PipelineRetry. | `avatarUrl` | String | URL to avatar image file of the project | | `board` | Board | A single board of the project | | `boards` | BoardConnection | Boards of the project | +| `ciCdSettings` | ProjectCiCdSetting | CI/CD settings for the project | | `clusterAgent` | ClusterAgent | Find a single cluster agent by name | | `clusterAgents` | ClusterAgentConnection | Cluster agents associated with the project | | `codeCoverageSummary` | CodeCoverageSummary | Code coverage summary associated with the project | @@ -2302,11 +2540,13 @@ Autogenerated return type of PipelineRetry. | `containerExpirationPolicy` | ContainerExpirationPolicy | The container expiration policy of the project | | `containerRegistryEnabled` | Boolean | Indicates if the project stores Docker container images in a container registry | | `containerRepositories` | ContainerRepositoryConnection | Container repositories of the project | +| `containerRepositoriesCount` | Int! | Number of container repositories in the project | | `createdAt` | Time | Timestamp of the project creation | | `dastScannerProfiles` | DastScannerProfileConnection | The DAST scanner profiles associated with the project | | `dastSiteProfile` | DastSiteProfile | DAST Site Profile associated with the project | | `dastSiteProfiles` | DastSiteProfileConnection | DAST Site Profiles associated with the project | -| `dastSiteValidation` | DastSiteValidation | DAST Site Validation associated with the project | +| `dastSiteValidation` | DastSiteValidation | DAST Site Validation associated with the project. Will always return `null` if `security_on_demand_scans_site_validation` is disabled | +| `dastSiteValidations` | DastSiteValidationConnection | DAST Site Validations associated with the project. Will always return no nodes if `security_on_demand_scans_site_validation` is disabled | | `description` | String | Short description of the project | | `descriptionHtml` | String | The GitLab Flavored Markdown rendering of `description` | | `environment` | Environment | A single environment of the project | @@ -2318,6 +2558,7 @@ Autogenerated return type of PipelineRetry. | `httpUrlToRepo` | String | URL to connect to the project via HTTPS | | `id` | ID! | ID of the project | | `importStatus` | String | Status of import background job of the project | +| `incidentManagementOncallSchedules` | IncidentManagementOncallScheduleConnection | Incident Management On-call schedules of the project | | `issue` | Issue | A single issue of the project | | `issueStatusCounts` | IssueStatusCountsType | Counts of issues by status for the project | | `issues` | IssueConnection | Issues of the project | @@ -2344,6 +2585,7 @@ Autogenerated return type of PipelineRetry. | `packages` | PackageConnection | Packages of the project | | `path` | String! | Path of the project | | `pipeline` | Pipeline | Build pipeline of the project | +| `pipelineAnalytics` | PipelineAnalytics | Pipeline analytics | | `pipelines` | PipelineConnection | Build pipelines of the project | | `printingMergeRequestLinkEnabled` | Boolean | Indicates if a link to create or view a merge request should display after a push to Git repositories of the project from the command line | | `projectMembers` | MemberInterfaceConnection | Members of the project | @@ -2368,12 +2610,14 @@ Autogenerated return type of PipelineRetry. | `sharedRunnersEnabled` | Boolean | Indicates if shared runners are enabled for the project | | `snippets` | SnippetConnection | Snippets of the project | | `snippetsEnabled` | Boolean | Indicates if Snippets are enabled for the current user | +| `squashReadOnly` | Boolean! | Indicates if squash readonly is enabled | | `sshUrlToRepo` | String | URL to connect to the project via SSH | | `starCount` | Int! | Number of times the project has been starred | | `statistics` | ProjectStatistics | Statistics of the project | | `suggestionCommitMessage` | String | The commit message used to apply merge request suggestions | | `tagList` | String | List of project topics (not Git tags) | | `terraformStates` | TerraformStateConnection | Terraform states associated with the project | +| `totalPipelineDuration` | Int | Total pipeline duration for all of the pipelines in a project | | `userPermissions` | ProjectPermissions! | Permissions for the current user on the resource | | `visibility` | String | Visibility of the project | | `vulnerabilities` | VulnerabilityConnection | Vulnerabilities reported on the project | @@ -2383,6 +2627,14 @@ Autogenerated return type of PipelineRetry. | `webUrl` | String | Web URL of the project | | `wikiEnabled` | Boolean | Indicates if Wikis are enabled for the current user | +### ProjectCiCdSetting + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `mergePipelinesEnabled` | Boolean | Whether merge pipelines are enabled. | +| `mergeTrainsEnabled` | Boolean | Whether merge trains are enabled. | +| `project` | Project | Project the CI/CD settings belong to. | + ### ProjectMember Represents a Project Membership. @@ -2564,6 +2816,16 @@ Autogenerated return type of ReleaseCreate. | `errors` | String! => Array | Errors encountered during execution of the mutation. | | `release` | Release | The release after mutation | +### ReleaseDeletePayload + +Autogenerated return type of ReleaseDelete. + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `clientMutationId` | String | A unique identifier for the client performing the mutation. | +| `errors` | String! => Array | Errors encountered during execution of the mutation. | +| `release` | Release | The deleted release. | + ### ReleaseEvidence Evidence for a release. @@ -2596,6 +2858,16 @@ Represents the source code attached to a release in a particular format. | `format` | String | Format of the source | | `url` | String | Download URL of the source | +### ReleaseUpdatePayload + +Autogenerated return type of ReleaseUpdate. + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `clientMutationId` | String | A unique identifier for the client performing the mutation. | +| `errors` | String! => Array | Errors encountered during execution of the mutation. | +| `release` | Release | The release after mutation. | + ### RemoveAwardEmojiPayload Autogenerated return type of RemoveAwardEmoji. @@ -2947,7 +3219,7 @@ Represents a snippet entry. | Field | Type | Description | | ----- | ---- | ----------- | | `author` | User | The owner of the snippet | -| `blob` **{warning-solid}** | SnippetBlob! | **Deprecated:** Use `blobs`. Deprecated in 13.3 | +| `blob` **{warning-solid}** | SnippetBlob! | **Deprecated:** Use `blobs`. Deprecated in 13.3. | | `blobs` | SnippetBlobConnection | Snippet blobs | | `createdAt` | Time! | Timestamp this snippet was created | | `description` | String | Description of the snippet | @@ -3102,8 +3374,10 @@ Autogenerated return type of TerraformStateUnlock. | ----- | ---- | ----------- | | `createdAt` | Time! | Timestamp the version was created | | `createdByUser` | User | The user that created this version | +| `downloadPath` | String | URL for downloading the version's JSON file | | `id` | ID! | ID of the Terraform state version | | `job` | CiJob | The job that created this version | +| `serial` | Int | Serial number of the version | | `updatedAt` | Time! | Timestamp the version was updated | ### TerraformStateVersionRegistry @@ -3215,7 +3489,7 @@ Autogenerated return type of TodoRestoreMany. | `clientMutationId` | String | A unique identifier for the client performing the mutation. | | `errors` | String! => Array | Errors encountered during execution of the mutation. | | `todos` | Todo! => Array | Updated todos | -| `updatedIds` **{warning-solid}** | TodoID! => Array | **Deprecated:** Use todos. Deprecated in 13.2 | +| `updatedIds` **{warning-solid}** | TodoID! => Array | **Deprecated:** Use todos. Deprecated in 13.2. | ### TodoRestorePayload @@ -3236,7 +3510,7 @@ Autogenerated return type of TodosMarkAllDone. | `clientMutationId` | String | A unique identifier for the client performing the mutation. | | `errors` | String! => Array | Errors encountered during execution of the mutation. | | `todos` | Todo! => Array | Updated todos | -| `updatedIds` **{warning-solid}** | TodoID! => Array | **Deprecated:** Use todos. Deprecated in 13.2 | +| `updatedIds` **{warning-solid}** | TodoID! => Array | **Deprecated:** Use todos. Deprecated in 13.2. | ### ToggleAwardEmojiPayload @@ -3315,6 +3589,16 @@ Autogenerated return type of UpdateBoard. | `clientMutationId` | String | A unique identifier for the client performing the mutation. | | `errors` | String! => Array | Errors encountered during execution of the mutation. | +### UpdateComplianceFrameworkPayload + +Autogenerated return type of UpdateComplianceFramework. + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `clientMutationId` | String | A unique identifier for the client performing the mutation. | +| `complianceFramework` | ComplianceFramework | The compliance framework after mutation | +| `errors` | String! => Array | Errors encountered during execution of the mutation. | + ### UpdateContainerExpirationPolicyPayload Autogenerated return type of UpdateContainerExpirationPolicy. @@ -3325,6 +3609,16 @@ Autogenerated return type of UpdateContainerExpirationPolicy. | `containerExpirationPolicy` | ContainerExpirationPolicy | The container expiration policy after mutation | | `errors` | String! => Array | Errors encountered during execution of the mutation. | +### UpdateDevopsAdoptionSegmentPayload + +Autogenerated return type of UpdateDevopsAdoptionSegment. + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `clientMutationId` | String | A unique identifier for the client performing the mutation. | +| `errors` | String! => Array | Errors encountered during execution of the mutation. | +| `segment` | DevopsAdoptionSegment | The segment after mutation | + ### UpdateEpicPayload Autogenerated return type of UpdateEpic. @@ -3363,7 +3657,7 @@ Autogenerated return type of UpdateIteration. | ----- | ---- | ----------- | | `clientMutationId` | String | A unique identifier for the client performing the mutation. | | `errors` | String! => Array | Errors encountered during execution of the mutation. | -| `iteration` | Iteration | The updated iteration | +| `iteration` | Iteration | Updated iteration. | ### UpdateNotePayload @@ -3403,12 +3697,15 @@ Autogenerated return type of UpdateSnippet. | `assignedMergeRequests` | MergeRequestConnection | Merge Requests assigned to the user | | `authoredMergeRequests` | MergeRequestConnection | Merge Requests authored by the user | | `avatarUrl` | String | URL of the user's avatar | -| `email` | String | User email | -| `groupCount` | Int | Group count for the user. Available only when feature flag `user_group_counts` is enabled | +| `email` **{warning-solid}** | String | **Deprecated:** Use public_email. Deprecated in 13.7. | +| `groupCount` | Int | Group count for the user Available only when feature flag `user_group_counts` is enabled. | | `groupMemberships` | GroupMemberConnection | Group memberships of the user | | `id` | ID! | ID of the user | +| `location` | String | The location of the user. | | `name` | String! | Human-readable name of the user | | `projectMemberships` | ProjectMemberConnection | Project memberships of the user | +| `publicEmail` | String | User's public email | +| `reviewRequestedMergeRequests` | MergeRequestConnection | Merge Requests assigned to the user for review | | `snippets` | SnippetConnection | Snippets authored by the user | | `starredProjects` | ProjectConnection | Projects starred by the user | | `state` | UserState! | State of the user | @@ -3465,17 +3762,23 @@ Represents a vulnerability. | Field | Type | Description | | ----- | ---- | ----------- | +| `confirmedAt` | Time | Timestamp of when the vulnerability state was changed to confirmed | | `description` | String | Description of the vulnerability | | `detectedAt` | Time! | Timestamp of when the vulnerability was first detected | | `discussions` | DiscussionConnection! | All discussions on this noteable | +| `dismissedAt` | Time | Timestamp of when the vulnerability state was changed to dismissed | +| `externalIssueLinks` | VulnerabilityExternalIssueLinkConnection! | List of external issue links related to the vulnerability | +| `hasSolutions` | Boolean | Indicates whether there is a solution available for this vulnerability. | | `id` | ID! | GraphQL ID of the vulnerability | | `identifiers` | VulnerabilityIdentifier! => Array | Identifiers of the vulnerability. | | `issueLinks` | VulnerabilityIssueLinkConnection! | List of issue links related to the vulnerability | | `location` | VulnerabilityLocation | Location metadata for the vulnerability. Its fields depend on the type of security scan that found the vulnerability | +| `mergeRequest` | MergeRequest | Merge request that fixes the vulnerability. | | `notes` | NoteConnection! | All notes on this noteable | | `primaryIdentifier` | VulnerabilityIdentifier | Primary identifier of the vulnerability. | | `project` | Project | The project on which the vulnerability was found | | `reportType` | VulnerabilityReportType | Type of the security report that found the vulnerability (SAST, DEPENDENCY_SCANNING, CONTAINER_SCANNING, DAST, SECRET_DETECTION, COVERAGE_FUZZING, API_FUZZING) | +| `resolvedAt` | Time | Timestamp of when the vulnerability state was changed to resolved | | `resolvedOnDefaultBranch` | Boolean! | Indicates whether the vulnerability is fixed on the default branch or not | | `scanner` | VulnerabilityScanner | Scanner metadata for the vulnerability. | | `severity` | VulnerabilitySeverity | Severity of the vulnerability (INFO, UNKNOWN, LOW, MEDIUM, HIGH, CRITICAL) | @@ -3505,6 +3808,35 @@ Autogenerated return type of VulnerabilityDismiss. | `errors` | String! => Array | Errors encountered during execution of the mutation. | | `vulnerability` | Vulnerability | The vulnerability after dismissal | +### VulnerabilityExternalIssueLink + +Represents an external issue link of a vulnerability. + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `externalIssue` | ExternalIssue | The external issue attached to the issue link | +| `id` | VulnerabilitiesExternalIssueLinkID! | GraphQL ID of the external issue link | +| `linkType` | VulnerabilityExternalIssueLinkType! | Type of the external issue link | + +### VulnerabilityExternalIssueLinkCreatePayload + +Autogenerated return type of VulnerabilityExternalIssueLinkCreate. + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `clientMutationId` | String | A unique identifier for the client performing the mutation. | +| `errors` | String! => Array | Errors encountered during execution of the mutation. | +| `externalIssueLink` | VulnerabilityExternalIssueLink | The created external issue link. | + +### VulnerabilityExternalIssueLinkDestroyPayload + +Autogenerated return type of VulnerabilityExternalIssueLinkDestroy. + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `clientMutationId` | String | A unique identifier for the client performing the mutation. | +| `errors` | String! => Array | Errors encountered during execution of the mutation. | + ### VulnerabilityIdentifier Represents a vulnerability identifier. @@ -3599,6 +3931,7 @@ Check permissions for the current user on a vulnerability. | Field | Type | Description | | ----- | ---- | ----------- | | `adminVulnerability` | Boolean! | Indicates the user can perform `admin_vulnerability` on this resource | +| `adminVulnerabilityExternalIssueLink` | Boolean! | Indicates the user can perform `admin_vulnerability_external_issue_link` on this resource | | `adminVulnerabilityIssueLink` | Boolean! | Indicates the user can perform `admin_vulnerability_issue_link` on this resource | | `createVulnerability` | Boolean! | Indicates the user can perform `create_vulnerability` on this resource | | `createVulnerabilityExport` | Boolean! | Indicates the user can perform `create_vulnerability_export` on this resource | @@ -3724,10 +4057,19 @@ Values for sorting alerts. | `UPDATED_DESC` | Updated at descending order | | `UPDATED_TIME_ASC` | Created time by ascending order | | `UPDATED_TIME_DESC` | Created time by descending order | -| `created_asc` **{warning-solid}** | **Deprecated:** Use CREATED_ASC. Deprecated in 13.5 | -| `created_desc` **{warning-solid}** | **Deprecated:** Use CREATED_DESC. Deprecated in 13.5 | -| `updated_asc` **{warning-solid}** | **Deprecated:** Use UPDATED_ASC. Deprecated in 13.5 | -| `updated_desc` **{warning-solid}** | **Deprecated:** Use UPDATED_DESC. Deprecated in 13.5 | +| `created_asc` **{warning-solid}** | **Deprecated:** Use CREATED_ASC. Deprecated in 13.5. | +| `created_desc` **{warning-solid}** | **Deprecated:** Use CREATED_DESC. Deprecated in 13.5. | +| `updated_asc` **{warning-solid}** | **Deprecated:** Use UPDATED_ASC. Deprecated in 13.5. | +| `updated_desc` **{warning-solid}** | **Deprecated:** Use UPDATED_DESC. Deprecated in 13.5. | + +### AlertManagementDomainFilter + +Filters the alerts based on given domain. + +| Value | Description | +| ----- | ----------- | +| `operations` | Alerts for operations domain | +| `threat_monitoring` | Alerts for threat monitoring domain | ### AlertManagementIntegrationType @@ -3781,6 +4123,15 @@ Types of blob viewers. | `rich` | | | `simple` | | +### CiConfigStatus + +Values for YAML processor result. + +| Value | Description | +| ----- | ----------- | +| `INVALID` | The configuration file is not valid | +| `VALID` | The configuration file is valid | + ### CommitActionMode Mode of a commit action. @@ -3863,6 +4214,7 @@ Status of a container repository. | ----- | ----------- | | `FAILED_VALIDATION` | Site validation process finished but failed | | `INPROGRESS_VALIDATION` | Site validation process is in progress | +| `NONE` | No site validation exists | | `PASSED_VALIDATION` | Site validation process finished successfully | | `PENDING_VALIDATION` | Site validation process has not started | @@ -3952,6 +4304,16 @@ Epic ID wildcard values. | `ANY` | Any epic is assigned | | `NONE` | No epic is assigned | +### GroupMemberRelation + +Group member relation. + +| Value | Description | +| ----- | ----------- | +| `DESCENDANTS` | Descendants members | +| `DIRECT` | Direct members | +| `INHERITED` | Inherited members | + ### HealthStatus Health status of an issue or epic. @@ -4012,10 +4374,10 @@ Values for sorting issues. | `UPDATED_DESC` | Updated at descending order | | `WEIGHT_ASC` | Weight by ascending order | | `WEIGHT_DESC` | Weight by descending order | -| `created_asc` **{warning-solid}** | **Deprecated:** Use CREATED_ASC. Deprecated in 13.5 | -| `created_desc` **{warning-solid}** | **Deprecated:** Use CREATED_DESC. Deprecated in 13.5 | -| `updated_asc` **{warning-solid}** | **Deprecated:** Use UPDATED_ASC. Deprecated in 13.5 | -| `updated_desc` **{warning-solid}** | **Deprecated:** Use UPDATED_DESC. Deprecated in 13.5 | +| `created_asc` **{warning-solid}** | **Deprecated:** Use CREATED_ASC. Deprecated in 13.5. | +| `created_desc` **{warning-solid}** | **Deprecated:** Use CREATED_DESC. Deprecated in 13.5. | +| `updated_asc` **{warning-solid}** | **Deprecated:** Use UPDATED_ASC. Deprecated in 13.5. | +| `updated_desc` **{warning-solid}** | **Deprecated:** Use UPDATED_DESC. Deprecated in 13.5. | ### IssueState @@ -4066,8 +4428,41 @@ Iteration ID wildcard values. | Value | Description | | ----- | ----------- | | `ANY` | An iteration is assigned | +| `CURRENT` | Current iteration | | `NONE` | No iteration is assigned | +### JobArtifactFileType + +| Value | Description | +| ----- | ----------- | +| `ACCESSIBILITY` | | +| `API_FUZZING` | | +| `ARCHIVE` | | +| `BROWSER_PERFORMANCE` | | +| `CLUSTER_APPLICATIONS` | | +| `COBERTURA` | | +| `CODEQUALITY` | | +| `CONTAINER_SCANNING` | | +| `COVERAGE_FUZZING` | | +| `DAST` | | +| `DEPENDENCY_SCANNING` | | +| `DOTENV` | | +| `JUNIT` | | +| `LICENSE_MANAGEMENT` | | +| `LICENSE_SCANNING` | | +| `LOAD_PERFORMANCE` | | +| `LSIF` | | +| `METADATA` | | +| `METRICS` | | +| `METRICS_REFEREE` | | +| `NETWORK_REFEREE` | | +| `PERFORMANCE` | | +| `REQUIREMENTS` | | +| `SAST` | | +| `SECRET_DETECTION` | | +| `TERRAFORM` | | +| `TRACE` | | + ### ListLimitMetric List limit metric setting. @@ -4113,10 +4508,10 @@ Values for sorting merge requests. | `PRIORITY_DESC` | Priority by descending order | | `UPDATED_ASC` | Updated at ascending order | | `UPDATED_DESC` | Updated at descending order | -| `created_asc` **{warning-solid}** | **Deprecated:** Use CREATED_ASC. Deprecated in 13.5 | -| `created_desc` **{warning-solid}** | **Deprecated:** Use CREATED_DESC. Deprecated in 13.5 | -| `updated_asc` **{warning-solid}** | **Deprecated:** Use UPDATED_ASC. Deprecated in 13.5 | -| `updated_desc` **{warning-solid}** | **Deprecated:** Use UPDATED_DESC. Deprecated in 13.5 | +| `created_asc` **{warning-solid}** | **Deprecated:** Use CREATED_ASC. Deprecated in 13.5. | +| `created_desc` **{warning-solid}** | **Deprecated:** Use CREATED_DESC. Deprecated in 13.5. | +| `updated_asc` **{warning-solid}** | **Deprecated:** Use UPDATED_ASC. Deprecated in 13.5. | +| `updated_desc` **{warning-solid}** | **Deprecated:** Use UPDATED_DESC. Deprecated in 13.5. | ### MergeRequestState @@ -4208,6 +4603,17 @@ Values for sorting projects. | `SUCCESS` | | | `WAITING_FOR_RESOURCE` | | +### ProjectMemberRelation + +Project member relation. + +| Value | Description | +| ----- | ----------- | +| `DESCENDANTS` | Descendants members | +| `DIRECT` | Direct members | +| `INHERITED` | Inherited members | +| `INVITED_GROUPS` | Invited Groups members | + ### RegistryState State of a Geo registry. @@ -4310,6 +4716,7 @@ State of a Sentry error. | `CAMPFIRE_SERVICE` | | | `CONFLUENCE_SERVICE` | | | `CUSTOM_ISSUE_TRACKER_SERVICE` | | +| `DATADOG_SERVICE` | | | `DISCORD_SERVICE` | | | `DRONE_CI_SERVICE` | | | `EMAILS_ON_PUSH_SERVICE` | | @@ -4359,10 +4766,10 @@ Common sort values. | `CREATED_DESC` | Created at descending order | | `UPDATED_ASC` | Updated at ascending order | | `UPDATED_DESC` | Updated at descending order | -| `created_asc` **{warning-solid}** | **Deprecated:** Use CREATED_ASC. Deprecated in 13.5 | -| `created_desc` **{warning-solid}** | **Deprecated:** Use CREATED_DESC. Deprecated in 13.5 | -| `updated_asc` **{warning-solid}** | **Deprecated:** Use UPDATED_ASC. Deprecated in 13.5 | -| `updated_desc` **{warning-solid}** | **Deprecated:** Use UPDATED_DESC. Deprecated in 13.5 | +| `created_asc` **{warning-solid}** | **Deprecated:** Use CREATED_ASC. Deprecated in 13.5. | +| `created_desc` **{warning-solid}** | **Deprecated:** Use CREATED_DESC. Deprecated in 13.5. | +| `updated_asc` **{warning-solid}** | **Deprecated:** Use UPDATED_ASC. Deprecated in 13.5. | +| `updated_desc` **{warning-solid}** | **Deprecated:** Use UPDATED_DESC. Deprecated in 13.5. | ### TestReportState @@ -4436,6 +4843,22 @@ Possible states of a user. | `private` | | | `public` | | +### VulnerabilityExternalIssueLinkExternalTracker + +The external tracker of the external issue link related to a vulnerability. + +| Value | Description | +| ----- | ----------- | +| `JIRA` | Jira external tracker | + +### VulnerabilityExternalIssueLinkType + +The type of the external issue link related to a vulnerability. + +| Value | Description | +| ----- | ----------- | +| `CREATED` | Created link type | + ### VulnerabilityGrade The grade of the vulnerable project. diff --git a/doc/api/graphql/sample_issue_boards.md b/doc/api/graphql/sample_issue_boards.md index 27fd1f48aec..bddf1ea9a7e 100644 --- a/doc/api/graphql/sample_issue_boards.md +++ b/doc/api/graphql/sample_issue_boards.md @@ -1,7 +1,7 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Identify issue boards with GraphQL diff --git a/doc/api/group_activity_analytics.md b/doc/api/group_activity_analytics.md index ea2527e6c4a..003c96b65fa 100644 --- a/doc/api/group_activity_analytics.md +++ b/doc/api/group_activity_analytics.md @@ -1,7 +1,7 @@ --- stage: Manage group: Optimize -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Group Activity Analytics API diff --git a/doc/api/group_badges.md b/doc/api/group_badges.md index e13b9633da9..7698fa9ba5f 100644 --- a/doc/api/group_badges.md +++ b/doc/api/group_badges.md @@ -1,7 +1,7 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Group badges API @@ -10,15 +10,15 @@ info: To determine the technical writer assigned to the Stage/Group associated w ## Placeholder tokens -Badges support placeholders that will be replaced in real time in both the link and image URL. The allowed placeholders are: +Badges support placeholders that are replaced in real time in both the link and image URL. The allowed placeholders are: -- **%{project_path}**: will be replaced by the project path. -- **%{project_id}**: will be replaced by the project ID. -- **%{default_branch}**: will be replaced by the project default branch. -- **%{commit_sha}**: will be replaced by the last project's commit SHA. +- **%{project_path}**: replaced by the project path. +- **%{project_id}**: replaced by the project ID. +- **%{default_branch}**: replaced by the project default branch. +- **%{commit_sha}**: replaced by the last project's commit SHA. -Because these endpoints aren't inside a project's context, the information used to replace the placeholders will be -from the first group's project by creation date. If the group hasn't got any project the original URL with the placeholders will be returned. +Because these endpoints aren't inside a project's context, the information used to replace the placeholders comes +from the first group's project by creation date. If the group hasn't got any project the original URL with the placeholders is returned. ## List all badges of a group diff --git a/doc/api/group_boards.md b/doc/api/group_boards.md index 6158400f882..f982dad7962 100644 --- a/doc/api/group_boards.md +++ b/doc/api/group_boards.md @@ -1,7 +1,7 @@ --- stage: Plan group: Project Management -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Group Issue Boards API @@ -9,7 +9,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w Every API call to group boards must be authenticated. If a user is not a member of a group and the group is private, a `GET` -request will result in `404` status code. +request results in `404` status code. ## List all group issue boards in a group @@ -76,7 +76,7 @@ Example response: ] ``` -Users on GitLab [Premium, Silver, or higher](https://about.gitlab.com/pricing/) will see +Users on GitLab [Premium, Silver, or higher](https://about.gitlab.com/pricing/) see different parameters, due to the ability to have multiple group boards. Example response: @@ -192,8 +192,8 @@ Example response: } ``` -Users on GitLab [Premium, Silver, or higher](https://about.gitlab.com/pricing/) will see -different parameters, due to the ability to have multiple group issue boards.s +Users on GitLab [Premium, Silver, or higher](https://about.gitlab.com/pricing/) see +different parameters, due to the ability to have multiple group issue boards. Example response: diff --git a/doc/api/group_clusters.md b/doc/api/group_clusters.md index 27b76d1f0c0..f169c1829be 100644 --- a/doc/api/group_clusters.md +++ b/doc/api/group_clusters.md @@ -1,13 +1,18 @@ --- stage: Configure group: Configure -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Group clusters API > [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/30213) in GitLab 12.1. +Similar to [project-level](../user/project/clusters/index.md) and +[instance-level](../user/instance/clusters/index.md) Kubernetes clusters, +group-level Kubernetes clusters allow you to connect a Kubernetes cluster to +your group, enabling you to use the same cluster across multiple projects. + Users need at least [Maintainer](../user/permissions.md) access for the group to use these endpoints. ## List group clusters @@ -20,9 +25,9 @@ GET /groups/:id/clusters Parameters: -| Attribute | Type | Required | Description | -| --------- | ---- | -------- | ----------- | -| `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) | +| Attribute | Type | Required | Description | +| --------- | -------------- | -------- | ----------------------------------------------------------------------------- | +| `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) | Example request: @@ -39,6 +44,8 @@ Example response: "name":"cluster-1", "domain":"example.com", "created_at":"2019-01-02T20:18:12.563Z", + "managed": true, + "enabled": true, "provider_type":"user", "platform_type":"kubernetes", "environment_scope":"*", @@ -87,10 +94,10 @@ GET /groups/:id/clusters/:cluster_id Parameters: -| Attribute | Type | Required | Description | -| --------- | ---- | -------- | ----------- | -| `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) | -| `cluster_id` | integer | yes | The ID of the cluster | +| Attribute | Type | Required | Description | +| ------------ | -------------- | -------- | ----------------------------------------------------------------------------- | +| `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) | +| `cluster_id` | integer | yes | The ID of the cluster | Example request: @@ -106,6 +113,8 @@ Example response: "name":"cluster-1", "domain":"example.com", "created_at":"2019-01-02T20:18:12.563Z", + "managed": true, + "enabled": true, "provider_type":"user", "platform_type":"kubernetes", "environment_scope":"*", @@ -154,19 +163,19 @@ POST /groups/:id/clusters/user Parameters: -| Attribute | Type | Required | Description | -| --------- | ---- | -------- | ----------- | -| `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) | -| `name` | string | yes | The name of the cluster | -| `domain` | string | no | The [base domain](../user/group/clusters/index.md#base-domain) of the cluster | -| `management_project_id` | integer | no | The ID of the [management project](../user/clusters/management_project.md) for the cluster | -| `enabled` | boolean | no | Determines if cluster is active or not, defaults to true | -| `managed` | boolean | no | Determines if GitLab will manage namespaces and service accounts for this cluster, defaults to true | -| `platform_kubernetes_attributes[api_url]` | string | yes | The URL to access the Kubernetes API | -| `platform_kubernetes_attributes[token]` | string | yes | The token to authenticate against Kubernetes | -| `platform_kubernetes_attributes[ca_cert]` | string | no | TLS certificate. Required if API is using a self-signed TLS certificate. | -| `platform_kubernetes_attributes[authorization_type]` | string | no | The cluster authorization type: `rbac`, `abac` or `unknown_authorization`. Defaults to `rbac`. | -| `environment_scope` | string | no | The associated environment to the cluster. Defaults to `*` **(PREMIUM)** | +| Attribute | Type | Required | Description | +| ---------------------------------------------------- | -------------- | -------- | --------------------------------------------------------------------------------------------------- | +| `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) | +| `name` | string | yes | The name of the cluster | +| `domain` | string | no | The [base domain](../user/group/clusters/index.md#base-domain) of the cluster | +| `management_project_id` | integer | no | The ID of the [management project](../user/clusters/management_project.md) for the cluster | +| `enabled` | boolean | no | Determines if cluster is active or not, defaults to `true` | +| `managed` | boolean | no | Determines if GitLab manages namespaces and service accounts for this cluster. Defaults to `true` | +| `platform_kubernetes_attributes[api_url]` | string | yes | The URL to access the Kubernetes API | +| `platform_kubernetes_attributes[token]` | string | yes | The token to authenticate against Kubernetes | +| `platform_kubernetes_attributes[ca_cert]` | string | no | TLS certificate. Required if API is using a self-signed TLS certificate. | +| `platform_kubernetes_attributes[authorization_type]` | string | no | The cluster authorization type: `rbac`, `abac` or `unknown_authorization`. Defaults to `rbac`. | +| `environment_scope` | string | no | The associated environment to the cluster. Defaults to `*` **(PREMIUM)** | Example request: @@ -184,6 +193,8 @@ Example response: "id":24, "name":"cluster-5", "created_at":"2019-01-03T21:53:40.610Z", + "managed": true, + "enabled": true, "provider_type":"user", "platform_type":"kubernetes", "environment_scope":"*", @@ -223,19 +234,21 @@ PUT /groups/:id/clusters/:cluster_id Parameters: -| Attribute | Type | Required | Description | -| --------- | ---- | -------- | ----------- | -| `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) | -| `cluster_id` | integer | yes | The ID of the cluster | -| `name` | string | no | The name of the cluster | -| `domain` | string | no | The [base domain](../user/group/clusters/index.md#base-domain) of the cluster | -| `management_project_id` | integer | no | The ID of the [management project](../user/clusters/management_project.md) for the cluster | -| `platform_kubernetes_attributes[api_url]` | string | no | The URL to access the Kubernetes API | -| `platform_kubernetes_attributes[token]` | string | no | The token to authenticate against Kubernetes | -| `platform_kubernetes_attributes[ca_cert]` | string | no | TLS certificate. Required if API is using a self-signed TLS certificate. | -| `environment_scope` | string | no | The associated environment to the cluster **(PREMIUM)** | - -NOTE: **Note:** +| Attribute | Type | Required | Description | +| ----------------------------------------- | -------------- | -------- | ------------------------------------------------------------------------------------------ | +| `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) | +| `cluster_id` | integer | yes | The ID of the cluster | +| `name` | string | no | The name of the cluster | +| `domain` | string | no | The [base domain](../user/group/clusters/index.md#base-domain) of the cluster | +| `management_project_id` | integer | no | The ID of the [management project](../user/clusters/management_project.md) for the cluster | +| `enabled` | boolean | no | Determines if cluster is active or not | +| `managed` | boolean | no | Determines if GitLab manages namespaces and service accounts for this cluster | +| `platform_kubernetes_attributes[api_url]` | string | no | The URL to access the Kubernetes API | +| `platform_kubernetes_attributes[token]` | string | no | The token to authenticate against Kubernetes | +| `platform_kubernetes_attributes[ca_cert]` | string | no | TLS certificate. Required if API is using a self-signed TLS certificate. | +| `environment_scope` | string | no | The associated environment to the cluster **(PREMIUM)** | + +NOTE: `name`, `api_url`, `ca_cert` and `token` can only be updated if the cluster was added through the ["Add existing Kubernetes cluster"](../user/project/clusters/add_remove_clusters.md#add-existing-cluster) option or through the ["Add existing cluster to group"](#add-existing-cluster-to-group) endpoint. @@ -256,6 +269,8 @@ Example response: "name":"new-cluster-name", "domain":"new-domain.com", "created_at":"2019-01-03T21:53:40.610Z", + "managed": true, + "enabled": true, "provider_type":"user", "platform_type":"kubernetes", "environment_scope":"*", @@ -304,10 +319,10 @@ DELETE /groups/:id/clusters/:cluster_id Parameters: -| Attribute | Type | Required | Description | -| --------- | ---- | -------- | ----------- | -| `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) | -| `cluster_id` | integer | yes | The ID of the cluster | +| Attribute | Type | Required | Description | +| ------------ | -------------- | -------- | ----------------------------------------------------------------------------- | +| `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) | +| `cluster_id` | integer | yes | The ID of the cluster | Example request: diff --git a/doc/api/group_import_export.md b/doc/api/group_import_export.md index 5677cb51c37..bf8c889b031 100644 --- a/doc/api/group_import_export.md +++ b/doc/api/group_import_export.md @@ -1,7 +1,7 @@ --- stage: Manage group: Import -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Group Import/Export API @@ -92,7 +92,7 @@ by `@`. For example: curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --form "name=imported-group" --form "path=imported-group" --form "file=@/path/to/file" "https://gitlab.example.com/api/v4/groups/import" ``` -NOTE: **Note:** +NOTE: The maximum import file size can be set by the Administrator, default is 50MB. As an administrator, you can modify the maximum import file size. To do so, use the `max_import_size` option in the [Application settings API](settings.md#change-application-settings) or the [Admin UI](../user/admin_area/settings/account_and_limit_settings.md). diff --git a/doc/api/group_iterations.md b/doc/api/group_iterations.md index eb6a99a430e..d96f0881088 100644 --- a/doc/api/group_iterations.md +++ b/doc/api/group_iterations.md @@ -1,7 +1,7 @@ --- stage: Plan group: Project Management -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Group iterations API **(STARTER)** diff --git a/doc/api/group_labels.md b/doc/api/group_labels.md index f11a4d8ccc9..65c28e80f0a 100644 --- a/doc/api/group_labels.md +++ b/doc/api/group_labels.md @@ -1,7 +1,7 @@ --- stage: Plan group: Project Management -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Group Labels API @@ -10,7 +10,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w This API supports managing of [group labels](../user/project/labels.md#project-labels-and-group-labels). It allows to list, create, update, and delete group labels. Furthermore, users can subscribe and unsubscribe to and from group labels. -NOTE: **Note:** +NOTE: The `description_html` - was added to response JSON in [GitLab 12.7](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21413). ## List group labels @@ -175,7 +175,7 @@ Example response: } ``` -NOTE: **Note:** +NOTE: An older endpoint `PUT /groups/:id/labels` with `name` in the parameters is still available, but deprecated. ## Delete a group label @@ -195,7 +195,7 @@ DELETE /groups/:id/labels/:label_id curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/labels/bug" ``` -NOTE: **Note:** +NOTE: An older endpoint `DELETE /groups/:id/labels` with `name` in the parameters is still available, but deprecated. ## Subscribe to a group label diff --git a/doc/api/group_level_variables.md b/doc/api/group_level_variables.md index 6997ebdede4..551bd473970 100644 --- a/doc/api/group_level_variables.md +++ b/doc/api/group_level_variables.md @@ -1,7 +1,7 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Group-level Variables API diff --git a/doc/api/group_milestones.md b/doc/api/group_milestones.md index a2acf2c8fb1..2c56b2c501d 100644 --- a/doc/api/group_milestones.md +++ b/doc/api/group_milestones.md @@ -1,7 +1,7 @@ --- stage: Plan group: Project Management -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Group milestones API diff --git a/doc/api/group_wikis.md b/doc/api/group_wikis.md index c61a557fcc6..f8804d1eadc 100644 --- a/doc/api/group_wikis.md +++ b/doc/api/group_wikis.md @@ -1,7 +1,7 @@ --- stage: Create group: Knowledge -info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers" +info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments" type: reference, api --- diff --git a/doc/api/groups.md b/doc/api/groups.md index 0a584795d21..b4d36b568b8 100644 --- a/doc/api/groups.md +++ b/doc/api/groups.md @@ -1,7 +1,7 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Groups API @@ -338,8 +338,8 @@ Example response: ] ``` -NOTE: **Note:** -To distinguish between a project in the group and a project shared to the group, the `namespace` attribute can be used. When a project has been shared to the group, its `namespace` will be different from the group the request is being made for. +NOTE: +To distinguish between a project in the group and a project shared to the group, the `namespace` attribute can be used. When a project has been shared to the group, its `namespace` differs from the group the request is being made for. ## List a group's shared projects @@ -479,7 +479,7 @@ Example response: ## Details of a group Get all details of a group. This endpoint can be accessed without authentication -if the group is publicly accessible. In case the user that requests is admin of the group, it will return the `runners_token` for the group too. +if the group is publicly accessible. In case the user that requests is admin of the group, it returns the `runners_token` for the group too. ```plaintext GET /groups/:id @@ -491,10 +491,10 @@ Parameters: | ------------------------ | -------------- | -------- | ----------- | | `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) owned by the authenticated user. | | `with_custom_attributes` | boolean | no | Include [custom attributes](custom_attributes.md) in response (admins only). | -| `with_projects` | boolean | no | Include details from projects that belong to the specified group (defaults to `true`). (Deprecated, [will be removed in API v5](https://gitlab.com/gitlab-org/gitlab/-/issues/213797). To get the details of all projects within a group, use the [list a group's projects endpoint](#list-a-groups-projects).) | +| `with_projects` | boolean | no | Include details from projects that belong to the specified group (defaults to `true`). (Deprecated, [scheduled for removal in API v5](https://gitlab.com/gitlab-org/gitlab/-/issues/213797). To get the details of all projects within a group, use the [list a group's projects endpoint](#list-a-groups-projects).) | -NOTE: **Note:** -The `projects` and `shared_projects` attributes in the response are deprecated and will be [removed in API v5](https://gitlab.com/gitlab-org/gitlab/-/issues/213797). +NOTE: +The `projects` and `shared_projects` attributes in the response are deprecated and [scheduled for removal in API v5](https://gitlab.com/gitlab-org/gitlab/-/issues/213797). To get the details of all projects within a group, use either the [list a group's projects](#list-a-groups-projects) or the [list a group's shared projects](#list-a-groups-shared-projects) endpoint. ```shell @@ -670,7 +670,7 @@ Example response: } ``` -Users on GitLab [Starter, Bronze, or higher](https://about.gitlab.com/pricing/) will also see +Users on GitLab [Starter, Bronze, or higher](https://about.gitlab.com/pricing/) also see the `shared_runners_minutes_limit` and `extra_shared_runners_minutes_limit` parameters: Additional response parameters: @@ -685,7 +685,7 @@ Additional response parameters: } ``` -Users on GitLab [Silver, Premium, or higher](https://about.gitlab.com/pricing/) will also see +Users on GitLab [Silver, Premium, or higher](https://about.gitlab.com/pricing/) also see the `marked_for_deletion_on` attribute: ```json @@ -697,7 +697,7 @@ the `marked_for_deletion_on` attribute: } ``` -When adding the parameter `with_projects=false`, projects will not be returned. +When adding the parameter `with_projects=false`, projects aren't returned. ```shell curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/4?with_projects=false" @@ -790,7 +790,7 @@ The `shared_runners_setting` attribute determines whether shared runners are ena ## New Subgroup -This is similar to creating a [New group](#new-group). You'll need the `parent_id` from the [List groups](#list-groups) call. You can then enter the desired: +This is similar to creating a [New group](#new-group). You need the `parent_id` from the [List groups](#list-groups) call. You can then enter the desired: - `subgroup_path` - `subgroup_name` @@ -853,8 +853,8 @@ PUT /groups/:id | `extra_shared_runners_minutes_limit` | integer | no | **(STARTER ONLY)** Extra pipeline minutes quota for this group (purchased in addition to the minutes included in the plan). | | `prevent_forking_outside_group` | boolean | no | **(PREMIUM)** When enabled, users can **not** fork projects from this group to external namespaces -NOTE: **Note:** -The `projects` and `shared_projects` attributes in the response are deprecated and will be [removed in API v5](https://gitlab.com/gitlab-org/gitlab/-/issues/213797). +NOTE: +The `projects` and `shared_projects` attributes in the response are deprecated and [scheduled for removal in API v5](https://gitlab.com/gitlab-org/gitlab/-/issues/213797). To get the details of all projects within a group, use either the [list a group's projects](#list-a-groups-projects) or the [list a group's shared projects](#list-a-groups-shared-projects) endpoint. ```shell @@ -948,7 +948,7 @@ Only available to group owners and administrators. This endpoint either: - Removes group, and queues a background job to delete all projects in the group as well. -- Since [GitLab 12.8](https://gitlab.com/gitlab-org/gitlab/-/issues/33257), on [Premium or Silver](https://about.gitlab.com/pricing/) or higher tiers, marks a group for deletion. The deletion will happen 7 days later by default, but this can be changed in the [instance settings](../user/admin_area/settings/visibility_and_access_controls.md#default-deletion-delay). +- Since [GitLab 12.8](https://gitlab.com/gitlab-org/gitlab/-/issues/33257), on [Premium or Silver](https://about.gitlab.com/pricing/) or higher tiers, marks a group for deletion. The deletion happens 7 days later by default, but this can be changed in the [instance settings](../user/admin_area/settings/visibility_and_access_controls.md#default-deletion-delay). ```plaintext DELETE /groups/:id @@ -960,7 +960,7 @@ Parameters: | --------------- | -------------- | -------- | ----------- | | `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) | -The response will be `202 Accepted` if the user has authorization. +The response is `202 Accepted` if the user has authorization. ## Restore group marked for deletion **(PREMIUM)** @@ -1074,7 +1074,7 @@ POST /groups/:id/hooks | `deployment_events` | boolean | no | Trigger hook on deployment events | | `releases_events` | boolean | no | Trigger hook on release events | | `enable_ssl_verification` | boolean | no | Do SSL verification when triggering the hook | -| `token` | string | no | Secret token to validate received payloads; this will not be returned in the response | +| `token` | string | no | Secret token to validate received payloads; not returned in the response | ### Edit group hook @@ -1102,7 +1102,7 @@ PUT /groups/:id/hooks/:hook_id | `deployment_events` | boolean | no | Trigger hook on deployment events | | `releases_events` | boolean | no | Trigger hook on release events | | `enable_ssl_verification` | boolean | no | Do SSL verification when triggering the hook | -| `token` | string | no | Secret token to validate received payloads; this will not be returned in the response | +| `token` | string | no | Secret token to validate received payloads; not returned in the response | ### Delete group hook @@ -1170,12 +1170,12 @@ POST /groups/:id/ldap_group_links | `group_access` | integer | yes | Minimum [access level](members.md#valid-access-levels) for members of the LDAP group | | `provider` | string | yes | LDAP provider for the LDAP group link | -NOTE: **Note:** +NOTE: To define the LDAP group link, provide either a `cn` or a `filter`, but not both. ### Delete LDAP group link **(STARTER ONLY)** -Deletes an LDAP group link. Deprecated. Will be removed in a future release. +Deletes an LDAP group link. Deprecated. Scheduled for removal in a future release. ```plaintext DELETE /groups/:id/ldap_group_links/:cn @@ -1186,7 +1186,7 @@ DELETE /groups/:id/ldap_group_links/:cn | `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) | | `cn` | string | yes | The CN of an LDAP group | -Deletes an LDAP group link for a specific LDAP provider. Deprecated. Will be removed in a future release. +Deletes an LDAP group link for a specific LDAP provider. Deprecated. Scheduled for removal in a future release. ```plaintext DELETE /groups/:id/ldap_group_links/:provider/:cn @@ -1213,7 +1213,7 @@ DELETE /groups/:id/ldap_group_links | `filter` | string | no | The LDAP filter for the group | | `provider` | string | yes | LDAP provider for the LDAP group link | -NOTE: **Note:** +NOTE: To delete the LDAP group link, provide either a `cn` or a `filter`, but not both. ## Namespaces in groups @@ -1306,7 +1306,7 @@ GET /groups/:id/push_rule } ``` -Users on GitLab [Premium, Silver, or higher](https://about.gitlab.com/pricing/) will also see +Users on GitLab [Premium, Silver, or higher](https://about.gitlab.com/pricing/) also see the `commit_committer_check` and `reject_unsigned_commits` parameters: ```json @@ -1334,15 +1334,15 @@ POST /groups/:id/push_rule | `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) | | `deny_delete_tag` **(STARTER)** | boolean | no | Deny deleting a tag | | `member_check` **(STARTER)** | boolean | no | Allows only GitLab users to author commits | -| `prevent_secrets` **(STARTER)** | boolean | no | [Files that are likely to contain secrets](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/lib/gitlab/checks/files_denylist.yml) will be rejected | +| `prevent_secrets` **(STARTER)** | boolean | no | [Files that are likely to contain secrets](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/lib/gitlab/checks/files_denylist.yml) are rejected | | `commit_message_regex` **(STARTER)** | string | no | All commit messages must match the regular expression provided in this attribute, e.g. `Fixed \d+\..*` | -| `commit_message_negative_regex` **(STARTER)** | string | no | Commit messages matching the regular expression provided in this attribute will not be allowed, e.g. `ssh\:\/\/` | +| `commit_message_negative_regex` **(STARTER)** | string | no | Commit messages matching the regular expression provided in this attribute aren't allowed, e.g. `ssh\:\/\/` | | `branch_name_regex` **(STARTER)** | string | no | All branch names must match the regular expression provided in this attribute, e.g. `(feature|hotfix)\/*` | | `author_email_regex` **(STARTER)** | string | no | All commit author emails must match the regular expression provided in this attribute, e.g. `@my-company.com$` | -| `file_name_regex` **(STARTER)** | string | no | Filenames matching the regular expression provided in this attribute will **not** be allowed, e.g. `(jar|exe)$` | +| `file_name_regex` **(STARTER)** | string | no | Filenames matching the regular expression provided in this attribute are **not** allowed, e.g. `(jar|exe)$` | | `max_file_size` **(STARTER)** | integer | no | Maximum file size (MB) allowed | -| `commit_committer_check` **(PREMIUM)** | boolean | no | Only commits pushed using verified emails will be allowed | -| `reject_unsigned_commits` **(PREMIUM)** | boolean | no | Only commits signed through GPG will be allowed | +| `commit_committer_check` **(PREMIUM)** | boolean | no | Only commits pushed using verified emails are allowed | +| `reject_unsigned_commits` **(PREMIUM)** | boolean | no | Only commits signed through GPG are allowed | ```shell curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/19/push_rule" @@ -1381,15 +1381,15 @@ PUT /groups/:id/push_rule | `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) | | `deny_delete_tag` **(STARTER)** | boolean | no | Deny deleting a tag | | `member_check` **(STARTER)** | boolean | no | Restricts commits to be authored by existing GitLab users only | -| `prevent_secrets` **(STARTER)** | boolean | no | [Files that are likely to contain secrets](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/lib/gitlab/checks/files_denylist.yml) will be rejected | +| `prevent_secrets` **(STARTER)** | boolean | no | [Files that are likely to contain secrets](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/lib/gitlab/checks/files_denylist.yml) are rejected | | `commit_message_regex` **(STARTER)** | string | no | All commit messages must match the regular expression provided in this attribute, e.g. `Fixed \d+\..*` | -| `commit_message_negative_regex` **(STARTER)** | string | no | Commit messages matching the regular expression provided in this attribute will not be allowed, e.g. `ssh\:\/\/` | +| `commit_message_negative_regex` **(STARTER)** | string | no | Commit messages matching the regular expression provided in this attribute aren't allowed, e.g. `ssh\:\/\/` | | `branch_name_regex` **(STARTER)** | string | no | All branch names must match the regular expression provided in this attribute, e.g. `(feature|hotfix)\/*` | | `author_email_regex` **(STARTER)** | string | no | All commit author emails must match the regular expression provided in this attribute, e.g. `@my-company.com$` | -| `file_name_regex` **(STARTER)** | string | no | Filenames matching the regular expression provided in this attribute will **not** be allowed, e.g. `(jar|exe)$` | +| `file_name_regex` **(STARTER)** | string | no | Filenames matching the regular expression provided in this attribute are **not** allowed, e.g. `(jar|exe)$` | | `max_file_size` **(STARTER)** | integer | no | Maximum file size (MB) allowed | -| `commit_committer_check` **(PREMIUM)** | boolean | no | Only commits pushed using verified emails will be allowed | -| `reject_unsigned_commits` **(PREMIUM)** | boolean | no | Only commits signed through GPG will be allowed | +| `commit_committer_check` **(PREMIUM)** | boolean | no | Only commits pushed using verified emails are allowed | +| `reject_unsigned_commits` **(PREMIUM)** | boolean | no | Only commits signed through GPG are allowed | ```shell curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/19/push_rule" diff --git a/doc/api/import.md b/doc/api/import.md index 27f5915b206..3a1edcb732d 100644 --- a/doc/api/import.md +++ b/doc/api/import.md @@ -1,7 +1,7 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Import API @@ -50,10 +50,10 @@ Example response: Import your projects from Bitbucket Server to GitLab via the API. -NOTE: **Note:** +NOTE: The Bitbucket Project Key is only used for finding the repository in Bitbucket. You must specify a `target_namespace` if you want to import the repository to a GitLab group. -If you do not specify `target_namespace`, the project will import to your personal user namespace. +If you do not specify `target_namespace`, the project imports to your personal user namespace. ```plaintext POST /import/bitbucket_server @@ -71,7 +71,7 @@ POST /import/bitbucket_server ```shell curl --request POST \ - --url https://gitlab.example.com/api/v4/import/bitbucket_server \ + --url "https://gitlab.example.com/api/v4/import/bitbucket_server" \ --header "content-type: application/json" \ --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" \ --data '{ diff --git a/doc/api/instance_clusters.md b/doc/api/instance_clusters.md index bc4eca5abfd..d5c033563d6 100644 --- a/doc/api/instance_clusters.md +++ b/doc/api/instance_clusters.md @@ -1,17 +1,17 @@ --- stage: Configure group: Configure -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Instance clusters API > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/36001) in GitLab 13.2. -NOTE: **Note:** -User will need admin access to use these endpoints. +Instance-level Kubernetes clusters allow you to connect a Kubernetes cluster to the GitLab instance, which enables you to use the same cluster across multiple projects. [More information](../user/instance/clusters/index.md) -Use these API endpoints with your instance clusters, which enable you to use the same cluster across multiple projects. [More information](../user/instance/clusters/index.md) +NOTE: +Users need admin access to use these endpoints. ## List instance clusters @@ -35,6 +35,8 @@ Example response: "id": 9, "name": "cluster-1", "created_at": "2020-07-14T18:36:10.440Z", + "managed": true, + "enabled": true, "domain": null, "provider_type": "user", "platform_type": "kubernetes", @@ -98,9 +100,9 @@ Returns a single instance cluster. Parameters: -| Attribute | Type | Required | Description | -| --------- | ---- | -------- | ----------- | -| `cluster_id` | integer | yes | The ID of the cluster | +| Attribute | Type | Required | Description | +| ------------ | ------- | -------- | --------------------- | +| `cluster_id` | integer | yes | The ID of the cluster | ```plaintext GET /admin/clusters/:cluster_id @@ -119,6 +121,8 @@ Example response: "id": 9, "name": "cluster-1", "created_at": "2020-07-14T18:36:10.440Z", + "managed": true, + "enabled": true, "domain": null, "provider_type": "user", "platform_type": "kubernetes", @@ -153,19 +157,19 @@ POST /admin/clusters/add Parameters: -| Attribute | Type | Required | Description | -| --------- | ---- | -------- | ----------- | -| `name` | string | yes | The name of the cluster | -| `domain` | string | no | The [base domain](../user/project/clusters/index.md#base-domain) of the cluster | -| `environment_scope` | string | no | The associated environment to the cluster. Defaults to `*` | -| `management_project_id` | integer | no | The ID of the [management project](../user/clusters/management_project.md) for the cluster | -| `enabled` | boolean | no | Determines if cluster is active or not, defaults to true | -| `managed` | boolean | no | Determines if GitLab will manage namespaces and service accounts for this cluster, defaults to true | -| `platform_kubernetes_attributes[api_url]` | string | yes | The URL to access the Kubernetes API | -| `platform_kubernetes_attributes[token]` | string | yes | The token to authenticate against Kubernetes | -| `platform_kubernetes_attributes[ca_cert]` | string | no | TLS certificate. Required if API is using a self-signed TLS certificate. | -| `platform_kubernetes_attributes[namespace]` | string | no | The unique namespace related to the project | -| `platform_kubernetes_attributes[authorization_type]` | string | no | The cluster authorization type: `rbac`, `abac` or `unknown_authorization`. Defaults to `rbac`. | +| Attribute | Type | Required | Description | +| ---------------------------------------------------- | ------- | -------- | ----------------------------------------------------------------------------------------------------- | +| `name` | string | yes | The name of the cluster | +| `domain` | string | no | The [base domain](../user/project/clusters/index.md#base-domain) of the cluster | +| `environment_scope` | string | no | The associated environment to the cluster. Defaults to `*` | +| `management_project_id` | integer | no | The ID of the [management project](../user/clusters/management_project.md) for the cluster | +| `enabled` | boolean | no | Determines if cluster is active or not, defaults to `true` | +| `managed` | boolean | no | Determines if GitLab manages namespaces and service accounts for this cluster. Defaults to `true` | +| `platform_kubernetes_attributes[api_url]` | string | yes | The URL to access the Kubernetes API | +| `platform_kubernetes_attributes[token]` | string | yes | The token to authenticate against Kubernetes | +| `platform_kubernetes_attributes[ca_cert]` | string | no | TLS certificate. Required if API is using a self-signed TLS certificate. | +| `platform_kubernetes_attributes[namespace]` | string | no | The unique namespace related to the project | +| `platform_kubernetes_attributes[authorization_type]` | string | no | The cluster authorization type: `rbac`, `abac` or `unknown_authorization`. Defaults to `rbac`. | Example request: @@ -184,6 +188,8 @@ Example response: "id": 11, "name": "cluster-3", "created_at": "2020-07-14T18:42:50.805Z", + "managed": true, + "enabled": true, "domain": null, "provider_type": "user", "platform_type": "kubernetes", @@ -218,20 +224,21 @@ PUT /admin/clusters/:cluster_id Parameters: -| Attribute | Type | Required | Description | -| --------- | ---- | -------- | ----------- | -| `cluster_id` | integer | yes | The ID of the cluster | -| `name` | string | no | The name of the cluster | -| `domain` | string | no | The [base domain](../user/project/clusters/index.md#base-domain) of the cluster | -| `environment_scope` | string | no | The associated environment to the cluster | -| `management_project_id` | integer | no | The ID of the [management project](../user/clusters/management_project.md) for the cluster | -| `enabled` | boolean | no | Determines if cluster is active or not, defaults to true | -| `platform_kubernetes_attributes[api_url]` | string | no | The URL to access the Kubernetes API | -| `platform_kubernetes_attributes[token]` | string | no | The token to authenticate against Kubernetes | -| `platform_kubernetes_attributes[ca_cert]` | string | no | TLS certificate. Required if API is using a self-signed TLS certificate. | -| `platform_kubernetes_attributes[namespace]` | string | no | The unique namespace related to the project | - -NOTE: **Note:** +| Attribute | Type | Required | Description | +| ------------------------------------------- | ------- | -------- | ------------------------------------------------------------------------------------------ | +| `cluster_id` | integer | yes | The ID of the cluster | +| `name` | string | no | The name of the cluster | +| `domain` | string | no | The [base domain](../user/project/clusters/index.md#base-domain) of the cluster | +| `environment_scope` | string | no | The associated environment to the cluster | +| `management_project_id` | integer | no | The ID of the [management project](../user/clusters/management_project.md) for the cluster | +| `enabled` | boolean | no | Determines if cluster is active or not | +| `managed` | boolean | no | Determines if GitLab manages namespaces and service accounts for this cluster | +| `platform_kubernetes_attributes[api_url]` | string | no | The URL to access the Kubernetes API | +| `platform_kubernetes_attributes[token]` | string | no | The token to authenticate against Kubernetes | +| `platform_kubernetes_attributes[ca_cert]` | string | no | TLS certificate. Required if API is using a self-signed TLS certificate. | +| `platform_kubernetes_attributes[namespace]` | string | no | The unique namespace related to the project | + +NOTE: `name`, `api_url`, `ca_cert` and `token` can only be updated if the cluster was added through the [Add existing Kubernetes cluster](../user/project/clusters/add_remove_clusters.md#add-existing-cluster) option or through the [Add existing instance cluster](#add-existing-instance-cluster) endpoint. @@ -252,6 +259,8 @@ Example response: "id": 9, "name": "update-cluster-name", "created_at": "2020-07-14T18:36:10.440Z", + "managed": true, + "enabled": true, "domain": null, "provider_type": "user", "platform_type": "kubernetes", @@ -288,9 +297,9 @@ DELETE /admin/clusters/:cluster_id Parameters: -| Attribute | Type | Required | Description | -| --------- | ---- | -------- | ----------- | -| `cluster_id` | integer | yes | The ID of the cluster | +| Attribute | Type | Required | Description | +| ------------ | ------- | -------- | --------------------- | +| `cluster_id` | integer | yes | The ID of the cluster | Example request: diff --git a/doc/api/instance_level_ci_variables.md b/doc/api/instance_level_ci_variables.md index e8550d41c44..58e69e22a15 100644 --- a/doc/api/instance_level_ci_variables.md +++ b/doc/api/instance_level_ci_variables.md @@ -1,7 +1,7 @@ --- stage: Verify group: Continuous Integration -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Instance-level CI/CD variables API diff --git a/doc/api/invitations.md b/doc/api/invitations.md index 00dc4252380..0891a343cce 100644 --- a/doc/api/invitations.md +++ b/doc/api/invitations.md @@ -1,7 +1,7 @@ --- stage: Growth group: Expansion -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Invitations API @@ -15,15 +15,16 @@ To send an invitation, you must have access to the project or group you are send levels are defined in the `Gitlab::Access` module. Currently, these levels are valid: - No access (`0`) +- Minimal access (`5`) ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/220203) in GitLab 13.5.) - Guest (`10`) - Reporter (`20`) - Developer (`30`) - Maintainer (`40`) - Owner (`50`) - Only valid to set for groups -CAUTION: **Caution:** +WARNING: Due to [an issue](https://gitlab.com/gitlab-org/gitlab/-/issues/219299), -projects in personal namespaces will not show owner (`50`) permission. +projects in personal namespaces don't show owner (`50`) permission. ## Invite by email to group or project diff --git a/doc/api/issue_links.md b/doc/api/issue_links.md index 41e2dd7c147..b94207f8e16 100644 --- a/doc/api/issue_links.md +++ b/doc/api/issue_links.md @@ -1,7 +1,7 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Issue links API **(CORE)** @@ -12,7 +12,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w Get a list of a given issue's [related issues](../user/project/issues/related_issues.md), sorted by the relationship creation datetime (ascending). -Issues will be filtered according to the user authorizations. +Issues are filtered according to the user authorizations. ```plaintext GET /projects/:id/issues/:issue_iid/links @@ -57,7 +57,9 @@ Parameters: "web_url": "http://example.com/example/example/issues/14", "confidential": false, "weight": null, - "link_type": "relates_to" + "link_type": "relates_to", + "link_created_at": "2016-01-07T12:44:33.959Z", + "link_updated_at": "2016-01-07T12:44:33.959Z" } ] ``` diff --git a/doc/api/issues.md b/doc/api/issues.md index ad5990f4a37..f6bab9ce676 100644 --- a/doc/api/issues.md +++ b/doc/api/issues.md @@ -1,7 +1,7 @@ --- stage: Plan group: Project Management -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Issues API @@ -16,11 +16,11 @@ are paginated. Read more on [pagination](README.md#pagination). -DANGER: **Deprecated:** +WARNING: The `reference` attribute in responses is deprecated in favor of `references`. Introduced in [GitLab 12.6](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20354). -NOTE: **Note:** +NOTE: The `references.relative` attribute is relative to the group or project of the issue being requested. When an issue is fetched from its project, the `relative` format is the same as the `short` format, and when requested across groups or projects it's expected to be the same as the `full` format. @@ -197,11 +197,11 @@ the `health_status` parameter: ] ``` -DANGER: **Deprecated:** +WARNING: The `assignee` column is deprecated. We now show it as a single-sized array `assignees` to conform to the GitLab EE API. -NOTE: **Note:** +NOTE: The `closed_by` attribute was [introduced in GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042). This value is only present for issues closed after GitLab 10.6 and if the user account that closed the issue still exists. @@ -375,10 +375,10 @@ the `health_status` parameter: ] ``` -DANGER: **Deprecated:** +WARNING: The `assignee` column is deprecated. We now show it as a single-sized array `assignees` to conform to the GitLab EE API. -NOTE: **Note:** +NOTE: The `closed_by` attribute was [introduced in GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042). This value is only present for issues closed after GitLab 10.6 and if the user account that closed the issue still exists. @@ -558,10 +558,10 @@ the `health_status` parameter: ] ``` -DANGER: **Deprecated:** +WARNING: The `assignee` column is deprecated. We now show it as a single-sized array `assignees` to conform to the GitLab EE API. -NOTE: **Note:** +NOTE: The `closed_by` attribute was [introduced in GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042). This value is only present for issues closed after GitLab 10.6 and if the user account that closed the issue still exists. @@ -678,6 +678,7 @@ Example response: }, "subscribed": true, "moved_to_id": null, + "service_desk_reply_to": "service.desk@gitlab.com", "epic_iid": null, "epic": null } @@ -715,15 +716,15 @@ the `epic` property: } ``` -DANGER: **Deprecated:** +WARNING: The `assignee` column is deprecated. We now show it as a single-sized array `assignees` to conform to the GitLab EE API. -DANGER: **Deprecated:** +WARNING: The `epic_iid` attribute is deprecated, and [will be removed in version 5](https://gitlab.com/gitlab-org/gitlab/-/issues/35157). Please use `iid` of the `epic` attribute instead. -NOTE: **Note:** +NOTE: The `closed_by` attribute was [introduced in GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042). This value is only present for issues closed after GitLab 10.6 and if the user account that closed the issue still exists. @@ -877,14 +878,14 @@ property: ] ``` -DANGER: **Deprecated:** +WARNING: The `assignee` column is deprecated. We now show it as a single-sized array `assignees` to conform to the GitLab EE API. -DANGER: **Deprecated:** +WARNING: The `epic_iid` attribute is deprecated and [will be removed in version 5](https://gitlab.com/gitlab-org/gitlab/-/issues/35157). Please use `iid` of the `epic` attribute instead. -NOTE: **Note:** +NOTE: The `closed_by` attribute was [introduced in GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042). This value is only present for issues closed after GitLab 10.6 and if the user account that closed the issue still exists. @@ -1005,10 +1006,10 @@ the `health_status` parameter: ] ``` -DANGER: **Deprecated:** +WARNING: The `assignee` column is deprecated. We now show it as a single-sized array `assignees` to conform to the GitLab EE API. -NOTE: **Note:** +NOTE: The `closed_by` attribute was [introduced in GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042). This value is only present for issues closed after GitLab 10.6 and if the user account that closed the issue still exists. @@ -1158,11 +1159,11 @@ the `health_status` parameter: ] ``` -NOTE: **Note:** +NOTE: The `closed_by` attribute was [introduced in GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042). This value is only present for issues closed after GitLab 10.6 and if the user account that closed the issue still exists. -DANGER: **Deprecated:** +WARNING: `assignee` column is deprecated. We now show it as a single-sized array `assignees` to conform to the GitLab EE API. ## Delete an issue @@ -1323,10 +1324,10 @@ the `health_status` parameter: ] ``` -DANGER: **Deprecated:** +WARNING: The `assignee` column is deprecated. We now show it as a single-sized array `assignees` to conform to the GitLab EE API. -NOTE: **Note:** +NOTE: The `closed_by` attribute was [introduced in GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042). This value is only present for issues closed after GitLab 10.6 and if the user account that closed the issue still exists. @@ -1432,10 +1433,10 @@ the `weight` parameter: } ``` -DANGER: **Deprecated:** +WARNING: The `assignee` column is deprecated. We now show it as a single-sized array `assignees` to conform to the GitLab EE API. -NOTE: **Note:** +NOTE: The `closed_by` attribute was [introduced in GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042). This value is only present for issues closed after GitLab 10.6 and if the user account that closed the issue still exists. @@ -1622,13 +1623,68 @@ Example response: } ``` -DANGER: **Deprecated:** +WARNING: The `assignee` column is deprecated. We now show it as a single-sized array `assignees` to conform to the GitLab EE API. -NOTE: **Note:** +NOTE: The `closed_by` attribute was [introduced in GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042). This value is only present for issues closed after GitLab 10.6 and if the user account that closed the issue still exists. +## Promote an issue to an epic **(PREMIUM)** + +Promotes an issue to an epic by adding a comment with the `/promote` +[quick action](../user/project/quick_actions.md). + +To learn more about promoting issues to epics, visit [Manage epics](../user/group/epics/manage_epics.md#promote-an-issue-to-an-epic). + +```plaintext +POST /projects/:id/issues/:issue_iid/notes +``` + +Supported attributes: + +| Attribute | Type | Required | Description | +| :---------- | :------------- | :------- | :---------- | +| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user | +| `issue_iid` | integer | yes | The internal ID of a project's issue | +| `body` | String | yes | The content of a note. Must contain `/promote` at the start of a new line. | + +Example request: + +```shell +curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/issues/11/notes?body=Lets%20promote%20this%20to%20an%20epic%0A%0A%2Fpromote" +``` + +Example response: + +```json +{ + "id":699, + "type":null, + "body":"Lets promote this to an epic", + "attachment":null, + "author": { + "id":1, + "name":"Alexandra Bashirian", + "username":"eileen.lowe", + "state":"active", + "avatar_url":"https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", + "web_url":"https://gitlab.example.com/eileen.lowe" + }, + "created_at":"2020-12-03T12:27:17.844Z", + "updated_at":"2020-12-03T12:27:17.844Z", + "system":false, + "noteable_id":461, + "noteable_type":"Issue", + "resolvable":false, + "confidential":false, + "noteable_iid":33, + "commands_changes": { + "promote_to_epic":true + } +} +``` + ## Set a time estimate for an issue Sets an estimated time of work for this issue. @@ -2085,3 +2141,73 @@ Example response: To track which state was set, who did it, and when it happened, check out [Resource state events API](resource_state_events.md#issues). + +## Upload metric image + +Available only for Incident issues. + +```plaintext +POST /projects/:id/issues/:issue_iid/metric_images +``` + +| Attribute | Type | Required | Description | +|-------------|---------|----------|--------------------------------------| +| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user | +| `issue_iid` | integer | yes | The internal ID of a project's issue | +| `file` | file | yes | The image file to be uploaded | +| `url` | string | no | The URL to view more metric information | + +```shell +curl --header "PRIVATE-TOKEN: <your_access_token>" --form 'file=@/path/to/file.png' \ +--form 'url=http://example.com' "https://gitlab.example.com/api/v4/projects/5/issues/93/metric_images" +``` + +Example response: + +```json +{ + "id": 23, + "created_at": "2020-11-13T00:06:18.084Z", + "filename": "file.png", + "file_path": "/uploads/-/system/issuable_metric_image/file/23/file.png", + "url": "http://example.com" +} +``` + +## List metric images + +Available only for Incident issues. + +```plaintext +GET /projects/:id/issues/:issue_iid/metric_images +``` + +| Attribute | Type | Required | Description | +|-------------|---------|----------|--------------------------------------| +| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user | +| `issue_iid` | integer | yes | The internal ID of a project's issue | + +```shell +curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/issues/93/metric_images" +``` + +Example response: + +```json +[ + { + "id": 17, + "created_at": "2020-11-12T20:07:58.156Z", + "filename": "sample_2054", + "file_path": "/uploads/-/system/issuable_metric_image/file/17/sample_2054.png", + "url": "example.com/metric" + }, + { + "id": 18, + "created_at": "2020-11-12T20:14:26.441Z", + "filename": "sample_2054", + "file_path": "/uploads/-/system/issuable_metric_image/file/18/sample_2054.png", + "url": "example.com/metric" + } +] +``` diff --git a/doc/api/issues_statistics.md b/doc/api/issues_statistics.md index 3f0b22cca4c..20f405774d5 100644 --- a/doc/api/issues_statistics.md +++ b/doc/api/issues_statistics.md @@ -1,7 +1,7 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Issues Statistics API @@ -9,7 +9,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w Every API call to issues_statistics must be authenticated. If a user is not a member of a project and the project is private, a `GET` -request on that project will result to a `404` status code. +request on that project results in a `404` status code. ## Get issues statistics @@ -40,7 +40,7 @@ GET /issues_statistics?confidential=true | `author_id` | integer | no | Return issues created by the given user `id`. Mutually exclusive with `author_username`. Combine with `scope=all` or `scope=assigned_to_me`. | | `author_username` | string | no | Return issues created by the given `username`. Similar to `author_id` and mutually exclusive with `author_id`. | | `assignee_id` | integer | no | Return issues assigned to the given user `id`. Mutually exclusive with `assignee_username`. `None` returns unassigned issues. `Any` returns issues with an assignee. | -| `assignee_username` | string array | no | Return issues assigned to the given `username`. Similar to `assignee_id` and mutually exclusive with `assignee_id`. In GitLab CE `assignee_username` array should only contain a single value or an invalid parameter error will be returned otherwise. | +| `assignee_username` | string array | no | Return issues assigned to the given `username`. Similar to `assignee_id` and mutually exclusive with `assignee_id`. In GitLab CE `assignee_username` array should only contain a single value or an invalid parameter error is returned otherwise. | | `my_reaction_emoji` | string | no | Return issues reacted by the authenticated user by the given `emoji`. `None` returns issues not given a reaction. `Any` returns issues given at least one reaction. | | `iids[]` | integer array | no | Return only the issues having the given `iid` | | `search` | string | no | Search issues against their `title` and `description` | @@ -98,7 +98,7 @@ GET /groups/:id/issues_statistics?confidential=true | `author_id` | integer | no | Return issues created by the given user `id`. Mutually exclusive with `author_username`. Combine with `scope=all` or `scope=assigned_to_me`. | | `author_username` | string | no | Return issues created by the given `username`. Similar to `author_id` and mutually exclusive with `author_id`. | | `assignee_id` | integer | no | Return issues assigned to the given user `id`. Mutually exclusive with `assignee_username`. `None` returns unassigned issues. `Any` returns issues with an assignee. | -| `assignee_username` | string array | no | Return issues assigned to the given `username`. Similar to `assignee_id` and mutually exclusive with `assignee_id`. In GitLab CE `assignee_username` array should only contain a single value or an invalid parameter error will be returned otherwise. | +| `assignee_username` | string array | no | Return issues assigned to the given `username`. Similar to `assignee_id` and mutually exclusive with `assignee_id`. In GitLab CE `assignee_username` array should only contain a single value or an invalid parameter error is returned otherwise. | | `my_reaction_emoji` | string | no | Return issues reacted by the authenticated user by the given `emoji`. `None` returns issues not given a reaction. `Any` returns issues given at least one reaction. | | `search` | string | no | Search group issues against their `title` and `description` | | `created_after` | datetime | no | Return issues created on or after the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) | @@ -154,7 +154,7 @@ GET /projects/:id/issues_statistics?confidential=true | `author_id` | integer | no | Return issues created by the given user `id`. Mutually exclusive with `author_username`. Combine with `scope=all` or `scope=assigned_to_me`. | | `author_username` | string | no | Return issues created by the given `username`. Similar to `author_id` and mutually exclusive with `author_id`. | | `assignee_id` | integer | no | Return issues assigned to the given user `id`. Mutually exclusive with `assignee_username`. `None` returns unassigned issues. `Any` returns issues with an assignee. | -| `assignee_username` | string array | no | Return issues assigned to the given `username`. Similar to `assignee_id` and mutually exclusive with `assignee_id`. In GitLab CE `assignee_username` array should only contain a single value or an invalid parameter error will be returned otherwise. | +| `assignee_username` | string array | no | Return issues assigned to the given `username`. Similar to `assignee_id` and mutually exclusive with `assignee_id`. In GitLab CE `assignee_username` array should only contain a single value or an invalid parameter error is returned otherwise. | | `my_reaction_emoji` | string | no | Return issues reacted by the authenticated user by the given `emoji`. `None` returns issues not given a reaction. `Any` returns issues given at least one reaction. | | `search` | string | no | Search project issues against their `title` and `description` | | `created_after` | datetime | no | Return issues created on or after the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) | diff --git a/doc/api/iterations.md b/doc/api/iterations.md index 9f1585eed79..1ee489e4cf1 100644 --- a/doc/api/iterations.md +++ b/doc/api/iterations.md @@ -1,7 +1,7 @@ --- stage: Plan group: Project Management -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Project iterations API **(STARTER)** diff --git a/doc/api/job_artifacts.md b/doc/api/job_artifacts.md index 54085e6f508..229b90282f0 100644 --- a/doc/api/job_artifacts.md +++ b/doc/api/job_artifacts.md @@ -1,7 +1,7 @@ --- -stage: none -group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +stage: Verify +group: Continuous Integration +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Job Artifacts API @@ -16,11 +16,11 @@ Get the job's artifacts zipped archive of a project. GET /projects/:id/jobs/:job_id/artifacts ``` -| Attribute | Type | Required | Description | -|-------------|----------------|----------|-------------------------------------------------------------------------------------------------------------------------------------------------| -| `id` | integer/string | yes | ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user. | -| `job_id` | integer | yes | ID of a job. | -| `job_token` **(PREMIUM)** | string | no | To be used with [triggers](../ci/triggers/README.md#when-a-pipeline-depends-on-the-artifacts-of-another-pipeline) for multi-project pipelines. It should be invoked only inside `.gitlab-ci.yml`. Its value is always `$CI_JOB_TOKEN`. | +| Attribute | Type | Required | Description | +|-------------|----------------|----------|--------------------------------------------------------------------------------------------------------------| +| `id` | integer/string | yes | ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user. | +| `job_id` | integer | yes | ID of a job. | +| `job_token` **(PREMIUM)** | string | no | To be used with [triggers](../ci/triggers/README.md#when-a-pipeline-depends-on-the-artifacts-of-another-pipeline) for multi-project pipelines. It should be invoked only inside `.gitlab-ci.yml`. Its value is always `$CI_JOB_TOKEN`. | Example request using the `PRIVATE-TOKEN` header: @@ -32,7 +32,7 @@ To use this in a [`script` definition](../ci/yaml/README.md#script) inside `.gitlab-ci.yml` **(PREMIUM)**, you can use either: - The `JOB-TOKEN` header with the GitLab-provided `CI_JOB_TOKEN` variable. - For example, the following job will download the artifacts of the job with ID + For example, the following job downloads the artifacts of the job with ID `42`. Note that the command is wrapped into single quotes since it contains a colon (`:`): @@ -44,7 +44,7 @@ To use this in a [`script` definition](../ci/yaml/README.md#script) inside ``` - Or the `job_token` attribute with the GitLab-provided `CI_JOB_TOKEN` variable. - For example, the following job will download the artifacts of the job with ID `42`: + For example, the following job downloads the artifacts of the job with ID `42`: ```yaml artifact_download: @@ -69,10 +69,10 @@ the given reference name and job, provided the job finished successfully. This is the same as [getting the job's artifacts](#get-job-artifacts), but by defining the job's name instead of its ID. -NOTE: **Note:** +NOTE: If a pipeline is [parent of other child pipelines](../ci/parent_child_pipelines.md), artifacts are searched in hierarchical order from parent to child. For example, if both parent and -child pipelines have a job with the same name, the artifact from the parent pipeline will be returned. +child pipelines have a job with the same name, the artifact from the parent pipeline is returned. ```plaintext GET /projects/:id/jobs/artifacts/:ref_name/download?job=name @@ -80,12 +80,12 @@ GET /projects/:id/jobs/artifacts/:ref_name/download?job=name Parameters -| Attribute | Type | Required | Description | -|-------------|----------------|----------|-------------------------------------------------------------------------------------------------------------------------------------------------| -| `id` | integer/string | yes | ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user. | -| `ref_name` | string | yes | Branch or tag name in repository. HEAD or SHA references are not supported. | -| `job` | string | yes | The name of the job. | -| `job_token` **(PREMIUM)** | string | no | To be used with [triggers](../ci/triggers/README.md#when-a-pipeline-depends-on-the-artifacts-of-another-pipeline) for multi-project pipelines. It should be invoked only inside `.gitlab-ci.yml`. Its value is always `$CI_JOB_TOKEN`. | +| Attribute | Type | Required | Description | +|-------------|----------------|----------|--------------------------------------------------------------------------------------------------------------| +| `id` | integer/string | yes | ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user. | +| `ref_name` | string | yes | Branch or tag name in repository. HEAD or SHA references are not supported. | +| `job` | string | yes | The name of the job. | +| `job_token` **(PREMIUM)** | string | no | To be used with [triggers](../ci/triggers/README.md#when-a-pipeline-depends-on-the-artifacts-of-another-pipeline) for multi-project pipelines. It should be invoked only inside `.gitlab-ci.yml`. Its value is always `$CI_JOB_TOKEN`. | Example request using the `PRIVATE-TOKEN` header: @@ -97,7 +97,7 @@ To use this in a [`script` definition](../ci/yaml/README.md#script) inside `.gitlab-ci.yml` **(PREMIUM)**, you can use either: - The `JOB-TOKEN` header with the GitLab-provided `CI_JOB_TOKEN` variable. - For example, the following job will download the artifacts of the `test` job + For example, the following job downloads the artifacts of the `test` job of the `master` branch. Note that the command is wrapped into single quotes since it contains a colon (`:`): @@ -109,7 +109,7 @@ To use this in a [`script` definition](../ci/yaml/README.md#script) inside ``` - Or the `job_token` attribute with the GitLab-provided `CI_JOB_TOKEN` variable. - For example, the following job will download the artifacts of the `test` job + For example, the following job downloads the artifacts of the `test` job of the `master` branch: ```yaml @@ -179,12 +179,12 @@ GET /projects/:id/jobs/artifacts/:ref_name/raw/*artifact_path?job=name Parameters: -| Attribute | Type | Required | Description | -|-----------------|----------------|----------|------------------------------------------------------------------------------------------------------------------| +| Attribute | Type | Required | Description | +|-----------------|----------------|----------|--------------------------------------------------------------------------------------------------------------| | `id` | integer/string | yes | ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user. | -| `ref_name` | string | yes | Branch or tag name in repository. HEAD or SHA references are not supported. | -| `artifact_path` | string | yes | Path to a file inside the artifacts archive. | -| `job` | string | yes | The name of the job. | +| `ref_name` | string | yes | Branch or tag name in repository. `HEAD` or `SHA` references are not supported. | +| `artifact_path` | string | yes | Path to a file inside the artifacts archive. | +| `job` | string | yes | The name of the job. | Example request: @@ -210,8 +210,8 @@ POST /projects/:id/jobs/:job_id/artifacts/keep Parameters -| Attribute | Type | Required | Description | -|-----------|----------------|----------|------------------------------------------------------------------------------------------------------------------| +| Attribute | Type | Required | Description | +|-----------|----------------|----------|--------------------------------------------------------------------------------------------------------------| | `id` | integer/string | yes | ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user. | | `job_id` | integer | yes | ID of a job. | @@ -264,8 +264,8 @@ Delete artifacts of a job. DELETE /projects/:id/jobs/:job_id/artifacts ``` -| Attribute | Type | Required | Description | -|-----------|----------------|----------|------------------------------------------------------------------------------------------------------------------| +| Attribute | Type | Required | Description | +|-----------|----------------|----------|-----------------------------------------------------------------------------| | `id` | integer/string | yes | ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) | | `job_id` | integer | yes | ID of a job. | @@ -275,7 +275,7 @@ Example request: curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/jobs/1/artifacts" ``` -NOTE: **Note:** +NOTE: At least Maintainer role is required to delete artifacts. If the artifacts were deleted successfully, a response with status `204 No Content` is returned. diff --git a/doc/api/jobs.md b/doc/api/jobs.md index 054260794c7..b7b742ebe66 100644 --- a/doc/api/jobs.md +++ b/doc/api/jobs.md @@ -1,7 +1,7 @@ --- stage: Verify group: Continuous Integration -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Jobs API @@ -293,7 +293,7 @@ GET /projects/:id/pipelines/:pipeline_id/bridges | `scope` | string **or** array of strings | no | Scope of jobs to show. Either one of or an array of the following: `created`, `pending`, `running`, `failed`, `success`, `canceled`, `skipped`, or `manual`. All jobs are returned if `scope` is not provided. | ```shell -curl --header "PRIVATE-TOKEN: <your_access_token>" 'https://gitlab.example.com/api/v4/projects/1/pipelines/6/bridges?scope[]=pending&scope[]=running' +curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/pipelines/6/bridges?scope[]=pending&scope[]=running" ``` Example of response diff --git a/doc/api/keys.md b/doc/api/keys.md index b9e45c23e77..dccea1f0e0a 100644 --- a/doc/api/keys.md +++ b/doc/api/keys.md @@ -1,7 +1,7 @@ --- stage: Create group: Source Code -info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers" +info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments" type: reference, api --- diff --git a/doc/api/labels.md b/doc/api/labels.md index acc80badd11..963d320a384 100644 --- a/doc/api/labels.md +++ b/doc/api/labels.md @@ -1,12 +1,12 @@ --- stage: Plan group: Project Management -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Labels API -NOTE: **Note:** +NOTE: The `description_html` - was added to response JSON in [GitLab 12.7](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21413). ## List labels @@ -200,7 +200,7 @@ DELETE /projects/:id/labels/:label_id curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/labels/bug" ``` -NOTE: **Note:** +NOTE: An older endpoint `DELETE /projects/:id/labels` with `name` in the parameters is still available, but deprecated. ## Edit an existing label @@ -244,7 +244,7 @@ Example response: } ``` -NOTE: **Note:** +NOTE: An older endpoint `PUT /projects/:id/labels` with `name` or `label_id` in the parameters is still available, but deprecated. ## Promote a project label to a group label @@ -285,7 +285,7 @@ Example response: } ``` -NOTE: **Note:** +NOTE: An older endpoint `PUT /projects/:id/labels/promote` with `name` in the parameters is still available, but deprecated. ## Subscribe to a label diff --git a/doc/api/license.md b/doc/api/license.md index 8c92a46a975..9aaf68d5b89 100644 --- a/doc/api/license.md +++ b/doc/api/license.md @@ -1,13 +1,13 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # License **(CORE ONLY)** To interact with license endpoints, you need to authenticate yourself as an -admin. +administrator. ## Retrieve information about the current license @@ -86,15 +86,15 @@ GET /licenses ] ``` -Overage is the difference between the number of active users and the licensed number of users. +Overage is the difference between the number of billable users and the licensed number of users. This is calculated differently depending on whether the license has expired or not. -- If the license has expired, it uses the historical maximum active user count (`historical_max`). -- If the license has not expired, it uses the current active users count. +- If the license has expired, it uses the historical maximum billable user count (`historical_max`). +- If the license has not expired, it uses the current billable users count. Returns: -- `200 OK` with response containing the licenses in JSON format. This will be an empty JSON array if there are no licenses. +- `200 OK` with response containing the licenses in JSON format. This is an empty JSON array if there are no licenses. - `403 Forbidden` if the current user in not permitted to read the licenses. ## Add a new license diff --git a/doc/api/license_templates.md b/doc/api/license_templates.md index 1b68af9ce31..7587721968b 100644 --- a/doc/api/license_templates.md +++ b/doc/api/license_templates.md @@ -3,3 +3,6 @@ redirect_to: 'templates/licenses.md' --- This document was moved to [another location](templates/licenses.md). + +<!-- This redirect file can be deleted after February 1, 2021. --> +<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page --> diff --git a/doc/api/lint.md b/doc/api/lint.md index 24de4a24ff1..48a7be13a28 100644 --- a/doc/api/lint.md +++ b/doc/api/lint.md @@ -1,7 +1,7 @@ --- stage: Verify group: Continuous Integration -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # CI Lint API @@ -246,7 +246,7 @@ GitLab API using `curl` and `jq` in a one-line command: ```shell jq --null-input --arg yaml "$(<example-gitlab-ci.yml)" '.content=$yaml' \ -| curl 'https://gitlab.com/api/v4/ci/lint?include_merged_yaml=true' \ +| curl "https://gitlab.com/api/v4/ci/lint?include_merged_yaml=true" \ --header 'Content-Type: application/json' \ --data @- ``` @@ -293,7 +293,7 @@ With a one-line command, you can: ```shell jq --null-input --arg yaml "$(<example-gitlab-ci.yml)" '.content=$yaml' \ -| curl 'https://gitlab.com/api/v4/ci/lint?include_merged_yaml=true' \ +| curl "https://gitlab.com/api/v4/ci/lint?include_merged_yaml=true" \ --header 'Content-Type: application/json' --data @- \ | jq --raw-output '.merged_yaml | fromjson' ``` diff --git a/doc/api/managed_licenses.md b/doc/api/managed_licenses.md index f7f6fbfbc47..d0944aefd64 100644 --- a/doc/api/managed_licenses.md +++ b/doc/api/managed_licenses.md @@ -1,7 +1,7 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Managed Licenses API **(ULTIMATE)** diff --git a/doc/api/markdown.md b/doc/api/markdown.md index e382ca6b7c8..c7908f02b6e 100644 --- a/doc/api/markdown.md +++ b/doc/api/markdown.md @@ -1,7 +1,7 @@ --- stage: Create group: Source Code -info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers" +info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments" type: reference, api --- diff --git a/doc/api/members.md b/doc/api/members.md index d616dfdd85c..05914b50cd7 100644 --- a/doc/api/members.md +++ b/doc/api/members.md @@ -1,7 +1,7 @@ --- -stage: none -group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +stage: Manage +group: Access +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Group and project members API @@ -11,15 +11,16 @@ info: To determine the technical writer assigned to the Stage/Group associated w The access levels are defined in the `Gitlab::Access` module. Currently, these levels are recognized: - No access (`0`) +- Minimal access (`5`) ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/220203) in GitLab 13.5.) - Guest (`10`) - Reporter (`20`) - Developer (`30`) - Maintainer (`40`) - Owner (`50`) - Only valid to set for groups -CAUTION: **Caution:** +WARNING: Due to [an issue](https://gitlab.com/gitlab-org/gitlab/-/issues/219299), -projects in personal namespaces will not show owner (`50`) permission +projects in personal namespaces don't show owner (`50`) permission for owner. ## Limitations @@ -89,7 +90,7 @@ Example response: Gets a list of group or project members viewable by the authenticated user, including inherited members and permissions through ancestor groups. -CAUTION: **Caution:** +WARNING: Due to [an issue](https://gitlab.com/gitlab-org/gitlab/-/issues/249523), the users effective `access_level` may actually be higher than returned value when listing group members. This function takes pagination parameters `page` and `per_page` to restrict the list of users. @@ -241,6 +242,10 @@ Unlike other API endpoints, billable members is updated once per day at 12:00 UT This function takes [pagination](README.md#pagination) parameters `page` and `per_page` to restrict the list of users. +[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/262875) in GitLab 13.7, the `search` and +`sort` parameters allow you to search for billable group members by name and sort the results, +respectively. + ```plaintext GET /groups/:id/billable_members ``` @@ -248,6 +253,21 @@ GET /groups/:id/billable_members | Attribute | Type | Required | Description | | --------- | ---- | -------- | ----------- | | `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) owned by the authenticated user | +| `search` | string | no | A query string to search for group members by name, username, or email. | +| `sort` | string | no | A query string containing parameters that specify the sort attribute and order. See supported values below.| + +The supported values for the `sort` attribute are: + +| Value | Description | +| ------------------- | ------------------------ | +| `access_level_asc` | Access level, ascending | +| `access_level_desc` | Access level, descending | +| `last_joined` | Last joined | +| `name_asc` | Name, ascending | +| `name_desc` | Name, descending | +| `oldest_joined` | Oldest joined | +| `oldest_sign_in` | Oldest sign in | +| `recent_sign_in` | Recent sign in | ```shell curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/billable_members" diff --git a/doc/api/merge_request_approvals.md b/doc/api/merge_request_approvals.md index 89e4224c735..e3ebb61768e 100644 --- a/doc/api/merge_request_approvals.md +++ b/doc/api/merge_request_approvals.md @@ -1,7 +1,7 @@ --- stage: Create group: Source Code -info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers" +info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments" type: reference, api --- @@ -173,6 +173,104 @@ GET /projects/:id/approval_rules ] ``` +### Get a single project-level rule + +> - Introduced 13.7. + +You can request information about a single project approval rules using the following endpoint: + +```plaintext +GET /projects/:id/approval_rules/:approval_rule_id +``` + +**Parameters:** + +| Attribute | Type | Required | Description | +|----------------------|---------|----------|-----------------------------------------------------------| +| `id` | integer | yes | The ID of a project | +| `approval_rule_id` | integer | yes | The ID of a approval rule | + +```json +{ + "id": 1, + "name": "security", + "rule_type": "regular", + "eligible_approvers": [ + { + "id": 5, + "name": "John Doe", + "username": "jdoe", + "state": "active", + "avatar_url": "https://www.gravatar.com/avatar/0?s=80&d=identicon", + "web_url": "http://localhost/jdoe" + }, + { + "id": 50, + "name": "Group Member 1", + "username": "group_member_1", + "state": "active", + "avatar_url": "https://www.gravatar.com/avatar/0?s=80&d=identicon", + "web_url": "http://localhost/group_member_1" + } + ], + "approvals_required": 3, + "users": [ + { + "id": 5, + "name": "John Doe", + "username": "jdoe", + "state": "active", + "avatar_url": "https://www.gravatar.com/avatar/0?s=80&d=identicon", + "web_url": "http://localhost/jdoe" + } + ], + "groups": [ + { + "id": 5, + "name": "group1", + "path": "group1", + "description": "", + "visibility": "public", + "lfs_enabled": false, + "avatar_url": null, + "web_url": "http://localhost/groups/group1", + "request_access_enabled": false, + "full_name": "group1", + "full_path": "group1", + "parent_id": null, + "ldap_cn": null, + "ldap_access": null + } + ], + "protected_branches": [ + { + "id": 1, + "name": "master", + "push_access_levels": [ + { + "access_level": 30, + "access_level_description": "Developers + Maintainers" + } + ], + "merge_access_levels": [ + { + "access_level": 30, + "access_level_description": "Developers + Maintainers" + } + ], + "unprotect_access_levels": [ + { + "access_level": 40, + "access_level_description": "Maintainers" + } + ], + "code_owner_approval_required": "false" + } + ], + "contains_hidden_groups": false +} +``` + ### Create project-level rule > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/11877) in [GitLab Starter](https://about.gitlab.com/pricing/) 12.3. @@ -401,7 +499,7 @@ DELETE /projects/:id/approval_rules/:approval_rule_id > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/183) in [GitLab Starter](https://about.gitlab.com/pricing/) 10.6. -NOTE: **Note:** +NOTE: This API endpoint has been deprecated. Please use Approval Rule API instead. If you are allowed to, you can change approvers and approver groups using @@ -552,7 +650,7 @@ POST /projects/:id/merge_requests/:merge_request_iid/approvals > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/183) in [GitLab Starter](https://about.gitlab.com/pricing/) 10.6. -NOTE: **Note:** +NOTE: This API endpoint has been deprecated. Please use Approval Rule API instead. If you are allowed to, you can change approvers and approver groups using diff --git a/doc/api/merge_request_context_commits.md b/doc/api/merge_request_context_commits.md index 9b4697390d1..3873cb00033 100644 --- a/doc/api/merge_request_context_commits.md +++ b/doc/api/merge_request_context_commits.md @@ -1,7 +1,7 @@ --- stage: Create group: Source Code -info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers" +info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments" type: reference, api --- diff --git a/doc/api/merge_requests.md b/doc/api/merge_requests.md index 44c59fd497b..d2144a2c0c5 100644 --- a/doc/api/merge_requests.md +++ b/doc/api/merge_requests.md @@ -1,7 +1,7 @@ --- stage: Create group: Source Code -info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers" +info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments" type: reference, api --- @@ -9,11 +9,11 @@ type: reference, api Every API call to merge requests must be authenticated. -CAUTION: **Deprecation:** +WARNING: > `reference` attribute in response is deprecated in favour of `references`. > Introduced [GitLab 12.6](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20354) -NOTE: **Note:** +NOTE: > `references.relative` is relative to the group / project that the merge request is being requested. When merge request is fetched from its project > `relative` format would be the same as `short` format and when requested across groups / projects it is expected to be the same as `full` format. @@ -76,14 +76,14 @@ Parameters: | `deployed_before` | datetime | no | Return merge requests deployed before the given date/time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) | | `deployed_after` | datetime | no | Return merge requests deployed after the given date/time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) | -NOTE: **Note:** +NOTE: [Starting in GitLab 13.0](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31890), listing merge requests may not proactively update the `merge_status` field (which also affects the `has_conflicts` field), as this can be an expensive operation. If you are interested in the value of these fields from this endpoint, set the `with_merge_status_recheck` parameter to `true` in the query. -NOTE: **Note:** +NOTE: [Starting in GitLab 12.8](https://gitlab.com/gitlab-org/gitlab/-/issues/29984), the mergeability (`merge_status`) of each merge request will be checked asynchronously when a request is made to this endpoint. Poll this API endpoint @@ -563,7 +563,7 @@ Parameters: - `include_diverged_commits_count` (optional) - If `true` response includes the commits behind the target branch - `include_rebase_in_progress` (optional) - If `true` response includes whether a rebase operation is in progress -NOTE: **Note:** +NOTE: [Starting in GitLab 12.8](https://gitlab.com/gitlab-org/gitlab/-/issues/29984), the mergeability (`merge_status`) of a merge request will be checked asynchronously when a request is made to this endpoint. Poll this API endpoint diff --git a/doc/api/merge_trains.md b/doc/api/merge_trains.md index 3cfef3864ad..d8c0acb3896 100644 --- a/doc/api/merge_trains.md +++ b/doc/api/merge_trains.md @@ -1,19 +1,19 @@ --- stage: Verify group: Continuous Integration -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Merge Trains API **(PREMIUM)** > - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/36146) in GitLab 12.9. -> - Using this API you can consume GitLab's [Merge Train](../ci/merge_request_pipelines/pipelines_for_merged_results/merge_trains/index.md) entries. +> - Using this API you can consume [Merge Train](../ci/merge_request_pipelines/pipelines_for_merged_results/merge_trains/index.md) entries. Every API call to merge trains must be authenticated with Developer or higher [permissions](../user/permissions.md). -If a user is not a member of a project and the project is private, a `GET` request on that project will result to a `404` status code. +If a user is not a member of a project and the project is private, a `GET` request on that project returns a `404` status code. -If Merge Trains is not available for the project, a `403` status code will return. +If Merge Trains is not available for the project, a `403` status code is returned. ## Merge Trains API pagination diff --git a/doc/api/metrics_dashboard_annotations.md b/doc/api/metrics_dashboard_annotations.md index c23ed657583..b92e26b03fb 100644 --- a/doc/api/metrics_dashboard_annotations.md +++ b/doc/api/metrics_dashboard_annotations.md @@ -1,7 +1,7 @@ --- stage: Monitor group: Health -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments type: concepts, howto --- @@ -24,7 +24,7 @@ Parameters: |:---------------|:---------------|:---------|:-----------------------------------------------------------------------------| | `dashboard_path` | string | yes | ID of the dashboard which needs to be annotated. Treated as a CGI-escaped path, and automatically un-escaped. | | `starting_at` | string | yes | Date time string, ISO 8601 formatted, such as `2016-03-11T03:45:40Z`. Timestamp marking start point of annotation. | -| `ending_at` | string | no | Date time string, ISO 8601 formatted, such as `2016-03-11T03:45:40Z`. Timestamp marking end point of annotation. When not supplied annotation will be displayed as single event at start point. | +| `ending_at` | string | no | Date time string, ISO 8601 formatted, such as `2016-03-11T03:45:40Z`. Timestamp marking end point of annotation. When not supplied, an annotation displays as a single event at the start point. | | `description` | string | yes | Description of the annotation. | ```shell diff --git a/doc/api/metrics_user_starred_dashboards.md b/doc/api/metrics_user_starred_dashboards.md index 8c2894293ba..79040333148 100644 --- a/doc/api/metrics_user_starred_dashboards.md +++ b/doc/api/metrics_user_starred_dashboards.md @@ -1,7 +1,7 @@ --- stage: Monitor group: Health -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments type: concepts, howto --- @@ -26,7 +26,7 @@ Parameters: | `dashboard_path` | string | yes | URL-encoded path to file defining the dashboard which should be marked as favorite. | ```shell -curl --header 'Private-Token: <your_access_token>' https://gitlab.example.com/api/v4/projects/20/metrics/user_starred_dashboards \ +curl --header 'Private-Token: <your_access_token>' "https://gitlab.example.com/api/v4/projects/20/metrics/user_starred_dashboards" \ --data-urlencode "dashboard_path=config/prometheus/dashboards/common_metrics.yml" ``` @@ -54,10 +54,10 @@ Parameters: | Attribute | Type | Required | Description | |:---------------|:---------------|:---------|:-----------------------------------------------------------------------------| | `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) | -| `dashboard_path` | string | no | URL-encoded path to file defining the dashboard which should no longer be marked as favorite. When not supplied all dashboards within given projects will be removed from favorites. | +| `dashboard_path` | string | no | URL-encoded path to file defining the dashboard which should no longer be marked as favorite. When not supplied, all dashboards within given projects are removed from favorites. | ```shell -curl --request DELETE --header 'Private-Token: <your_access_token>' https://gitlab.example.com/api/v4/projects/20/metrics/user_starred_dashboards \ +curl --request DELETE --header 'Private-Token: <your_access_token>' "https://gitlab.example.com/api/v4/projects/20/metrics/user_starred_dashboards" \ --data-urlencode "dashboard_path=config/prometheus/dashboards/common_metrics.yml" ``` diff --git a/doc/api/milestones.md b/doc/api/milestones.md index 161b3b81499..93b867c0286 100644 --- a/doc/api/milestones.md +++ b/doc/api/milestones.md @@ -1,7 +1,7 @@ --- stage: Plan group: Project Management -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Project milestones API diff --git a/doc/api/namespaces.md b/doc/api/namespaces.md index f61400dfddb..4e5a418be7a 100644 --- a/doc/api/namespaces.md +++ b/doc/api/namespaces.md @@ -1,7 +1,7 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Namespaces API @@ -93,12 +93,12 @@ the `plan` parameter associated with a namespace: ] ``` -Users on GitLab.com will also see `max_seats_used` and `seats_in_use` parameters. +Users on GitLab.com also see `max_seats_used` and `seats_in_use` parameters. `max_seats_used` is the highest number of users the group had. `seats_in_use` is the number of license seats currently being used. Both values are updated once a day. -`max_seats_used` and `seats_in_use` will be non-zero only for namespaces on paid plans. +`max_seats_used` and `seats_in_use` are non-zero only for namespaces on paid plans. ```json [ @@ -113,7 +113,7 @@ once a day. ] ``` -NOTE: **Note:** +NOTE: Only group maintainers/owners are presented with `members_count_with_descendants`, as well as `plan` **(BRONZE ONLY)**. ## Search for namespace diff --git a/doc/api/notes.md b/doc/api/notes.md index 70aa4923b97..621d8179d98 100644 --- a/doc/api/notes.md +++ b/doc/api/notes.md @@ -1,7 +1,7 @@ --- stage: Plan group: Project Management -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Notes API @@ -14,7 +14,7 @@ Notes are comments on: - Epics **(ULTIMATE)** This includes system notes, which are notes about changes to the object (for example, when an -assignee changes, there will be a corresponding system note). +assignee changes, GitLab posts a system note). ## Resource events @@ -137,7 +137,7 @@ Parameters: - `issue_iid` (required) - The IID of an issue - `body` (required) - The content of a note. Limited to 1,000,000 characters. - `confidential` (optional) - The confidential flag of a note. Default is false. -- `created_at` (optional) - Date time string, ISO 8601 formatted, e.g. 2016-03-11T03:45:40Z (requires admin or project/group owner rights) +- `created_at` (optional) - Date time string, ISO 8601 formatted. Example: `2016-03-11T03:45:40Z` (requires administrator or project/group owner rights) ```shell curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/issues/11/notes?body=note" @@ -244,8 +244,8 @@ curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/a ### Create new snippet note -Creates a new note for a single snippet. Snippet notes are comments users can post to a snippet. -If you create a note where the body only contains an Award Emoji, you'll receive this object back. +Creates a new note for a single snippet. Snippet notes are user comments on snippets. +If you create a note where the body only contains an Award Emoji, GitLab returns this object. ```plaintext POST /projects/:id/snippets/:snippet_id/notes @@ -256,7 +256,7 @@ Parameters: - `id` (required) - The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) - `snippet_id` (required) - The ID of a snippet - `body` (required) - The content of a note. Limited to 1,000,000 characters. -- `created_at` (optional) - Date time string, ISO 8601 formatted, e.g. 2016-03-11T03:45:40Z +- `created_at` (optional) - Date time string, ISO 8601 formatted. Example: `2016-03-11T03:45:40Z` (requires administrator or project/group owner rights) ```shell curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/snippet/11/notes?body=note" @@ -368,8 +368,7 @@ curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/a ### Create new merge request note Creates a new note for a single merge request. -If you create a note where the body only contains an Award Emoji, you'll receive -this object back. +If you create a note where the body only contains an Award Emoji, GitLab returns this object. ```plaintext POST /projects/:id/merge_requests/:merge_request_iid/notes @@ -380,7 +379,7 @@ Parameters: - `id` (required) - The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) - `merge_request_iid` (required) - The IID of a merge request - `body` (required) - The content of a note. Limited to 1,000,000 characters. -- `created_at` (optional) - Date time string, ISO 8601 formatted, e.g. 2016-03-11T03:45:40Z +- `created_at` (optional) - Date time string, ISO 8601 formatted. Example: `2016-03-11T03:45:40Z` (requires administrator or project/group owner rights) ### Modify existing merge request note @@ -486,7 +485,7 @@ curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/a ### Create new epic note Creates a new note for a single epic. Epic notes are comments users can post to an epic. -If you create a note where the body only contains an Award Emoji, you'll receive this object back. +If you create a note where the body only contains an Award Emoji, GitLab returns this object. ```plaintext POST /groups/:id/epics/:epic_id/notes diff --git a/doc/api/notification_settings.md b/doc/api/notification_settings.md index cbe5aa46a5d..74746f60d7e 100644 --- a/doc/api/notification_settings.md +++ b/doc/api/notification_settings.md @@ -1,7 +1,7 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Notification settings API diff --git a/doc/api/oauth2.md b/doc/api/oauth2.md index b1c81ff20b6..50d063bdf71 100644 --- a/doc/api/oauth2.md +++ b/doc/api/oauth2.md @@ -59,7 +59,7 @@ authorization with each flow. ### Web application flow -NOTE: **Note:** +NOTE: Check the [RFC spec](https://tools.ietf.org/html/rfc6749#section-4.1) for a detailed flow description. @@ -105,7 +105,7 @@ The web application flow is: } ``` -NOTE: **Note:** +NOTE: The `redirect_uri` must match the `redirect_uri` used in the original authorization request. @@ -113,11 +113,11 @@ You can now make requests to the API with the access token returned. ### Implicit grant flow -NOTE: **Note:** +NOTE: Check the [RFC spec](https://tools.ietf.org/html/rfc6749#section-4.2) for a detailed flow description. -CAUTION: **Important:** +WARNING: Avoid using this flow for applications that store data outside of the GitLab instance. If you do, make sure to verify `application id` associated with the access token before granting access to the data @@ -149,11 +149,11 @@ https://example.com/oauth/redirect#access_token=ABCDExyz123&state=YOUR_UNIQUE_ST ### Resource owner password credentials flow -NOTE: **Note:** +NOTE: Check the [RFC spec](https://tools.ietf.org/html/rfc6749#section-4.3) for a detailed flow description. -NOTE: **Note:** +NOTE: The Resource Owner Password Credentials is disabled for users with [two-factor authentication](../user/profile/account/two_factor_authentication.md) turned on. These users can access the API using [personal access tokens](../user/profile/personal_access_tokens.md) @@ -169,7 +169,7 @@ The credentials should only be used when: privileged application. - Other authorization grant types are not available (such as an authorization code). -CAUTION: **Important:** +WARNING: Never store the user's credentials and only use this grant type when your client is deployed to a trusted environment, in 99% of cases [personal access tokens](../user/profile/personal_access_tokens.md) are a better diff --git a/doc/api/packages.md b/doc/api/packages.md index 8124b081506..a52487e35a3 100644 --- a/doc/api/packages.md +++ b/doc/api/packages.md @@ -1,7 +1,7 @@ --- stage: Package group: Package -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Packages API @@ -67,7 +67,7 @@ Example response: ] ``` -By default, the `GET` request will return 20 results, since the API is [paginated](README.md#pagination). +By default, the `GET` request returns 20 results, since the API is [paginated](README.md#pagination). ### Within a group @@ -157,7 +157,7 @@ Example response: ] ``` -By default, the `GET` request will return 20 results, since the API is [paginated](README.md#pagination). +By default, the `GET` request returns 20 results, since the API is [paginated](README.md#pagination). The `_links` object contains the following properties: @@ -314,7 +314,7 @@ Example response: ] ``` -By default, the `GET` request will return 20 results, since the API is [paginated](README.md#pagination). +By default, the `GET` request returns 20 results, since the API is [paginated](README.md#pagination). ## Delete a project package diff --git a/doc/api/pages.md b/doc/api/pages.md index fda4a70cbd9..0a79d23b51e 100644 --- a/doc/api/pages.md +++ b/doc/api/pages.md @@ -1,7 +1,7 @@ --- stage: Release -group: Release Management -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +group: Release +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Pages API diff --git a/doc/api/pages_domains.md b/doc/api/pages_domains.md index 6f7236c8d1a..f9bb8521a1f 100644 --- a/doc/api/pages_domains.md +++ b/doc/api/pages_domains.md @@ -1,7 +1,7 @@ --- stage: Release -group: Release Management -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +group: Release +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Pages domains API diff --git a/doc/api/personal_access_tokens.md b/doc/api/personal_access_tokens.md index f7cbaeba438..b3e007308ba 100644 --- a/doc/api/personal_access_tokens.md +++ b/doc/api/personal_access_tokens.md @@ -1,7 +1,7 @@ --- stage: Manage group: Compliance -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Personal access tokens API @@ -23,7 +23,7 @@ GET /personal_access_tokens |-----------|---------|----------|---------------------| | `user_id` | integer/string | no | The ID of the user to filter by | -NOTE: **Note:** +NOTE: Administrators can use the `user_id` parameter to filter by a user. Non-administrators cannot filter by any user except themselves. Attempting to do so will result in a `401 Unauthorized` response. ```shell @@ -82,7 +82,7 @@ DELETE /personal_access_tokens/:id |-----------|---------|----------|---------------------| | `id` | integer/string | yes | ID of personal access token | -NOTE: **Note:** +NOTE: Non-administrators can revoke their own tokens. Administrators can revoke tokens of any user. ```shell diff --git a/doc/api/pipeline_schedules.md b/doc/api/pipeline_schedules.md index 1faa6ef56db..a400db37b22 100644 --- a/doc/api/pipeline_schedules.md +++ b/doc/api/pipeline_schedules.md @@ -1,7 +1,7 @@ --- stage: Verify group: Continuous Integration -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Pipeline schedules API @@ -109,14 +109,14 @@ Create a new pipeline schedule of a project. POST /projects/:id/pipeline_schedules ``` -| Attribute | Type | required | Description | -|---------------|---------|----------|--------------------------| -| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user | -| `description` | string | yes | The description of pipeline schedule | -| `ref` | string | yes | The branch/tag name will be triggered | -| `cron` | string | yes | The cron (e.g. `0 1 * * *`) ([Cron syntax](https://en.wikipedia.org/wiki/Cron)) | -| `cron_timezone` | string | no | The timezone supported by `ActiveSupport::TimeZone` (e.g. `Pacific Time (US & Canada)`) (default: `'UTC'`) | -| `active` | boolean | no | The activation of pipeline schedule. If false is set, the pipeline schedule will deactivated initially (default: `true`) | +| Attribute | Type | required | Description | +|-----------------|----------------|----------|-------------------------------------------------------------------------------------------------------------------------| +| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user. | +| `description` | string | yes | The description of the pipeline schedule. | +| `ref` | string | yes | The branch or tag name that is triggered. | +| `cron` | string | yes | The [cron](https://en.wikipedia.org/wiki/Cron) schedule, for example: `0 1 * * *`. | +| `cron_timezone` | string | no | The timezone supported by `ActiveSupport::TimeZone`, for example: `Pacific Time (US & Canada)` (default: `'UTC'`). | +| `active` | boolean | no | The activation of pipeline schedule. If false is set, the pipeline schedule is initially deactivated (default: `true`). | ```shell curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --form description="Build packages" --form ref="master" --form cron="0 1 * * 5" --form cron_timezone="UTC" --form active="true" "https://gitlab.example.com/api/v4/projects/29/pipeline_schedules" @@ -147,21 +147,21 @@ curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --form descrip ## Edit a pipeline schedule -Updates the pipeline schedule of a project. Once the update is done, it will be rescheduled automatically. +Updates the pipeline schedule of a project. Once the update is done, it is rescheduled automatically. ```plaintext PUT /projects/:id/pipeline_schedules/:pipeline_schedule_id ``` -| Attribute | Type | required | Description | -|---------------|---------|----------|--------------------------| -| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user | -| `pipeline_schedule_id` | integer | yes | The pipeline schedule ID | -| `description` | string | no | The description of pipeline schedule | -| `ref` | string | no | The branch/tag name will be triggered | -| `cron` | string | no | The cron (e.g. `0 1 * * *`) ([Cron syntax](https://en.wikipedia.org/wiki/Cron)) | -| `cron_timezone` | string | no | The timezone supported by `ActiveSupport::TimeZone` (e.g. `Pacific Time (US & Canada)`) or `TZInfo::Timezone` (e.g. `America/Los_Angeles`) | -| `active` | boolean | no | The activation of pipeline schedule. If false is set, the pipeline schedule will deactivated initially. | +| Attribute | Type | required | Description | +|------------------------|----------------|----------|------------------------------------------------------------------------------------------------------------------| +| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user. | +| `pipeline_schedule_id` | integer | yes | The pipeline schedule ID. | +| `description` | string | no | The description of the pipeline schedule. | +| `ref` | string | no | The branch or tag name that is triggered. | +| `cron` | string | no | The [cron](https://en.wikipedia.org/wiki/Cron) schedule, for example: `0 1 * * *`. | +| `cron_timezone` | string | no | The timezone supported by `ActiveSupport::TimeZone` (for example `Pacific Time (US & Canada)`), or `TZInfo::Timezone` (for example `America/Los_Angeles`). | +| `active` | boolean | no | The activation of pipeline schedule. If false is set, the pipeline schedule is initially deactivated. | ```shell curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --form cron="0 2 * * *" "https://gitlab.example.com/api/v4/projects/29/pipeline_schedules/13" diff --git a/doc/api/pipeline_triggers.md b/doc/api/pipeline_triggers.md index c46992de51b..ea10b14bc2e 100644 --- a/doc/api/pipeline_triggers.md +++ b/doc/api/pipeline_triggers.md @@ -1,7 +1,7 @@ --- stage: Verify group: Continuous Integration -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Pipeline triggers API diff --git a/doc/api/pipelines.md b/doc/api/pipelines.md index 145a0a5ab7e..14ded7c569d 100644 --- a/doc/api/pipelines.md +++ b/doc/api/pipelines.md @@ -1,7 +1,7 @@ --- stage: Verify group: Continuous Integration -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Pipelines API @@ -155,7 +155,7 @@ Example of response > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/202525) in GitLab 13.0. -NOTE: **Note:** +NOTE: This API route is part of the [Unit test report](../ci/unit_test_reports.md) feature. ```plaintext diff --git a/doc/api/project_aliases.md b/doc/api/project_aliases.md index cfd225639f9..270c88ca661 100644 --- a/doc/api/project_aliases.md +++ b/doc/api/project_aliases.md @@ -1,7 +1,7 @@ --- stage: Create group: Source Code -info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers" +info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments" type: reference, api --- diff --git a/doc/api/project_analytics.md b/doc/api/project_analytics.md new file mode 100644 index 00000000000..97b15cc2c88 --- /dev/null +++ b/doc/api/project_analytics.md @@ -0,0 +1,52 @@ +--- +stage: Release +group: Release +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments +type: reference, api +--- + +# Project Analytics API **(ULTIMATE ONLY)** + +> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/279039) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 13.7. + +All methods require reporter authorization. + +## List project deployment frequencies + +Get a list of all project aliases: + +```plaintext +GET /projects/:id/analytics/deployment_frequency?environment=:environment&from=:from&to=:to&interval=:interval +``` + +| Attribute | Type | Required | Description | +|--------------|--------|----------|-----------------------| +| `id` | string | yes | The ID of the project | + +| Parameter | Type | Required | Description | +|--------------|--------|----------|-----------------------| +| `environment`| string | yes | The name of the environment to filter by | +| `from` | string | yes | Datetime range to start from, inclusive, ISO 8601 format (`YYYY-MM-DDTHH:MM:SSZ`) | +| `to` | string | no | Datetime range to end at, exclusive, ISO 8601 format (`YYYY-MM-DDTHH:MM:SSZ`) | +| `interval` | string | no | The bucketing interval (`all`, `monthly`, `daily`) | + +```shell +curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/:id/analytics/deployment_frequency?from=:from&to=:to&interval=:interval" +``` + +Example response: + +```json +[ + { + "from": "2017-01-01", + "to": "2017-01-02", + "value": 106 + }, + { + "from": "2017-01-02", + "to": "2017-01-03", + "value": 55 + } +] +``` diff --git a/doc/api/project_badges.md b/doc/api/project_badges.md index b8ea55ab72f..2ca22baf654 100644 --- a/doc/api/project_badges.md +++ b/doc/api/project_badges.md @@ -1,7 +1,7 @@ --- stage: Create group: Source Code -info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers" +info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments" type: reference, api --- diff --git a/doc/api/project_clusters.md b/doc/api/project_clusters.md index ce175184179..3cc8cd07923 100644 --- a/doc/api/project_clusters.md +++ b/doc/api/project_clusters.md @@ -1,7 +1,7 @@ --- stage: Configure group: Configure -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Project clusters API @@ -20,9 +20,9 @@ GET /projects/:id/clusters Parameters: -| Attribute | Type | Required | Description | -| --------- | ---- | -------- | ----------- | -| `id` | integer | yes | The ID of the project owned by the authenticated user | +| Attribute | Type | Required | Description | +| --------- | ------- | -------- | ----------------------------------------------------- | +| `id` | integer | yes | The ID of the project owned by the authenticated user | Example request: @@ -39,6 +39,8 @@ Example response: "name":"cluster-1", "domain":"example.com", "created_at":"2019-01-02T20:18:12.563Z", + "managed": true, + "enabled": true, "provider_type":"user", "platform_type":"kubernetes", "environment_scope":"*", @@ -88,10 +90,10 @@ GET /projects/:id/clusters/:cluster_id Parameters: -| Attribute | Type | Required | Description | -| --------- | ---- | -------- | ----------- | -| `id` | integer | yes | The ID of the project owned by the authenticated user | -| `cluster_id` | integer | yes | The ID of the cluster | +| Attribute | Type | Required | Description | +| ------------ | ------- | -------- | ----------------------------------------------------- | +| `id` | integer | yes | The ID of the project owned by the authenticated user | +| `cluster_id` | integer | yes | The ID of the cluster | Example request: @@ -107,6 +109,8 @@ Example response: "name":"cluster-1", "domain":"example.com", "created_at":"2019-01-02T20:18:12.563Z", + "managed": true, + "enabled": true, "provider_type":"user", "platform_type":"kubernetes", "environment_scope":"*", @@ -179,20 +183,20 @@ POST /projects/:id/clusters/user Parameters: -| Attribute | Type | Required | Description | -| --------- | ---- | -------- | ----------- | -| `id` | integer | yes | The ID of the project owned by the authenticated user | -| `name` | string | yes | The name of the cluster | -| `domain` | string | no | The [base domain](../user/project/clusters/index.md#base-domain) of the cluster | -| `management_project_id` | integer | no | The ID of the [management project](../user/clusters/management_project.md) for the cluster | -| `enabled` | boolean | no | Determines if cluster is active or not, defaults to true | -| `managed` | boolean | no | Determines if GitLab will manage namespaces and service accounts for this cluster, defaults to true | -| `platform_kubernetes_attributes[api_url]` | string | yes | The URL to access the Kubernetes API | -| `platform_kubernetes_attributes[token]` | string | yes | The token to authenticate against Kubernetes | -| `platform_kubernetes_attributes[ca_cert]` | string | no | TLS certificate. Required if API is using a self-signed TLS certificate. | -| `platform_kubernetes_attributes[namespace]` | string | no | The unique namespace related to the project | -| `platform_kubernetes_attributes[authorization_type]` | string | no | The cluster authorization type: `rbac`, `abac` or `unknown_authorization`. Defaults to `rbac`. | -| `environment_scope` | string | no | The associated environment to the cluster. Defaults to `*` **(PREMIUM)** | +| Attribute | Type | Required | Description | +| ---------------------------------------------------- | ------- | -------- | ----------------------------------------------------------------------------------------------------- | +| `id` | integer | yes | The ID of the project owned by the authenticated user | +| `name` | string | yes | The name of the cluster | +| `domain` | string | no | The [base domain](../user/project/clusters/index.md#base-domain) of the cluster | +| `management_project_id` | integer | no | The ID of the [management project](../user/clusters/management_project.md) for the cluster | +| `enabled` | boolean | no | Determines if cluster is active or not, defaults to `true` | +| `managed` | boolean | no | Determines if GitLab manages namespaces and service accounts for this cluster. Defaults to `true` | +| `platform_kubernetes_attributes[api_url]` | string | yes | The URL to access the Kubernetes API | +| `platform_kubernetes_attributes[token]` | string | yes | The token to authenticate against Kubernetes | +| `platform_kubernetes_attributes[ca_cert]` | string | no | TLS certificate. Required if API is using a self-signed TLS certificate. | +| `platform_kubernetes_attributes[namespace]` | string | no | The unique namespace related to the project | +| `platform_kubernetes_attributes[authorization_type]` | string | no | The cluster authorization type: `rbac`, `abac` or `unknown_authorization`. Defaults to `rbac`. | +| `environment_scope` | string | no | The associated environment to the cluster. Defaults to `*` **(PREMIUM)** | Example request: @@ -210,6 +214,8 @@ Example response: "id":24, "name":"cluster-5", "created_at":"2019-01-03T21:53:40.610Z", + "managed": true, + "enabled": true, "provider_type":"user", "platform_type":"kubernetes", "environment_scope":"*", @@ -273,20 +279,22 @@ PUT /projects/:id/clusters/:cluster_id Parameters: -| Attribute | Type | Required | Description | -| --------- | ---- | -------- | ----------- | -| `id` | integer | yes | The ID of the project owned by the authenticated user | -| `cluster_id` | integer | yes | The ID of the cluster | -| `name` | string | no | The name of the cluster | -| `domain` | string | no | The [base domain](../user/project/clusters/index.md#base-domain) of the cluster | -| `management_project_id` | integer | no | The ID of the [management project](../user/clusters/management_project.md) for the cluster | -| `platform_kubernetes_attributes[api_url]` | string | no | The URL to access the Kubernetes API | -| `platform_kubernetes_attributes[token]` | string | no | The token to authenticate against Kubernetes | -| `platform_kubernetes_attributes[ca_cert]` | string | no | TLS certificate. Required if API is using a self-signed TLS certificate. | -| `platform_kubernetes_attributes[namespace]` | string | no | The unique namespace related to the project | -| `environment_scope` | string | no | The associated environment to the cluster **(PREMIUM)** | - -NOTE: **Note:** +| Attribute | Type | Required | Description | +| ------------------------------------------- | ------- | -------- | ------------------------------------------------------------------------------------------ | +| `id` | integer | yes | The ID of the project owned by the authenticated user | +| `cluster_id` | integer | yes | The ID of the cluster | +| `name` | string | no | The name of the cluster | +| `domain` | string | no | The [base domain](../user/project/clusters/index.md#base-domain) of the cluster | +| `management_project_id` | integer | no | The ID of the [management project](../user/clusters/management_project.md) for the cluster | +| `enabled` | boolean | no | Determines if cluster is active or not | +| `managed` | boolean | no | Determines if GitLab manages namespaces and service accounts for this cluster | +| `platform_kubernetes_attributes[api_url]` | string | no | The URL to access the Kubernetes API | +| `platform_kubernetes_attributes[token]` | string | no | The token to authenticate against Kubernetes | +| `platform_kubernetes_attributes[ca_cert]` | string | no | TLS certificate. Required if API is using a self-signed TLS certificate. | +| `platform_kubernetes_attributes[namespace]` | string | no | The unique namespace related to the project | +| `environment_scope` | string | no | The associated environment to the cluster **(PREMIUM)** | + +NOTE: `name`, `api_url`, `ca_cert` and `token` can only be updated if the cluster was added through the ["Add existing Kubernetes cluster"](../user/project/clusters/add_remove_clusters.md#add-existing-cluster) option or through the ["Add existing cluster to project"](#add-existing-cluster-to-project) endpoint. @@ -307,6 +315,8 @@ Example response: "name":"new-cluster-name", "domain":"new-domain.com", "created_at":"2019-01-03T21:53:40.610Z", + "managed": true, + "enabled": true, "provider_type":"user", "platform_type":"kubernetes", "environment_scope":"*", @@ -380,10 +390,10 @@ DELETE /projects/:id/clusters/:cluster_id Parameters: -| Attribute | Type | Required | Description | -| --------- | ---- | -------- | ----------- | -| `id` | integer | yes | The ID of the project owned by the authenticated user | -| `cluster_id` | integer | yes | The ID of the cluster | +| Attribute | Type | Required | Description | +| ------------ | ------- | -------- | ----------------------------------------------------- | +| `id` | integer | yes | The ID of the project owned by the authenticated user | +| `cluster_id` | integer | yes | The ID of the cluster | Example request: diff --git a/doc/api/project_import_export.md b/doc/api/project_import_export.md index 5c631d2f084..c5799a63c5c 100644 --- a/doc/api/project_import_export.md +++ b/doc/api/project_import_export.md @@ -1,7 +1,7 @@ --- stage: Create group: Source Code -info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers" +info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments" type: reference, api --- @@ -49,7 +49,7 @@ curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitla } ``` -NOTE: **Note:** +NOTE: The upload request will be sent with `Content-Type: application/gzip` header. Ensure that your pre-signed URL includes this as part of the signature. ## Export status @@ -192,7 +192,7 @@ requests.post(url, headers=headers, data=data, files=files) } ``` -NOTE: **Note:** +NOTE: The maximum import file size can be set by the Administrator, default is 50MB. As an administrator, you can modify the maximum import file size. To do so, use the `max_import_size` option in the [Application settings API](settings.md#change-application-settings) or the [Admin UI](../user/admin_area/settings/account_and_limit_settings.md). @@ -225,10 +225,10 @@ If the status is `failed`, `started` or `finished`, the `failed_relations` array be populated with any occurrences of relations that failed to import either due to unrecoverable errors or because retries were exhausted (a typical example are query timeouts.) -NOTE: **Note:** +NOTE: An element's `id` field in `failed_relations` references the failure record, not the relation. -NOTE: **Note:** +NOTE: The `failed_relations` array is currently capped to 100 items. ```json diff --git a/doc/api/project_level_variables.md b/doc/api/project_level_variables.md index cd1c24b756f..8f6b9b83ca3 100644 --- a/doc/api/project_level_variables.md +++ b/doc/api/project_level_variables.md @@ -1,7 +1,7 @@ --- stage: Verify group: Continuous Integration -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments type: reference, api --- diff --git a/doc/api/project_repository_storage_moves.md b/doc/api/project_repository_storage_moves.md index c1ba421e73e..07743a48654 100644 --- a/doc/api/project_repository_storage_moves.md +++ b/doc/api/project_repository_storage_moves.md @@ -1,7 +1,7 @@ --- stage: Create group: Gitaly -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments type: reference --- @@ -197,7 +197,7 @@ Example response: > - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34119) in GitLab 13.1. > - [Introduced](https://gitlab.com/gitlab-org/gitaly/-/issues/2618) in GitLab 13.3, original repository is automatically removed after successful move and integrity check. -CAUTION: **Caution:** +WARNING: Before GitLab 13.3, a repository move worked more like a repository copy as the original repository was not deleted from the original storage disk location and had to be manually cleaned up. @@ -239,3 +239,35 @@ Example response: "created_at": "2020-05-07T04:27:17.016Z" } ``` + +## Schedule repository storage moves for all projects on a storage shard + +> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/47142) in GitLab 13.7. + +Schedules repository storage moves for each project repository stored on the source storage shard. + +```plaintext +POST /project_repository_storage_moves +``` + +Parameters: + +| Attribute | Type | Required | Description | +| --------- | ---- | -------- | ----------- | +| `source_storage_name` | string | yes | Name of the source storage shard. | +| `destination_storage_name` | string | no | Name of the destination storage shard. The storage is selected automatically if not provided. | + +Example request: + +```shell +curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \ +--data '{"source_storage_name":"default"}' "https://gitlab.example.com/api/v4/project_repository_storage_moves" +``` + +Example response: + +```json +{ + "message": "202 Accepted" +} +``` diff --git a/doc/api/project_snippets.md b/doc/api/project_snippets.md index 7955050e716..d264e68e96a 100644 --- a/doc/api/project_snippets.md +++ b/doc/api/project_snippets.md @@ -1,7 +1,7 @@ --- stage: Create group: Editor -info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers" +info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments" type: reference, api --- @@ -20,7 +20,7 @@ Constants for snippet visibility levels are: | `internal` | The snippet is visible for any logged in user except [external users](../user/permissions.md#external-users) | | `public` | The snippet can be accessed without any authentication | -NOTE: **Note:** +NOTE: From July 2019, the `Internal` visibility setting is disabled for new projects, groups, and snippets on GitLab.com. Existing projects, groups, and snippets using the `Internal` visibility setting keep this setting. You can read more about the change in the diff --git a/doc/api/project_statistics.md b/doc/api/project_statistics.md index 344aeaa588f..984720ed56f 100644 --- a/doc/api/project_statistics.md +++ b/doc/api/project_statistics.md @@ -1,7 +1,7 @@ --- stage: Create group: Source Code -info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers" +info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments" type: reference, api --- diff --git a/doc/api/project_templates.md b/doc/api/project_templates.md index 08f3aefb429..d75047d6cb3 100644 --- a/doc/api/project_templates.md +++ b/doc/api/project_templates.md @@ -1,7 +1,7 @@ --- stage: Create group: Source Code -info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers" +info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments" type: reference, api --- @@ -21,8 +21,8 @@ It deprecates these endpoints, which will be removed for API version 5. In addition to templates common to the entire instance, project-specific templates are also available from this API endpoint. -Support for [Group-level file templates](../user/group/index.md#group-file-templates) -**(PREMIUM)** was [added](https://gitlab.com/gitlab-org/gitlab/-/issues/5987) +Support for [Group-level file templates](../user/group/index.md#group-file-templates) **(PREMIUM)** +was [added](https://gitlab.com/gitlab-org/gitlab/-/issues/5987) in GitLab 11.5 ## Get all templates of a particular type diff --git a/doc/api/project_vulnerabilities.md b/doc/api/project_vulnerabilities.md index 8ab02ed9ea6..1f6a1a58276 100644 --- a/doc/api/project_vulnerabilities.md +++ b/doc/api/project_vulnerabilities.md @@ -1,7 +1,7 @@ --- stage: Create group: Source Code -info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers" +info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments" type: reference, api --- @@ -9,7 +9,7 @@ type: reference, api > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/10242) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.6. -CAUTION: **Caution:** +WARNING: This API is in an alpha stage and considered unstable. The response payload may be subject to change or breakage across GitLab releases. diff --git a/doc/api/projects.md b/doc/api/projects.md index 1c162e0bbd3..b9f6448085d 100644 --- a/doc/api/projects.md +++ b/doc/api/projects.md @@ -1,7 +1,7 @@ --- stage: Plan group: Project Management -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Projects API @@ -49,7 +49,7 @@ GET /projects | `last_activity_before` | datetime | **{dotted-circle}** No | Limit results to projects with last_activity before specified time. Format: ISO 8601 YYYY-MM-DDTHH:MM:SSZ | | `membership` | boolean | **{dotted-circle}** No | Limit by projects that the current user is a member of. | | `min_access_level` | integer | **{dotted-circle}** No | Limit by current user minimal [access level](members.md#valid-access-levels). | -| `order_by` | string | **{dotted-circle}** No | Return projects ordered by `id`, `name`, `path`, `created_at`, `updated_at`, or `last_activity_at` fields. `repository_size`, `storage_size`, or `wiki_size` fields are only allowed for admins. Default is `created_at`. | +| `order_by` | string | **{dotted-circle}** No | Return projects ordered by `id`, `name`, `path`, `created_at`, `updated_at`, or `last_activity_at` fields. `repository_size`, `storage_size`, `packages_size` or `wiki_size` fields are only allowed for admins. Default is `created_at`. | | `owned` | boolean | **{dotted-circle}** No | Limit by projects explicitly owned by the current user. | | `repository_checksum_failed` **(PREMIUM)** | boolean | **{dotted-circle}** No | Limit projects where the repository checksum calculation has failed ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6137) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.2). | | `repository_storage` | string | **{dotted-circle}** No | Limit results to projects stored on `repository_storage`. _(admins only)_ | @@ -295,7 +295,7 @@ When the user is authenticated and `simple` is not set this returns something li ] ``` -NOTE: **Note:** +NOTE: For users of GitLab [Silver, Premium, or higher](https://about.gitlab.com/pricing/), the `marked_for_deletion_at` attribute has been deprecated, and will be removed in API v5 in favor of the `marked_for_deletion_on` attribute. @@ -1045,6 +1045,7 @@ POST /projects | Attribute | Type | Required | Description | |-------------------------------------------------------------|---------|------------------------|-------------| | `allow_merge_on_skipped_pipeline` | boolean | **{dotted-circle}** No | Set whether or not merge requests can be merged with skipped jobs. | +| `analytics_access_level` | string | no | One of `disabled`, `private` or `enabled` | | `approvals_before_merge` **(STARTER)** | integer | **{dotted-circle}** No | How many approvers should approve merge requests by default. | | `auto_cancel_pending_pipelines` | string | **{dotted-circle}** No | Auto-cancel pending pipelines. This isn't a boolean, but enabled/disabled. | | `auto_devops_deploy_strategy` | string | **{dotted-circle}** No | Auto Deploy strategy (`continuous`, `manual` or `timed_incremental`). | @@ -1077,6 +1078,7 @@ POST /projects | `mirror` **(STARTER)** | boolean | **{dotted-circle}** No | Enables pull mirroring in a project. | | `name` | string | **{check-circle}** Yes (if path isn't provided) | The name of the new project. Equals path if not provided. | | `namespace_id` | integer | **{dotted-circle}** No | Namespace for the new project (defaults to the current user's namespace). | +| `operations_access_level` | string | **{dotted-circle}** No | One of `disabled`, `private`, or `enabled`. | | `only_allow_merge_if_all_discussions_are_resolved` | boolean | **{dotted-circle}** No | Set whether merge requests can only be merged when all the discussions are resolved. | | `only_allow_merge_if_pipeline_succeeds` | boolean | **{dotted-circle}** No | Set whether merge requests can only be merged with successful jobs. | | `packages_enabled` | boolean | **{dotted-circle}** No | Enable or disable packages repository feature. | @@ -1117,6 +1119,7 @@ POST /projects/user/:user_id | Attribute | Type | Required | Description | |-------------------------------------------------------------|---------|------------------------|-------------| | `allow_merge_on_skipped_pipeline` | boolean | **{dotted-circle}** No | Set whether or not merge requests can be merged with skipped jobs. | +| `analytics_access_level` | string | no | One of `disabled`, `private` or `enabled` | | `approvals_before_merge` **(STARTER)** | integer | **{dotted-circle}** No | How many approvers should approve merge requests by default. | | `auto_cancel_pending_pipelines` | string | **{dotted-circle}** No | Auto-cancel pending pipelines. This isn't a boolean, but enabled/disabled. | | `auto_devops_deploy_strategy` | string | **{dotted-circle}** No | Auto Deploy strategy (`continuous`, `manual` or `timed_incremental`). | @@ -1147,6 +1150,7 @@ POST /projects/user/:user_id | `mirror` **(STARTER)** | boolean | **{dotted-circle}** No | Enables pull mirroring in a project. | | `name` | string | **{check-circle}** Yes | The name of the new project. | | `namespace_id` | integer | **{dotted-circle}** No | Namespace for the new project (defaults to the current user's namespace). | +| `operations_access_level` | string | **{dotted-circle}** No | One of `disabled`, `private`, or `enabled`. | | `only_allow_merge_if_all_discussions_are_resolved` | boolean | **{dotted-circle}** No | Set whether merge requests can only be merged when all the discussions are resolved. | | `only_allow_merge_if_pipeline_succeeds` | boolean | **{dotted-circle}** No | Set whether merge requests can only be merged with successful jobs. | | `packages_enabled` | boolean | **{dotted-circle}** No | Enable or disable packages repository feature. | @@ -1188,6 +1192,7 @@ PUT /projects/:id | Attribute | Type | Required | Description | |-------------------------------------------------------------|----------------|------------------------|-------------| | `allow_merge_on_skipped_pipeline` | boolean | **{dotted-circle}** No | Set whether or not merge requests can be merged with skipped jobs. | +| `analytics_access_level` | string | no | One of `disabled`, `private` or `enabled` | | `approvals_before_merge` **(STARTER)** | integer | **{dotted-circle}** No | How many approvers should approve merge request by default. | | `auto_cancel_pending_pipelines` | string | **{dotted-circle}** No | Auto-cancel pending pipelines. This isn't a boolean, but enabled/disabled. | | `auto_devops_deploy_strategy` | string | **{dotted-circle}** No | Auto Deploy strategy (`continuous`, `manual`, or `timed_incremental`). | @@ -1222,6 +1227,7 @@ PUT /projects/:id | `mirror_user_id` **(STARTER)** | integer | **{dotted-circle}** No | User responsible for all the activity surrounding a pull mirror event. _(admins only)_ | | `mirror` **(STARTER)** | boolean | **{dotted-circle}** No | Enables pull mirroring in a project. | | `name` | string | **{dotted-circle}** No | The name of the project. | +| `operations_access_level` | string | **{dotted-circle}** No | One of `disabled`, `private`, or `enabled`. | | `only_allow_merge_if_all_discussions_are_resolved` | boolean | **{dotted-circle}** No | Set whether merge requests can only be merged when all the discussions are resolved. | | `only_allow_merge_if_pipeline_succeeds` | boolean | **{dotted-circle}** No | Set whether merge requests can only be merged with successful jobs. | | `only_mirror_protected_branches` **(STARTER)** | boolean | **{dotted-circle}** No | Only mirror protected branches. | @@ -1862,7 +1868,7 @@ This endpoint: actual deletion happens after the number of days specified in the [default deletion delay](../user/admin_area/settings/visibility_and_access_controls.md#default-deletion-delay). -CAUTION: **Warning:** +WARNING: The default behavior of [Delayed Project deletion](https://gitlab.com/gitlab-org/gitlab/-/issues/32935) in GitLab 12.6 was changed to [Immediate deletion](https://gitlab.com/gitlab-org/gitlab/-/issues/220382) in GitLab 13.2, as discussed in [Enabling delayed project removal](../user/group/index.md#enabling-delayed-project-removal). @@ -2371,6 +2377,7 @@ Example response: "repository_access_level": "enabled", "merge_requests_access_level": "enabled", "forking_access_level": "enabled", + "analytics_access_level": "enabled", "wiki_access_level": "enabled", "builds_access_level": "enabled", "snippets_access_level": "enabled", @@ -2417,6 +2424,18 @@ Read more in the [Project import/export](project_import_export.md) documentation Read more in the [Project members](members.md) documentation. +## Configure pull mirroring for a project **(STARTER)** + +> Introduced in [GitLab Starter](https://about.gitlab.com/pricing/) 11.2. + +Configure pull mirroring while [creating a new project](#create-project) or [updating an existing project](#edit-project) using the API if the remote repository is publicly accessible or via `username/password` authentication. In case your HTTP repository is not publicly accessible, you can add the authentication information to the URL: `https://username:password@gitlab.company.com/group/project.git`, where password is a [personal access token](../user/profile/personal_access_tokens.md) with the API scope enabled. + +The relevant API parameters to update are: + +- `import_url`: URL of remote repository being mirrored (with `username:password` if needed). +- `mirror`: Enables pull mirroring on project when set to `true`. +- `only_mirror_protected_branches`: Set to `true` for protected branches. + ## Start the pull mirroring process for a Project **(STARTER)** > Introduced in [GitLab Starter](https://about.gitlab.com/pricing/) 10.3. diff --git a/doc/api/protected_branches.md b/doc/api/protected_branches.md index 79b848bdf15..1dd15231dd8 100644 --- a/doc/api/protected_branches.md +++ b/doc/api/protected_branches.md @@ -1,7 +1,7 @@ --- stage: Create group: Source Code -info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers" +info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments" type: reference, api --- diff --git a/doc/api/protected_environments.md b/doc/api/protected_environments.md index c42d6776341..487537cd3f5 100644 --- a/doc/api/protected_environments.md +++ b/doc/api/protected_environments.md @@ -1,7 +1,7 @@ --- stage: Release -group: Release Management -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +group: Release +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments type: concepts, howto --- diff --git a/doc/api/protected_tags.md b/doc/api/protected_tags.md index 9f9c1ad8b5d..87bd7043121 100644 --- a/doc/api/protected_tags.md +++ b/doc/api/protected_tags.md @@ -1,7 +1,7 @@ --- stage: Create group: Source Code -info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers" +info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments" type: reference, api --- diff --git a/doc/api/releases/index.md b/doc/api/releases/index.md index 7c65e9da74b..0cb11a2b586 100644 --- a/doc/api/releases/index.md +++ b/doc/api/releases/index.md @@ -1,13 +1,13 @@ --- stage: Release -group: Release Management -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +group: Release +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Releases API > - [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/41766) in GitLab 11.7. -> - Using this API you can manipulate GitLab's [Release](../../user/project/releases/index.md) entries. +> - Using this API you can manipulate GitLab [Release](../../user/project/releases/index.md) entries. > - For manipulating links as a release asset, see [Release Links API](links.md). > - Release Evidences were [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/26019) in GitLab 12.5. @@ -365,8 +365,8 @@ POST /projects/:id/releases | `ref` | string | yes, if `tag_name` doesn't exist | If a tag specified in `tag_name` doesn't exist, the release will be created from `ref` and tagged with `tag_name`. It can be a commit SHA, another tag name, or a branch name. | | `milestones` | array of string | no | The title of each milestone the release is associated with. [GitLab Premium](https://about.gitlab.com/pricing/) customers can specify group milestones. | | `assets:links` | array of hash | no | An array of assets links. | -| `assets:links:name`| string | required by: `assets:links` | The name of the link. | -| `assets:links:url` | string | required by: `assets:links` | The URL of the link. | +| `assets:links:name`| string | required by: `assets:links` | The name of the link. Link names must be unique within the release. | +| `assets:links:url` | string | required by: `assets:links` | The URL of the link. Link URLs must be unique within the release. | | `assets:links:filepath` | string | no | Optional path for a [Direct Asset link](../../user/project/releases/index.md#permanent-links-to-release-assets). | `assets:links:link_type` | string | no | The type of the link: `other`, `runbook`, `image`, `package`. Defaults to `other`. | `released_at` | datetime | no | The date when the release will be/was ready. Defaults to the current time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`). | @@ -376,7 +376,7 @@ Example request: ```shell curl --header 'Content-Type: application/json' --header "PRIVATE-TOKEN: gDybLx3yrUK_HLp3qPjS" \ --data '{ "name": "New release", "tag_name": "v0.3", "description": "Super nice release", "milestones": ["v1.0", "v1.0-rc"], "assets": { "links": [{ "name": "hoge", "url": "https://google.com", "filepath": "/binaries/linux-amd64", "link_type":"other" }] } }' \ - --request POST https://gitlab.example.com/api/v4/projects/24/releases + --request POST "https://gitlab.example.com/api/v4/projects/24/releases" ``` Example response: diff --git a/doc/api/releases/links.md b/doc/api/releases/links.md index 2b33f6a4dc7..88ce3f6ccb4 100644 --- a/doc/api/releases/links.md +++ b/doc/api/releases/links.md @@ -1,14 +1,14 @@ --- stage: Release -group: Release Management -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +group: Release +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Release links API > [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/41766) in GitLab 11.7. -Using this API you can manipulate GitLab's [Release](../../user/project/releases/index.md) links. For manipulating other Release assets, see [Release API](index.md). +Using this API you can manipulate GitLab [Release](../../user/project/releases/index.md) links. For manipulating other Release assets, see [Release API](index.md). GitLab supports links to `http`, `https`, and `ftp` assets. ## Get links @@ -91,14 +91,14 @@ Create an asset as a link from a Release. POST /projects/:id/releases/:tag_name/assets/links ``` -| Attribute | Type | Required | Description | -| ------------- | -------------- | -------- | --------------------------------------- | -| `id` | integer/string | yes | The ID or [URL-encoded path of the project](../README.md#namespaced-path-encoding). | -| `tag_name` | string | yes | The tag associated with the Release. | -| `name` | string | yes | The name of the link. | -| `url` | string | yes | The URL of the link. | -| `filepath` | string | no | Optional path for a [Direct Asset link](../../user/project/releases/index.md#permanent-links-to-release-assets). -| `link_type` | string | no | The type of the link: `other`, `runbook`, `image`, `package`. Defaults to `other`. | +| Attribute | Type | Required | Description | +| ------------- | -------------- | -------- | ---------------------------------------------------------------------------------------------------------------- | +| `id` | integer/string | yes | The ID or [URL-encoded path of the project](../README.md#namespaced-path-encoding). | +| `tag_name` | string | yes | The tag associated with the Release. | +| `name` | string | yes | The name of the link. Link names must be unique within the release. | +| `url` | string | yes | The URL of the link. Link URLs must be unique within the release. | +| `filepath` | string | no | Optional path for a [Direct Asset link](../../user/project/releases/index.md#permanent-links-to-release-assets). | +| `link_type` | string | no | The type of the link: `other`, `runbook`, `image`, `package`. Defaults to `other`. | Example request: @@ -142,7 +142,7 @@ PUT /projects/:id/releases/:tag_name/assets/links/:link_id | `filepath` | string | no | Optional path for a [Direct Asset link](../../user/project/releases/index.md#permanent-links-to-release-assets). | `link_type` | string | no | The type of the link: `other`, `runbook`, `image`, `package`. Defaults to `other`. | -NOTE: **Note:** +NOTE: You have to specify at least one of `name` or `url` Example request: diff --git a/doc/api/remote_mirrors.md b/doc/api/remote_mirrors.md index 605284caf06..c40aed534d5 100644 --- a/doc/api/remote_mirrors.md +++ b/doc/api/remote_mirrors.md @@ -1,7 +1,7 @@ --- stage: Create group: Source Code -info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers" +info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments" type: reference, api --- @@ -47,7 +47,7 @@ Example response: ] ``` -NOTE: **Note:** +NOTE: For security reasons, the `url` attribute will always be scrubbed of username and password information. diff --git a/doc/api/repositories.md b/doc/api/repositories.md index e880c2d95e1..efdf010e072 100644 --- a/doc/api/repositories.md +++ b/doc/api/repositories.md @@ -1,7 +1,7 @@ --- stage: Create group: Source Code -info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers" +info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments" type: reference, api --- @@ -202,7 +202,7 @@ authentication if the repository is publicly accessible. GET /projects/:id/repository/contributors ``` -CAUTION: **Deprecation:** +WARNING: The `additions` and `deletions` attributes are deprecated [as of GitLab 13.4](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/39653) because they [always return `0`](https://gitlab.com/gitlab-org/gitlab/-/issues/233119). Parameters: diff --git a/doc/api/repository_files.md b/doc/api/repository_files.md index cc1f0aa970c..ce11e5a38b7 100644 --- a/doc/api/repository_files.md +++ b/doc/api/repository_files.md @@ -1,7 +1,7 @@ --- stage: Create group: Source Code -info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers" +info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments" type: reference, api --- @@ -57,7 +57,7 @@ Parameters: - `file_path` (required) - URL encoded full path to new file. Ex. lib%2Fclass%2Erb - `ref` (required) - The name of branch, tag or commit -NOTE: **Note:** +NOTE: `blob_id` is the blob SHA, see [repositories - Get a blob from repository](repositories.md#get-a-blob-from-repository) In addition to the `GET` method, you can also use `HEAD` to get just file metadata. @@ -132,7 +132,7 @@ Parameters: - `file_path` (required) - URL encoded full path to new file. Ex. lib%2Fclass%2Erb - `ref` (required) - The name of branch, tag or commit -NOTE: **Note:** +NOTE: `HEAD` method return just file metadata as in [Get file from repository](repository_files.md#get-file-from-repository). ```shell @@ -171,7 +171,7 @@ Parameters: - `file_path` (required) - URL encoded full path to new file. Ex. lib%2Fclass%2Erb - `ref` (required) - The name of branch, tag or commit -NOTE: **Note:** +NOTE: Like [Get file from repository](repository_files.md#get-file-from-repository) you can use `HEAD` to get just file metadata. ## Create new file in repository diff --git a/doc/api/repository_submodules.md b/doc/api/repository_submodules.md index 77f64b178f0..9c59920df77 100644 --- a/doc/api/repository_submodules.md +++ b/doc/api/repository_submodules.md @@ -1,7 +1,7 @@ --- stage: Create group: Source Code -info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers" +info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments" type: reference, api --- diff --git a/doc/api/resource_iteration_events.md b/doc/api/resource_iteration_events.md index 47f4d70fdf1..4c351308ae1 100644 --- a/doc/api/resource_iteration_events.md +++ b/doc/api/resource_iteration_events.md @@ -1,7 +1,7 @@ --- stage: Plan group: Project Management -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Resource iteration events API **(STARTER)** diff --git a/doc/api/resource_label_events.md b/doc/api/resource_label_events.md index b088c06b342..6b682eac29c 100644 --- a/doc/api/resource_label_events.md +++ b/doc/api/resource_label_events.md @@ -1,7 +1,7 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Resource label events API diff --git a/doc/api/resource_milestone_events.md b/doc/api/resource_milestone_events.md index 146f67527b7..df51584a4ed 100644 --- a/doc/api/resource_milestone_events.md +++ b/doc/api/resource_milestone_events.md @@ -1,7 +1,7 @@ --- stage: Plan group: Project Management -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Resource milestone events API diff --git a/doc/api/resource_state_events.md b/doc/api/resource_state_events.md index f93e0408300..e81b7ddd272 100644 --- a/doc/api/resource_state_events.md +++ b/doc/api/resource_state_events.md @@ -1,7 +1,7 @@ --- stage: Plan group: Project Management -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Resource state events API diff --git a/doc/api/resource_weight_events.md b/doc/api/resource_weight_events.md index 028878874d2..44c20c5bca8 100644 --- a/doc/api/resource_weight_events.md +++ b/doc/api/resource_weight_events.md @@ -1,7 +1,7 @@ --- stage: Plan group: Project Management -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Resource weight events API diff --git a/doc/api/runners.md b/doc/api/runners.md index 16ecdebcd4f..131418de725 100644 --- a/doc/api/runners.md +++ b/doc/api/runners.md @@ -1,7 +1,7 @@ --- stage: Verify group: Runner -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Runners API @@ -168,7 +168,7 @@ GET /runners/:id curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/runners/6" ``` -NOTE: **Note:** +NOTE: The `token` attribute in the response was deprecated [in GitLab 12.10](https://gitlab.com/gitlab-org/gitlab/-/issues/214320). and removed in [GitLab 13.0](https://gitlab.com/gitlab-org/gitlab/-/issues/214322). @@ -224,13 +224,13 @@ PUT /runners/:id | `run_untagged`| boolean | no | Flag indicating the runner can execute untagged jobs | | `locked` | boolean | no | Flag indicating the runner is locked | | `access_level` | string | no | The access_level of the runner; `not_protected` or `ref_protected` | -| `maximum_timeout` | integer | no | Maximum timeout set when this runner will handle the job | +| `maximum_timeout` | integer | no | Maximum timeout set when this runner handles the job | ```shell curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/runners/6" --form "description=test-1-20150125-test" --form "tag_list=ruby,mysql,tag1,tag2" ``` -NOTE: **Note:** +NOTE: The `token` attribute in the response was deprecated [in GitLab 12.10](https://gitlab.com/gitlab-org/gitlab/-/issues/214320). and removed in [GitLab 13.0](https://gitlab.com/gitlab-org/gitlab/-/issues/214322). @@ -559,7 +559,7 @@ POST /runners | `run_untagged` | boolean | no | Whether the runner should handle untagged jobs | | `tag_list` | string array | no | List of runner's tags | | `access_level` | string | no | The access_level of the runner; `not_protected` or `ref_protected` | -| `maximum_timeout` | integer | no | Maximum timeout set when this runner will handle the job | +| `maximum_timeout` | integer | no | Maximum timeout set when this runner handles the job | ```shell curl --request POST "https://gitlab.example.com/api/v4/runners" --form "token=<registration_token>" --form "description=test-1-20150125-test" --form "tag_list=ruby,mysql,tag1,tag2" diff --git a/doc/api/scim.md b/doc/api/scim.md index 653d56f3e06..a9622525478 100644 --- a/doc/api/scim.md +++ b/doc/api/scim.md @@ -2,7 +2,7 @@ type: reference, howto stage: Manage group: Access -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # SCIM API (SYSTEM ONLY) **(SILVER ONLY)** @@ -33,13 +33,13 @@ Parameters: | `startIndex` | integer | no | The 1-based index indicating where to start returning results from. A value of less than one will be interpreted as 1. | | `count` | integer | no | Desired maximum number of query results. | -NOTE: **Note:** +NOTE: Pagination follows the [SCIM spec](https://tools.ietf.org/html/rfc7644#section-3.4.2.4) rather than GitLab pagination as used elsewhere. If records change between requests it is possible for a page to either be missing records that have moved to a different page or repeat records from a previous request. Example request: ```shell -curl 'https://gitlab.example.com/api/scim/v2/groups/test_group/Users?filter=id%20eq%20"0b1d561c-21ff-4092-beab-8154b17f82f2"' --header "Authorization: Bearer <your_scim_token>" --header "Content-Type: application/scim+json" +curl "https://gitlab.example.com/api/scim/v2/groups/test_group/Users?filter=id%20eq%20%220b1d561c-21ff-4092-beab-8154b17f82f2%22" --header "Authorization: Bearer <your_scim_token>" --header "Content-Type: application/scim+json" ``` Example response: diff --git a/doc/api/search.md b/doc/api/search.md index 8de93ce0d32..bfa5eb576dc 100644 --- a/doc/api/search.md +++ b/doc/api/search.md @@ -1,7 +1,7 @@ --- stage: Create group: Source Code -info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers" +info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments" type: reference, api --- @@ -129,7 +129,8 @@ Example response: ] ``` -**Note**: `assignee` column is deprecated, now we show it as a single-sized array `assignees` to conform to the GitLab EE API. +NOTE: +`assignee` column is deprecated, now we show it as a single-sized array `assignees` to conform to the GitLab EE API. ### Scope: merge_requests @@ -291,8 +292,8 @@ Example response: ] ``` -NOTE: **Note:** -`filename` is deprecated in favor of `path`. Both return the full path of the file inside the repository, but in the future `filename` will be only the file name and not the full path. For details, see [issue 34521](https://gitlab.com/gitlab-org/gitlab/-/issues/34521). +NOTE: +`filename` is deprecated in favor of `path`. Both return the full path of the file inside the repository, but in the future `filename` will be only the filename and not the full path. For details, see [issue 34521](https://gitlab.com/gitlab-org/gitlab/-/issues/34521). ### Scope: commits **(STARTER)** @@ -363,7 +364,7 @@ Example response: ] ``` -NOTE: **Note:** +NOTE: `filename` is deprecated in favor of `path`. Both return the full path of the file inside the repository, but in the future `filename` will be only the file name and not the full path. For details, see [issue 34521](https://gitlab.com/gitlab-org/gitlab/-/issues/34521). ### Scope: notes **(STARTER)** @@ -541,7 +542,8 @@ Example response: ] ``` -**Note**: `assignee` column is deprecated, now we show it as a single-sized array `assignees` to conform to the GitLab EE API. +NOTE: +`assignee` column is deprecated, now we show it as a single-sized array `assignees` to conform to the GitLab EE API. ### Scope: merge_requests @@ -672,8 +674,8 @@ Example response: ] ``` -NOTE **Note:** -`filename` is deprecated in favor of `path`. Both return the full path of the file inside the repository, but in the future `filename` will be only the file name and not the full path. For details, see [issue 34521](https://gitlab.com/gitlab-org/gitlab/-/issues/34521). +NOTE: +`filename` is deprecated in favor of `path`. Both return the full path of the file inside the repository, but in the future `filename` will be only the filename and not the full path. For details, see [issue 34521](https://gitlab.com/gitlab-org/gitlab/-/issues/34521). ### Scope: commits **(STARTER)** @@ -744,7 +746,7 @@ Example response: ] ``` -NOTE **Note:** +NOTE: `filename` is deprecated in favor of `path`. Both return the full path of the file inside the repository, but in the future `filename` will be only the file name and not the full path. For details, see [issue 34521](https://gitlab.com/gitlab-org/gitlab/-/issues/34521). ### Scope: notes **(STARTER)** @@ -890,7 +892,8 @@ Example response: ] ``` -**Note**: `assignee` column is deprecated, now we show it as a single-sized array `assignees` to conform to the GitLab EE API. +NOTE: +`assignee` column is deprecated, now we show it as a single-sized array `assignees` to conform to the GitLab EE API. ### Scope: merge_requests @@ -1068,8 +1071,8 @@ Example response: ] ``` -NOTE: **Note:** -`filename` is deprecated in favor of `path`. Both return the full path of the file inside the repository, but in the future `filename` will be only the file name and not the full path. For details, see [issue 34521](https://gitlab.com/gitlab-org/gitlab/-/issues/34521). +NOTE: +`filename` is deprecated in favor of `path`. Both return the full path of the file inside the repository, but in the future `filename` will be only the filename and not the full path. For details, see [issue 34521](https://gitlab.com/gitlab-org/gitlab/-/issues/34521). ### Scope: commits @@ -1142,8 +1145,8 @@ Example response: ] ``` -NOTE: **Note:** -`filename` is deprecated in favor of `path`. Both return the full path of the file inside the repository, but in the future `filename` will be only the file name and not the full path. For details, see [issue 34521](https://gitlab.com/gitlab-org/gitlab/-/issues/34521). +NOTE: +`filename` is deprecated in favor of `path`. Both return the full path of the file inside the repository, but in the future `filename` will be only the filename and not the full path. For details, see [issue 34521](https://gitlab.com/gitlab-org/gitlab/-/issues/34521). ### Scope: users diff --git a/doc/api/services.md b/doc/api/services.md index a60eacef1d8..68485d23557 100644 --- a/doc/api/services.md +++ b/doc/api/services.md @@ -1,12 +1,12 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Services API -NOTE: **Note:** +NOTE: This API requires an access token with Maintainer or Owner permissions ## List all active services @@ -74,7 +74,7 @@ Asana - Teamwork without email Set Asana service for a project. -> This service adds commit messages as comments to Asana tasks. Once enabled, commit messages are checked for Asana task URLs (for example, `https://app.asana.com/0/123456/987654`) or task IDs starting with # (for example, `#987654`). Every task ID found will get the commit comment added to it. You can also close a task with a message containing: `fix #123456`. You can find your API Keys here: <https://developers.asana.com/docs/#authentication-basics>. +> This service adds commit messages as comments to Asana tasks. Once enabled, commit messages are checked for Asana task URLs (for example, `https://app.asana.com/0/123456/987654`) or task IDs starting with # (for example, `#987654`). Every task ID found gets the commit comment added to it. You can also close a task with a message containing: `fix #123456`. You can find your API Keys here: <https://developers.asana.com/docs/#authentication-basics>. ```plaintext PUT /projects/:id/services/asana @@ -84,8 +84,8 @@ Parameters: | Parameter | Type | Required | Description | | --------- | ---- | -------- | ----------- | -| `api_key` | string | true | User API token. User must have access to task, all comments will be attributed to this user. | -| `restrict_to_branch` | string | false | Comma-separated list of branches which will be automatically inspected. Leave blank to include all branches. | +| `api_key` | string | true | User API token. User must have access to task, all comments are attributed to this user. | +| `restrict_to_branch` | string | false | Comma-separated list of branches which are automatically inspected. Leave blank to include all branches. | | `push_events` | boolean | false | Enable notifications for push events | ### Delete Asana service @@ -237,7 +237,7 @@ Parameters: | --------- | ---- | -------- | ----------- | | `token` | string | true | Buildkite project GitLab token | | `project_url` | string | true | Pipeline URL. For example, `https://buildkite.com/example/pipeline` | -| `enable_ssl_verification` | boolean | false | DEPRECATED: This parameter has no effect since SSL verification will always be enabled | +| `enable_ssl_verification` | boolean | false | DEPRECATED: This parameter has no effect since SSL verification is always enabled | | `push_events` | boolean | false | Enable notifications for push events | ### Delete Buildkite service @@ -482,7 +482,7 @@ Parameters: | `send_from_committer_email` | boolean | false | Send from committer | | `push_events` | boolean | false | Enable notifications for push events | | `tag_push_events` | boolean | false | Enable notifications for tag push events | -| `branches_to_be_notified` | string | false | Branches to send notifications for. Valid options are "all", "default", "protected", and "default_and_protected". Notifications will be always fired for tag pushes. The default value is "all" | +| `branches_to_be_notified` | string | false | Branches to send notifications for. Valid options are "all", "default", "protected", and "default_and_protected". Notifications are always fired for tag pushes. The default value is "all" | ### Delete Emails on push service @@ -655,7 +655,7 @@ Set Hangouts Chat service for a project. PUT /projects/:id/services/hangouts-chat ``` -NOTE: **Note:** +NOTE: Specific event parameters (for example, `push_events` flag) were [introduced in v10.4](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/11435) Parameters: @@ -747,7 +747,8 @@ Send IRC messages, on update, to a list of recipients through an Irker gateway. Set Irker (IRC gateway) service for a project. -> NOTE: Irker does NOT have built-in authentication, which makes it vulnerable to spamming IRC channels if it is hosted outside of a firewall. Please make sure you run the daemon within a secured network to prevent abuse. For more details, read: <http://www.catb.org/~esr/irker/security.html>. +NOTE: +Irker does NOT have built-in authentication, which makes it vulnerable to spamming IRC channels if it is hosted outside of a firewall. Please make sure you run the daemon within a secured network to prevent abuse. For more details, read: <http://www.catb.org/~esr/irker/security.html>. ```plaintext PUT /projects/:id/services/irker @@ -809,7 +810,7 @@ Parameters: | Parameter | Type | Required | Description | | --------- | ---- | -------- | ----------- | | `url` | string | yes | The URL to the Jira project which is being linked to this GitLab project. For example, `https://jira.example.com`. | -| `api_url` | string | no | The base URL to the Jira instance API. Web URL value will be used if not set. For example, `https://jira-api.example.com`. | +| `api_url` | string | no | The base URL to the Jira instance API. Web URL value is used if not set. For example, `https://jira-api.example.com`. | | `username` | string | yes | The username of the user created to be used with GitLab/Jira. | | `password` | string | yes | The password of the user created to be used with GitLab/Jira. | | `active` | boolean | no | Activates or deactivates the service. Defaults to false (deactivated). | @@ -1015,7 +1016,7 @@ Parameters: | Parameter | Type | Required | Description | | --------- | ---- | -------- | ----------- | | `token` | string | true | The PivotalTracker token | -| `restrict_to_branch` | boolean | false | Comma-separated list of branches which will be automatically inspected. Leave blank to include all branches. | +| `restrict_to_branch` | boolean | false | Comma-separated list of branches to automatically inspect. Leave blank to include all branches. | | `push_events` | boolean | false | Enable notifications for push events | ### Delete PivotalTracker service @@ -1159,7 +1160,7 @@ Set Slack service for a project. PUT /projects/:id/services/slack ``` -NOTE: **Note:** +NOTE: Specific event parameters (for example, `push_events` flag and `push_channel`) were [introduced in v10.4](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/11435) Parameters: @@ -1269,7 +1270,7 @@ Set Mattermost service for a project. PUT /projects/:id/services/mattermost ``` -NOTE: **Note:** +NOTE: Specific event parameters (for example, `push_events` flag and `push_channel`) were [introduced in v10.4](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/11435) Parameters: @@ -1325,7 +1326,7 @@ A continuous integration and build server Set JetBrains TeamCity CI service for a project. -> The build configuration in TeamCity must use the build format number `%build.vcs.number%` you will also want to configure monitoring of all branches so merge requests build, that setting is in the VSC root advanced settings. +> The build configuration in TeamCity must use the build format number `%build.vcs.number%`. Configure monitoring of all branches so merge requests build. That setting is in the VSC root advanced settings. ```plaintext PUT /projects/:id/services/teamcity @@ -1396,7 +1397,7 @@ GET /projects/:id/services/jenkins A continuous integration and build server -NOTE: **Note:** +NOTE: This service was [removed in v13.0](https://gitlab.com/gitlab-org/gitlab/-/issues/1600) ### Create/Edit Jenkins CI (Deprecated) service @@ -1411,7 +1412,7 @@ Parameters: - `project_url` (**required**) - Jenkins project URL like `http://jenkins.example.com/job/my-project/` - `multiproject_enabled` (optional) - Multi-project mode is configured in Jenkins GitLab Hook plugin -- `pass_unstable` (optional) - Unstable builds will be treated as passing +- `pass_unstable` (optional) - Unstable builds are treated as passing ### Delete Jenkins CI (Deprecated) service diff --git a/doc/api/settings.md b/doc/api/settings.md index 5b04ee9d368..5680687e87e 100644 --- a/doc/api/settings.md +++ b/doc/api/settings.md @@ -1,7 +1,7 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Application settings API **(CORE ONLY)** @@ -28,59 +28,62 @@ Example response: ```json { - "default_projects_limit" : 100000, - "signup_enabled" : true, - "id" : 1, - "default_branch_protection" : 2, - "restricted_visibility_levels" : [], - "password_authentication_enabled_for_web" : true, - "after_sign_out_path" : null, - "max_attachment_size" : 10, - "max_import_size": 50, - "user_oauth_applications" : true, - "updated_at" : "2016-01-04T15:44:55.176Z", - "session_expire_delay" : 10080, - "home_page_url" : null, - "default_snippet_visibility" : "private", - "outbound_local_requests_whitelist": [], - "domain_allowlist" : [], - "domain_denylist_enabled" : false, - "domain_denylist" : [], - "created_at" : "2016-01-04T15:44:55.176Z", - "default_ci_config_path" : null, - "default_project_visibility" : "private", - "default_group_visibility" : "private", - "gravatar_enabled" : true, - "sign_in_text" : null, - "container_expiration_policies_enable_historic_entries": true, - "container_registry_token_expire_delay": 5, - "repository_storages_weighted": {"default": 100}, - "plantuml_enabled": false, - "plantuml_url": null, - "terminal_max_session_time": 0, - "polling_interval_multiplier": 1.0, - "rsa_key_restriction": 0, - "dsa_key_restriction": 0, - "ecdsa_key_restriction": 0, - "ed25519_key_restriction": 0, - "first_day_of_week": 0, - "enforce_terms": true, - "terms": "Hello world!", - "performance_bar_allowed_group_id": 42, - "user_show_add_ssh_key_message": true, - "local_markdown_version": 0, - "allow_local_requests_from_hooks_and_services": true, - "allow_local_requests_from_web_hooks_and_services": true, - "allow_local_requests_from_system_hooks": false, - "asset_proxy_enabled": true, - "asset_proxy_url": "https://assets.example.com", - "asset_proxy_whitelist": ["example.com", "*.example.com", "your-instance.com"], - "npm_package_requests_forwarding": true, - "snippet_size_limit": 52428800, - "issues_create_limit": 300, - "raw_blob_request_limit": 300, - "wiki_page_max_content_bytes": 52428800, - "require_admin_approval_after_user_signup": false + "default_projects_limit" : 100000, + "signup_enabled" : true, + "id" : 1, + "default_branch_protection" : 2, + "restricted_visibility_levels" : [], + "password_authentication_enabled_for_web" : true, + "after_sign_out_path" : null, + "max_attachment_size" : 10, + "max_import_size": 50, + "user_oauth_applications" : true, + "updated_at" : "2016-01-04T15:44:55.176Z", + "session_expire_delay" : 10080, + "home_page_url" : null, + "default_snippet_visibility" : "private", + "outbound_local_requests_whitelist": [], + "domain_allowlist" : [], + "domain_denylist_enabled" : false, + "domain_denylist" : [], + "created_at" : "2016-01-04T15:44:55.176Z", + "default_ci_config_path" : null, + "default_project_visibility" : "private", + "default_group_visibility" : "private", + "gravatar_enabled" : true, + "sign_in_text" : null, + "container_expiration_policies_enable_historic_entries": true, + "container_registry_token_expire_delay": 5, + "repository_storages_weighted": {"default": 100}, + "plantuml_enabled": false, + "plantuml_url": null, + "kroki_enabled": false, + "kroki_url": null, + "terminal_max_session_time": 0, + "polling_interval_multiplier": 1.0, + "rsa_key_restriction": 0, + "dsa_key_restriction": 0, + "ecdsa_key_restriction": 0, + "ed25519_key_restriction": 0, + "first_day_of_week": 0, + "enforce_terms": true, + "terms": "Hello world!", + "performance_bar_allowed_group_id": 42, + "user_show_add_ssh_key_message": true, + "local_markdown_version": 0, + "allow_local_requests_from_hooks_and_services": true, + "allow_local_requests_from_web_hooks_and_services": true, + "allow_local_requests_from_system_hooks": false, + "asset_proxy_enabled": true, + "asset_proxy_url": "https://assets.example.com", + "asset_proxy_whitelist": ["example.com", "*.example.com", "your-instance.com"], + "npm_package_requests_forwarding": true, + "snippet_size_limit": 52428800, + "issues_create_limit": 300, + "raw_blob_request_limit": 300, + "wiki_page_max_content_bytes": 52428800, + "require_admin_approval_after_user_signup": false, + "personal_access_token_prefix": "GL-" } ``` @@ -89,12 +92,12 @@ the `file_template_project_id`, `deletion_adjourned_period`, or the `geo_node_al ```json { - "id" : 1, - "signup_enabled" : true, - "file_template_project_id": 1, - "geo_node_allowed_ips": "0.0.0.0/0, ::/0", - "deletion_adjourned_period": 7, - ... + "id" : 1, + "signup_enabled" : true, + "file_template_project_id": 1, + "geo_node_allowed_ips": "0.0.0.0/0, ::/0", + "deletion_adjourned_period": 7, + ... } ``` @@ -172,7 +175,8 @@ Example response: "issues_create_limit": 300, "raw_blob_request_limit": 300, "wiki_page_max_content_bytes": 52428800, - "require_admin_approval_after_user_signup": false + "require_admin_approval_after_user_signup": false, + "personal_access_token_prefix": "GL-" } ``` @@ -209,16 +213,16 @@ listed in the descriptions of the relevant settings. | `allow_local_requests_from_hooks_and_services` | boolean | no | (Deprecated: Use `allow_local_requests_from_web_hooks_and_services` instead) Allow requests to the local network from hooks and services. | | `allow_local_requests_from_system_hooks` | boolean | no | Allow requests to the local network from system hooks. | | `allow_local_requests_from_web_hooks_and_services` | boolean | no | Allow requests to the local network from web hooks and services. | -| `archive_builds_in_human_readable` | string | no | Set the duration for which the jobs will be considered as old and expired. Once that time passes, the jobs will be archived and no longer able to be retried. Make it empty to never expire jobs. It has to be no less than 1 day, for example: <code>15 days</code>, <code>1 month</code>, <code>2 years</code>. | +| `archive_builds_in_human_readable` | string | no | Set the duration for which the jobs are considered as old and expired. After that time passes, the jobs are archived and no longer able to be retried. Make it empty to never expire jobs. It has to be no less than 1 day, for example: <code>15 days</code>, <code>1 month</code>, <code>2 years</code>. | | `asset_proxy_enabled` | boolean | no | (**If enabled, requires:** `asset_proxy_url`) Enable proxying of assets. GitLab restart is required to apply changes. | | `asset_proxy_secret_key` | string | no | Shared secret with the asset proxy server. GitLab restart is required to apply changes. | | `asset_proxy_url` | string | no | URL of the asset proxy server. GitLab restart is required to apply changes. | -| `asset_proxy_whitelist` | string or array of strings | no | Assets that match these domain(s) will NOT be proxied. Wildcards allowed. Your GitLab installation URL is automatically whitelisted. GitLab restart is required to apply changes. | +| `asset_proxy_whitelist` | string or array of strings | no | Assets that match these domain(s) are **not** proxied. Wildcards allowed. Your GitLab installation URL is automatically allowlisted. GitLab restart is required to apply changes. | | `authorized_keys_enabled` | boolean | no | By default, we write to the `authorized_keys` file to support Git over SSH without additional configuration. GitLab can be optimized to authenticate SSH keys via the database file. Only disable this if you have configured your OpenSSH server to use the AuthorizedKeysCommand. | | `auto_devops_domain` | string | no | Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages. | -| `auto_devops_enabled` | boolean | no | Enable Auto DevOps for projects by default. It will automatically build, test, and deploy applications based on a predefined CI/CD configuration. | +| `auto_devops_enabled` | boolean | no | Enable Auto DevOps for projects by default. It automatically builds, tests, and deploys applications based on a predefined CI/CD configuration. | | `automatic_purchased_storage_allocation` | boolean | no | Enabling this permits automatic allocation of purchased storage within a namespace. | -| `check_namespace_plan` | boolean | no | **(PREMIUM)** Enabling this will make only licensed EE features available to projects if the project namespace's plan includes the feature or if the project is public. | +| `check_namespace_plan` | boolean | no | **(PREMIUM)** Enabling this makes only licensed EE features available to projects if the project namespace's plan includes the feature or if the project is public. | | `commit_email_hostname` | string | no | Custom hostname (for private commit emails). | | `container_registry_token_expire_delay` | integer | no | Container Registry token duration in minutes. | | `default_artifacts_expire_in` | string | no | Set the default expiration time for each job's artifacts. | @@ -231,10 +235,11 @@ listed in the descriptions of the relevant settings. | `default_snippet_visibility` | string | no | What visibility level new snippets receive. Can take `private`, `internal` and `public` as a parameter. Default is `private`. | | `deletion_adjourned_period` | integer | no | **(PREMIUM ONLY)** The number of days to wait before deleting a project or group that is marked for deletion. Value must be between 0 and 90. | `diff_max_patch_bytes` | integer | no | Maximum diff patch size (Bytes). | +| `disable_feed_token` | boolean | no | Disable display of RSS/Atom and calendar feed tokens ([introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/231493) in GitLab 13.7) | | `disabled_oauth_sign_in_sources` | array of strings | no | Disabled OAuth sign-in sources. | | `dns_rebinding_protection_enabled` | boolean | no | Enforce DNS rebinding attack protection. | | `domain_denylist_enabled` | boolean | no | (**If enabled, requires:** `domain_denylist`) Allows blocking sign-ups from emails from specific domains. | -| `domain_denylist` | array of strings | no | Users with e-mail addresses that match these domain(s) will NOT be able to sign-up. Wildcards allowed. Use separate lines for multiple entries. Ex: `domain.com`, `*.domain.com`. | +| `domain_denylist` | array of strings | no | Users with e-mail addresses that match these domain(s) **cannot** sign up. Wildcards allowed. Use separate lines for multiple entries. Ex: `domain.com`, `*.domain.com`. | | `domain_allowlist` | array of strings | no | Force people to use only corporate emails for sign-up. Default is `null`, meaning there is no restriction. | | `dsa_key_restriction` | integer | no | The minimum allowed bit length of an uploaded DSA key. Default is `0` (no restriction). `-1` disables DSA keys. | | `ecdsa_key_restriction` | integer | no | The minimum allowed curve size (in bits) of an uploaded ECDSA key. Default is `0` (no restriction). `-1` disables ECDSA keys. | @@ -247,8 +252,8 @@ listed in the descriptions of the relevant settings. | `elasticsearch_aws_region` | string | no | **(PREMIUM)** The AWS region the Elasticsearch domain is configured | | `elasticsearch_aws_secret_access_key` | string | no | **(PREMIUM)** AWS IAM secret access key | | `elasticsearch_aws` | boolean | no | **(PREMIUM)** Enable the use of AWS hosted Elasticsearch | -| `elasticsearch_indexed_field_length_limit` | integer | no | **(PREMIUM)** Maximum size of text fields that will be indexed by Elasticsearch. 0 value means no limit. This does not apply to repository and wiki indexing. | -| `elasticsearch_indexed_file_size_limit_kb` | integer | no | **(PREMIUM)** Maximum size of repository and wiki files that will be indexed by Elasticsearch. | +| `elasticsearch_indexed_field_length_limit` | integer | no | **(PREMIUM)** Maximum size of text fields to index by Elasticsearch. 0 value means no limit. This does not apply to repository and wiki indexing. | +| `elasticsearch_indexed_file_size_limit_kb` | integer | no | **(PREMIUM)** Maximum size of repository and wiki files that are indexed by Elasticsearch. | | `elasticsearch_indexing` | boolean | no | **(PREMIUM)** Enable Elasticsearch indexing | | `elasticsearch_limit_indexing` | boolean | no | **(PREMIUM)** Limit Elasticsearch to index certain namespaces and projects | | `elasticsearch_max_bulk_concurrency` | integer | no | **(PREMIUM)** Maximum concurrency of Elasticsearch bulk requests per indexing operation. This only applies to repository indexing operations. | @@ -272,14 +277,14 @@ listed in the descriptions of the relevant settings. | `file_template_project_id` | integer | no | **(PREMIUM)** The ID of a project to load custom file templates from | | `first_day_of_week` | integer | no | Start day of the week for calendar views and date pickers. Valid values are `0` (default) for Sunday, `1` for Monday, and `6` for Saturday. | | `geo_node_allowed_ips` | string | yes | **(PREMIUM)** Comma-separated list of IPs and CIDRs of allowed secondary nodes. For example, `1.1.1.1, 2.2.2.0/24`. | -| `geo_status_timeout` | integer | no | **(PREMIUM)** The amount of seconds after which a request to get a secondary node status will time out. | +| `geo_status_timeout` | integer | no | **(PREMIUM)** The amount of seconds after which a request to get a secondary node status times out. | | `gitaly_timeout_default` | integer | no | Default Gitaly timeout, in seconds. This timeout is not enforced for Git fetch/push operations or Sidekiq jobs. Set to `0` to disable timeouts. | | `gitaly_timeout_fast` | integer | no | Gitaly fast operation timeout, in seconds. Some Gitaly operations are expected to be fast. If they exceed this threshold, there may be a problem with a storage shard and 'failing fast' can help maintain the stability of the GitLab instance. Set to `0` to disable timeouts. | | `gitaly_timeout_medium` | integer | no | Medium Gitaly timeout, in seconds. This should be a value between the Fast and the Default timeout. Set to `0` to disable timeouts. | | `grafana_enabled` | boolean | no | Enable Grafana. | | `grafana_url` | string | no | Grafana URL. | | `gravatar_enabled` | boolean | no | Enable Gravatar. | -| `hashed_storage_enabled` | boolean | no | Create new projects using hashed storage paths: Enable immutable, hash-based paths and repository names to store repositories on disk. This prevents repositories from having to be moved or renamed when the Project URL changes and may improve disk I/O performance. (Always enabled since 13.0, configuration will be removed in 14.0) | +| `hashed_storage_enabled` | boolean | no | Create new projects using hashed storage paths: Enable immutable, hash-based paths and repository names to store repositories on disk. This prevents repositories from having to be moved or renamed when the Project URL changes and may improve disk I/O performance. (Always enabled since 13.0, configuration is scheduled for removal in 14.0) | | `help_page_hide_commercial_content` | boolean | no | Hide marketing-related entries from help. | | `help_page_support_url` | string | no | Alternate support URL for help page and help dropdown. | | `help_page_text` | string | no | Custom text displayed on the help page. | @@ -292,7 +297,7 @@ listed in the descriptions of the relevant settings. | `housekeeping_gc_period` | integer | required by: `housekeeping_enabled` | Number of Git pushes after which `git gc` is run. | | `housekeeping_incremental_repack_period` | integer | required by: `housekeeping_enabled` | Number of Git pushes after which an incremental `git repack` is run. | | `html_emails_enabled` | boolean | no | Enable HTML emails. | -| `import_sources` | array of strings | no | Sources to allow project import from, possible values: `github`, `bitbucket`, `bitbucket_server`, `gitlab`, `google_code`, `fogbugz`, `git`, `gitlab_project`, `gitea`, `manifest`, and `phabricator`. | +| `import_sources` | array of strings | no | Sources to allow project import from, possible values: `github`, `bitbucket`, `bitbucket_server`, `gitlab`, `fogbugz`, `git`, `gitlab_project`, `gitea`, `manifest`, and `phabricator`. | | `issues_create_limit` | integer | no | Max number of issue creation requests per minute per user. Disabled by default.| | `local_markdown_version` | integer | no | Increase this value when any cached Markdown should be invalidated. | | `maintenance_mode_message` | string | no | **(PREMIUM)** Message displayed when instance is in maintenance mode | @@ -303,7 +308,7 @@ listed in the descriptions of the relevant settings. | `max_pages_size` | integer | no | Maximum size of pages repositories in MB | | `max_personal_access_token_lifetime` | integer | no | **(ULTIMATE ONLY)** Maximum allowable lifetime for personal access tokens in days | | `metrics_method_call_threshold` | integer | no | A method call is only tracked when it takes longer than the given amount of milliseconds. | -| `mirror_available` | boolean | no | Allow repository mirroring to configured by project Maintainers. If disabled, only Admins will be able to configure repository mirroring. | +| `mirror_available` | boolean | no | Allow repository mirroring to configured by project Maintainers. If disabled, only Admins can configure repository mirroring. | | `mirror_capacity_threshold` | integer | no | **(PREMIUM)** Minimum capacity to be available before scheduling more mirrors preemptively | | `mirror_max_capacity` | integer | no | **(PREMIUM)** Maximum number of mirrors that can be synchronizing at the same time. | | `mirror_max_delay` | integer | no | **(PREMIUM)** Maximum time (in minutes) between updates that a mirror can have when scheduled to synchronize. | @@ -315,23 +320,24 @@ listed in the descriptions of the relevant settings. | `performance_bar_allowed_group_id` | string | no | (Deprecated: Use `performance_bar_allowed_group_path` instead) Path of the group that is allowed to toggle the performance bar. | | `performance_bar_allowed_group_path` | string | no | Path of the group that is allowed to toggle the performance bar. | | `performance_bar_enabled` | boolean | no | (Deprecated: Pass `performance_bar_allowed_group_path: nil` instead) Allow enabling the performance bar. | +| `personal_access_token_prefix` | string | no | Prefix for all generated personal access tokens. | | `plantuml_enabled` | boolean | no | (**If enabled, requires:** `plantuml_url`) Enable PlantUML integration. Default is `false`. | | `plantuml_url` | string | required by: `plantuml_enabled` | The PlantUML instance URL for integration. | | `polling_interval_multiplier` | decimal | no | Interval multiplier used by endpoints that perform polling. Set to `0` to disable polling. | | `project_export_enabled` | boolean | no | Enable project export. | | `prometheus_metrics_enabled` | boolean | no | Enable Prometheus metrics. | | `protected_ci_variables` | boolean | no | Environment variables are protected by default. | -| `pseudonymizer_enabled` | boolean | no | **(PREMIUM)** When enabled, GitLab will run a background job that will produce pseudonymized CSVs of the GitLab database that will be uploaded to your configured object storage directory. -| `push_event_activities_limit` | integer | no | Number of changes (branches or tags) in a single push to determine whether individual push events or bulk push events will be created. [Bulk push events will be created](../user/admin_area/settings/push_event_activities_limit.md) if it surpasses that value. | -| `push_event_hooks_limit` | integer | no | Number of changes (branches or tags) in a single push to determine whether webhooks and services will be fired or not. Webhooks and services won't be submitted if it surpasses that value. | +| `pseudonymizer_enabled` | boolean | no | **(PREMIUM)** When enabled, GitLab runs a background job that produces pseudonymized CSVs of the GitLab database to upload to your configured object storage directory. +| `push_event_activities_limit` | integer | no | Number of changes (branches or tags) in a single push to determine whether individual push events or bulk push events are created. [Bulk push events are created](../user/admin_area/settings/push_event_activities_limit.md) if it surpasses that value. | +| `push_event_hooks_limit` | integer | no | Number of changes (branches or tags) in a single push to determine whether webhooks and services fire or not. Webhooks and services aren't submitted if it surpasses that value. | | `raw_blob_request_limit` | integer | no | Max number of requests per minute for each raw path. Default: 300. To disable throttling set to 0.| | `recaptcha_enabled` | boolean | no | (**If enabled, requires:** `recaptcha_private_key` and `recaptcha_site_key`) Enable reCAPTCHA. | | `recaptcha_private_key` | string | required by: `recaptcha_enabled` | Private key for reCAPTCHA. | | `recaptcha_site_key` | string | required by: `recaptcha_enabled` | Site key for reCAPTCHA. | | `receive_max_input_size` | integer | no | Maximum push size (MB). | -| `repository_checks_enabled` | boolean | no | GitLab will periodically run `git fsck` in all project and wiki repositories to look for silent disk corruption issues. | +| `repository_checks_enabled` | boolean | no | GitLab periodically runs `git fsck` in all project and wiki repositories to look for silent disk corruption issues. | | `repository_size_limit` | integer | no | **(PREMIUM)** Size limit per repository (MB) | -| `repository_storages_weighted` | hash of strings to integers | no | (GitLab 13.1 and later) Hash of names of taken from `gitlab.yml` to [weights](../administration/repository_storage_paths.md#choose-where-new-repositories-will-be-stored). New projects are created in one of these stores, chosen by a weighted random selection. | +| `repository_storages_weighted` | hash of strings to integers | no | (GitLab 13.1 and later) Hash of names of taken from `gitlab.yml` to [weights](../administration/repository_storage_paths.md#choose-where-new-repositories-are-stored). New projects are created in one of these stores, chosen by a weighted random selection. | | `repository_storages` | array of strings | no | (GitLab 13.0 and earlier) List of names of enabled storage paths, taken from `gitlab.yml`. New projects are created in one of these stores, chosen at random. | | `require_admin_approval_after_user_signup` | boolean | no | When enabled, any user that signs up for an account using the registration form is placed under a **Pending approval** state and has to be explicitly [approved](../user/admin_area/approving_users.md) by an administrator. | | `require_two_factor_authentication` | boolean | no | (**If enabled, requires:** `two_factor_grace_period`) Require all users to set up Two-factor authentication. | @@ -374,9 +380,9 @@ listed in the descriptions of the relevant settings. | `two_factor_grace_period` | integer | required by: `require_two_factor_authentication` | Amount of time (in hours) that users are allowed to skip forced configuration of two-factor authentication. | | `unique_ips_limit_enabled` | boolean | no | (**If enabled, requires:** `unique_ips_limit_per_user` and `unique_ips_limit_time_window`) Limit sign in from multiple IPs. | | `unique_ips_limit_per_user` | integer | required by: `unique_ips_limit_enabled` | Maximum number of IPs per user. | -| `unique_ips_limit_time_window` | integer | required by: `unique_ips_limit_enabled` | How many seconds an IP will be counted towards the limit. | -| `usage_ping_enabled` | boolean | no | Every week GitLab will report license usage back to GitLab, Inc. | -| `user_default_external` | boolean | no | Newly registered users will be external by default. | +| `unique_ips_limit_time_window` | integer | required by: `unique_ips_limit_enabled` | How many seconds an IP is counted towards the limit. | +| `usage_ping_enabled` | boolean | no | Every week GitLab reports license usage back to GitLab, Inc. | +| `user_default_external` | boolean | no | Newly registered users are external by default. | | `user_default_internal_regex` | string | no | Specify an e-mail address regex pattern to identify default internal users. | | `user_oauth_applications` | boolean | no | Allow users to register any application to use GitLab as an OAuth provider. | | `user_show_add_ssh_key_message` | boolean | no | When set to `false` disable the "You won't be able to pull or push project code via SSH" warning shown to users with no uploaded SSH key. | diff --git a/doc/api/sidekiq_metrics.md b/doc/api/sidekiq_metrics.md index 914f5fbf42a..2f018e67628 100644 --- a/doc/api/sidekiq_metrics.md +++ b/doc/api/sidekiq_metrics.md @@ -1,7 +1,7 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Sidekiq Metrics API **(CORE ONLY)** diff --git a/doc/api/snippets.md b/doc/api/snippets.md index c2812de5dd7..670045df66d 100644 --- a/doc/api/snippets.md +++ b/doc/api/snippets.md @@ -1,7 +1,7 @@ --- stage: Create group: Editor -info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers" +info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments" type: reference, api --- @@ -189,7 +189,7 @@ Hello World snippet Create a new snippet. -NOTE: **Note:** +NOTE: The user must have permission to create new snippets. ```plaintext @@ -272,7 +272,7 @@ Example response: Update an existing snippet. -NOTE: **Note:** +NOTE: The user must have permission to change an existing snippet. ```plaintext @@ -451,7 +451,7 @@ Example response: > [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/12655) in GitLab 9.4. -NOTE: **Note:** +NOTE: Available only for administrators. ```plaintext diff --git a/doc/api/statistics.md b/doc/api/statistics.md index 6a41a960eba..3899d5bde76 100644 --- a/doc/api/statistics.md +++ b/doc/api/statistics.md @@ -1,7 +1,7 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Application statistics API @@ -11,7 +11,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w List the current statistics of the GitLab instance. You have to be an administrator in order to perform this action. -NOTE: **Note:** +NOTE: These statistics are approximate. ```plaintext diff --git a/doc/api/suggestions.md b/doc/api/suggestions.md index 10528fe33b9..9f878cd029a 100644 --- a/doc/api/suggestions.md +++ b/doc/api/suggestions.md @@ -1,7 +1,7 @@ --- stage: Create group: Source Code -info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers" +info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments" type: reference, api --- diff --git a/doc/api/system_hooks.md b/doc/api/system_hooks.md index 00cd88c88dd..855436864cc 100644 --- a/doc/api/system_hooks.md +++ b/doc/api/system_hooks.md @@ -1,7 +1,7 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # System hooks API @@ -55,9 +55,9 @@ POST /hooks | Attribute | Type | Required | Description | | --------- | ---- | -------- | ----------- | | `url` | string | yes | The hook URL | -| `token` | string | no | Secret token to validate received payloads; this will not be returned in the response | -| `push_events` | boolean | no | When true, the hook will fire on push events | -| `tag_push_events` | boolean | no | When true, the hook will fire on new tags being pushed | +| `token` | string | no | Secret token to validate received payloads; this isn't returned in the response | +| `push_events` | boolean | no | When true, the hook fires on push events | +| `tag_push_events` | boolean | no | When true, the hook fires on new tags being pushed | | `merge_requests_events` | boolean | no | Trigger hook on merge requests events | | `repository_update_events` | boolean | no | Trigger hook on repository update events | | `enable_ssl_verification` | boolean | no | Do SSL verification when triggering the hook | diff --git a/doc/api/tags.md b/doc/api/tags.md index 8584de83357..126bc010022 100644 --- a/doc/api/tags.md +++ b/doc/api/tags.md @@ -1,7 +1,7 @@ --- stage: Create group: Source Code -info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers" +info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments" type: reference, api --- diff --git a/doc/api/templates/dockerfiles.md b/doc/api/templates/dockerfiles.md index fd0edfce8e5..a86dc36e141 100644 --- a/doc/api/templates/dockerfiles.md +++ b/doc/api/templates/dockerfiles.md @@ -1,7 +1,7 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments type: reference --- @@ -20,7 +20,7 @@ GET /templates/dockerfiles ``` ```shell -curl https://gitlab.example.com/api/v4/templates/dockerfiles +curl "https://gitlab.example.com/api/v4/templates/dockerfiles" ``` Example response: @@ -119,7 +119,7 @@ GET /templates/dockerfiles/:key | `key` | string | yes | The key of the Dockerfile template | ```shell -curl https://gitlab.example.com/api/v4/templates/dockerfiles/Binary +curl "https://gitlab.example.com/api/v4/templates/dockerfiles/Binary" ``` Example response: diff --git a/doc/api/templates/gitignores.md b/doc/api/templates/gitignores.md index b957c582755..6f2e5a83903 100644 --- a/doc/api/templates/gitignores.md +++ b/doc/api/templates/gitignores.md @@ -1,19 +1,18 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments type: reference --- # .gitignore API -In GitLab, there is an API endpoint available for `.gitignore`. For more -information on `gitignore`, see the -[Git documentation](https://git-scm.com/docs/gitignore). +In GitLab, the `/gitignores` endpoint returns a list of Git `.gitignore` templates. For more information, +see the [Git documentation for `.gitignore`](https://git-scm.com/docs/gitignore). -## List `.gitignore` templates +## Get all `.gitignore` templates -Get all `.gitignore` templates. +Get a list of all `.gitignore` templates: ```plaintext GET /templates/gitignores @@ -22,7 +21,7 @@ GET /templates/gitignores Example request: ```shell -curl https://gitlab.example.com/api/v4/templates/gitignores +curl "https://gitlab.example.com/api/v4/templates/gitignores" ``` Example response: @@ -112,9 +111,9 @@ Example response: ] ``` -## Single `.gitignore` template +## Get a single `.gitignore` template -Get a single `.gitignore` template. +Get a single `.gitignore` template: ```plaintext GET /templates/gitignores/:key @@ -127,7 +126,7 @@ GET /templates/gitignores/:key Example request: ```shell -curl https://gitlab.example.com/api/v4/templates/gitignores/Ruby +curl "https://gitlab.example.com/api/v4/templates/gitignores/Ruby" ``` Example response: diff --git a/doc/api/templates/gitlab_ci_ymls.md b/doc/api/templates/gitlab_ci_ymls.md index 45bc0f55095..8f78c600392 100644 --- a/doc/api/templates/gitlab_ci_ymls.md +++ b/doc/api/templates/gitlab_ci_ymls.md @@ -1,7 +1,7 @@ --- stage: Verify group: Continuous Integration -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments type: reference --- diff --git a/doc/api/templates/licenses.md b/doc/api/templates/licenses.md index d1044b23306..fb76bd81e50 100644 --- a/doc/api/templates/licenses.md +++ b/doc/api/templates/licenses.md @@ -1,7 +1,7 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments type: reference --- @@ -25,7 +25,7 @@ GET /templates/licenses | `popular` | boolean | no | If passed, returns only popular licenses | ```shell -curl https://gitlab.example.com/api/v4/templates/licenses?popular=1 +curl "https://gitlab.example.com/api/v4/templates/licenses?popular=1" ``` Example response: @@ -123,12 +123,12 @@ GET /templates/licenses/:key | `project` | string | no | The copyrighted project name | | `fullname` | string | no | The full-name of the copyright holder | -NOTE: **Note:** +NOTE: If you omit the `fullname` parameter but authenticate your request, the name of -the authenticated user will be used to replace the copyright holder placeholder. +the authenticated user replaces the copyright holder placeholder. ```shell -curl --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/templates/licenses/mit?project=My+Cool+Project +curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/templates/licenses/mit?project=My+Cool+Project" ``` Example response: diff --git a/doc/api/todos.md b/doc/api/todos.md index 06b99ab8c53..203d1bc6f03 100644 --- a/doc/api/todos.md +++ b/doc/api/todos.md @@ -1,7 +1,7 @@ --- stage: Plan group: Project Management -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # To dos API diff --git a/doc/api/users.md b/doc/api/users.md index e1fa97765df..f73e1829024 100644 --- a/doc/api/users.md +++ b/doc/api/users.md @@ -1,7 +1,7 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Users API @@ -54,7 +54,7 @@ GET /users?username=jack_smith ``` In addition, you can filter users based on the states `blocked` and `active`. -It does not support `active=false` or `blocked=false`. The list of active users +It does not support `active=false` or `blocked=false`. The list of billable users is the total number of users minus the blocked users. ```plaintext @@ -65,7 +65,7 @@ GET /users?active=true GET /users?blocked=true ``` -GitLab supports bot users such as the [alert bot](../operations/incident_management/generic_alerts.md) +GitLab supports bot users such as the [alert bot](../operations/incident_management/alert_integrations.md) or the [support bot](../user/project/service_desk.md#support-bot-user). To exclude these users from the users' list, you can use the parameter `exclude_internal=true` ([introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/241144) in GitLab 13.4). @@ -74,7 +74,7 @@ To exclude these users from the users' list, you can use the parameter `exclude_ GET /users?exclude_internal=true ``` -NOTE: **Note:** +NOTE: Username search is case insensitive. ### For admins @@ -170,7 +170,7 @@ GET /users ] ``` -Users on GitLab [Starter, Bronze, or higher](https://about.gitlab.com/pricing/) will also see the `shared_runners_minutes_limit`, and `extra_shared_runners_minutes_limit` parameters. +Users on GitLab [Starter, Bronze, or higher](https://about.gitlab.com/pricing/) also see the `shared_runners_minutes_limit`, `extra_shared_runners_minutes_limit`, and `using_license_seat` parameters. ```json [ @@ -179,12 +179,13 @@ Users on GitLab [Starter, Bronze, or higher](https://about.gitlab.com/pricing/) ... "shared_runners_minutes_limit": 133, "extra_shared_runners_minutes_limit": 133, + "using_license_seat": true ... } ] ``` -Users on GitLab [Silver or higher](https://about.gitlab.com/pricing/) will also see +Users on GitLab [Silver or higher](https://about.gitlab.com/pricing/) also see the `group_saml` provider option: ```json @@ -332,10 +333,10 @@ Example Responses: } ``` -NOTE: **Note:** +NOTE: The `plan` and `trial` parameters are only available on GitLab Enterprise Edition. -Users on GitLab [Starter, Bronze, or higher](https://about.gitlab.com/pricing/) will also see +Users on GitLab [Starter, Bronze, or higher](https://about.gitlab.com/pricing/) also see the `shared_runners_minutes_limit`, and `extra_shared_runners_minutes_limit` parameters. ```json @@ -348,7 +349,7 @@ the `shared_runners_minutes_limit`, and `extra_shared_runners_minutes_limit` par } ``` -Users on GitLab.com [Silver, or higher](https://about.gitlab.com/pricing/) will also +Users on GitLab.com [Silver, or higher](https://about.gitlab.com/pricing/) also see the `group_saml` option: ```json @@ -384,11 +385,11 @@ Note that `force_random_password` and `reset_password` take priority over `password`. In addition, `reset_password` and `force_random_password` can be used together. -NOTE: **Note:** -From [GitLab 12.1](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/29888/), `private_profile` will default to `false`. +NOTE: +From [GitLab 12.1](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/29888/), `private_profile` defaults to `false`. -NOTE: **Note:** -From [GitLab 13.2](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35604), `bio` will default to `""` instead of `null`. +NOTE: +From [GitLab 13.2](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35604), `bio` defaults to `""` instead of `null`. ```plaintext POST /users @@ -415,7 +416,7 @@ Parameters: | `note` | No | Admin notes for this user | | `organization` | No | Organization name | | `password` | No | Password | -| `private_profile` | No | User's profile is private - true, false (default), or null (will be converted to false) | +| `private_profile` | No | User's profile is private - true, false (default), or null (is converted to false) | | `projects_limit` | No | Number of projects user can create | | `provider` | No | External provider name | | `public_email` | No | The public email of the user | @@ -457,7 +458,7 @@ Parameters: | `note` | No | Admin notes for this user | | `organization` | No | Organization name | | `password` | No | Password | -| `private_profile` | No | User's profile is private - true, false (default), or null (will be converted to false) | +| `private_profile` | No | User's profile is private - true, false (default), or null (is converted to false) | | `projects_limit` | No | Limit projects each user can create | | `provider` | No | External provider name | | `public_email` | No | The public email of the user | @@ -469,7 +470,7 @@ Parameters: | `username` | No | Username | | `website_url` | No | Website URL | -On password update, user will be forced to change it upon next login. +On password update, the user is forced to change it upon next login. Note, at the moment this method does only return a `404` error, even in cases where a `409` (Conflict) would be more appropriate. For example, when renaming the email address to some existing one. @@ -501,7 +502,7 @@ Parameters: - `id` (required) - The ID of the user - `hard_delete` (optional) - If true, contributions that would usually be [moved to the ghost user](../user/profile/account/delete_account.md#associated-records) - will be deleted instead, as well as groups owned solely by this user. + are deleted instead, as well as groups owned solely by this user. ## List current user (for normal users) @@ -664,7 +665,7 @@ PUT /user/status | `emoji` | string | no | The name of the emoji to use as status. If omitted `speech_balloon` is used. Emoji name can be one of the specified names in the [Gemojione index](https://github.com/bonusly/gemojione/blob/master/config/index.json). | | `message` | string | no | The message to set as a status. It can also contain emoji codes. | -When both parameters `emoji` and `message` are empty, the status will be cleared. +When both parameters `emoji` and `message` are empty, the status is cleared. ```shell curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --data "emoji=coffee" --data "message=I crave coffee" "https://gitlab.example.com/api/v4/user/status" @@ -792,7 +793,7 @@ Parameters: } ``` -Will return created key with status `201 Created` on success. If an +Returns a created key with status `201 Created` on success. If an error occurs a `400 Bad Request` is returned with a message explaining the error: ```json @@ -823,7 +824,7 @@ Parameters: - `key` (required) - new SSH key - `expires_at` (optional) - The expiration date of the SSH key in ISO 8601 format (`YYYY-MM-DDTHH:MM:SSZ`) -NOTE: **Note:** +NOTE: This also adds an audit event, as described in [audit instance events](../administration/audit_events.md#instance-events). **(PREMIUM)** ## Delete SSH key for current user @@ -1068,7 +1069,7 @@ curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://git Get a list of currently authenticated user's emails. -NOTE: **Note:** +NOTE: Due to [a bug](https://gitlab.com/gitlab-org/gitlab/-/issues/25077) this endpoint currently does not return the primary email address. @@ -1097,7 +1098,7 @@ Parameters: Get a list of a specified user's emails. Available only for admin -NOTE: **Note:** +NOTE: Due to [a bug](https://gitlab.com/gitlab-org/gitlab/-/issues/25077) this endpoint currently does not return the primary email address. @@ -1147,7 +1148,7 @@ Parameters: } ``` -Will return created email with status `201 Created` on success. If an +Returns a created email with status `201 Created` on success. If an error occurs a `400 Bad Request` is returned with a message explaining the error: ```json @@ -1232,7 +1233,7 @@ Parameters: - `id` (required) - ID of specified user -Will return `201 OK` on success, `404 User Not Found` is user cannot be found or +Returns `201 OK` on success, `404 User Not Found` is user cannot be found or `403 Forbidden` when trying to unblock a user blocked by LDAP synchronization. ## Deactivate user @@ -1275,8 +1276,8 @@ Parameters: Returns: - `201 OK` on success. -- `404 User Not Found` if user cannot be found. -- `403 Forbidden` when trying to activate a user blocked by admin or by LDAP synchronization. +- `404 User Not Found` if the user cannot be found. +- `403 Forbidden` if the user cannot be activated because they are blocked by an administrator or by LDAP synchronization. ### Get user contribution events @@ -1337,6 +1338,44 @@ Example response: ] ``` +## Approve user + +> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/263107) in GitLab 13.7. + +Approves the specified user. Available only for administrators. + +```plaintext +POST /users/:id/approve +``` + +Parameters: + +- `id` (required) - ID of specified user + +```shell +curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/42/approve" +``` + +Returns: + +- `201 OK` on success. +- `404 User Not Found` if user cannot be found. +- `403 Forbidden` if the user cannot be approved because they are blocked by an administrator or by LDAP synchronization. + +Example Responses: + +```json +{ "message": "Success" } +``` + +```json +{ "message": "404 User Not Found" } +``` + +```json +{ "message": "The user you are trying to approve is not pending an approval" } +``` + ## Get an impersonation token of a user > Requires admin permissions. @@ -1379,11 +1418,11 @@ Example response: ## Create an impersonation token > Requires admin permissions. -> Token values are returned once. Make sure you save it - you won't be able to access it again. +> Token values are returned once. Make sure you save it - you can't access it again. It creates a new impersonation token. Note that only administrators can do this. You are only able to create impersonation tokens to impersonate the user and perform -both API calls and Git reads and writes. The user will not see these tokens in their profile +both API calls and Git reads and writes. The user can't see these tokens in their profile settings page. ```plaintext @@ -1447,11 +1486,11 @@ Parameters: > - It's [deployed behind a feature flag](../user/feature_flags.md), disabled by default. > - To use it in GitLab self-managed instances, ask a GitLab administrator to [enable it](#enable-or-disable-an-administrators-ability-to-use-the-api-to-create-personal-access-tokens). **(CORE)** -CAUTION: **Warning:** +WARNING: This feature might not be available to you. Check the **version history** note above for details. > Requires admin permissions. -> Token values are returned once. Make sure you save it - you won't be able to access it again. +> Token values are returned once. Make sure you save it - you can't access it again. It creates a new personal access token. @@ -1490,7 +1529,7 @@ Example response: ## Get user activities (admin only) -NOTE: **Note:** +NOTE: This API endpoint is only available on 8.15 (EE) and 9.1 (CE) and above. Get the last activity date for all users, sorted from oldest to newest. diff --git a/doc/api/v3_to_v4.md b/doc/api/v3_to_v4.md index 2dd4376413b..00e70d34db6 100644 --- a/doc/api/v3_to_v4.md +++ b/doc/api/v3_to_v4.md @@ -1,7 +1,7 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # API V3 to API V4 diff --git a/doc/api/version.md b/doc/api/version.md index d1582cf63cd..83b05dff1c8 100644 --- a/doc/api/version.md +++ b/doc/api/version.md @@ -1,7 +1,7 @@ --- stage: none group: unassigned -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Version API diff --git a/doc/api/visual_review_discussions.md b/doc/api/visual_review_discussions.md index 7e741688949..67d9c523862 100644 --- a/doc/api/visual_review_discussions.md +++ b/doc/api/visual_review_discussions.md @@ -1,7 +1,7 @@ --- stage: Verify group: Testing -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments type: reference, api --- diff --git a/doc/api/vulnerabilities.md b/doc/api/vulnerabilities.md index f89f2bda2eb..8296292c1f8 100644 --- a/doc/api/vulnerabilities.md +++ b/doc/api/vulnerabilities.md @@ -1,20 +1,20 @@ --- stage: Secure group: Threat Insights -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Vulnerabilities API **(ULTIMATE)** > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/10242) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.6. -NOTE: **Note:** +NOTE: The former Vulnerabilities API was renamed to Vulnerability Findings API and its documentation was moved to [a different location](vulnerability_findings.md). This document now describes the new Vulnerabilities API that provides access to [Vulnerabilities](https://gitlab.com/groups/gitlab-org/-/epics/634). -CAUTION: **Caution:** +WARNING: This API is in an alpha stage and considered unstable. The response payload may be subject to change or breakage across GitLab releases. @@ -23,7 +23,7 @@ Every API call to vulnerabilities must be [authenticated](README.md#authenticati Vulnerability permissions inherit permissions from their project. If a project is private, and a user isn't a member of the project to which the vulnerability -belongs, requests to that project will return a `404 Not Found` status code. +belongs, requests to that project returns a `404 Not Found` status code. ## Single vulnerability @@ -77,7 +77,7 @@ Confirms a given vulnerability. Returns status code `304` if the vulnerability i If an authenticated user does not have permission to [confirm vulnerabilities](../user/permissions.md#project-members-permissions), -this request will result in a `403` status code. +this request results in a `403` status code. ```plaintext POST /vulnerabilities/:id/confirm @@ -127,7 +127,7 @@ Resolves a given vulnerability. Returns status code `304` if the vulnerability i If an authenticated user does not have permission to [resolve vulnerabilities](../user/permissions.md#project-members-permissions), -this request will result in a `403` status code. +this request results in a `403` status code. ```plaintext POST /vulnerabilities/:id/resolve @@ -177,7 +177,7 @@ Dismisses a given vulnerability. Returns status code `304` if the vulnerability If an authenticated user does not have permission to [dismiss vulnerabilities](../user/permissions.md#project-members-permissions), -this request will result in a `403` status code. +this request results in a `403` status code. ```plaintext POST /vulnerabilities/:id/dismiss @@ -227,7 +227,7 @@ Reverts a given vulnerability to detected state. Returns status code `304` if th If an authenticated user does not have permission to [revert vulnerability to detected state](../user/permissions.md#project-members-permissions), -this request will result in a `403` status code. +this request results in a `403` status code. ```plaintext POST /vulnerabilities/:id/revert diff --git a/doc/api/vulnerability_exports.md b/doc/api/vulnerability_exports.md index 0ee8a18a46a..e4853920cab 100644 --- a/doc/api/vulnerability_exports.md +++ b/doc/api/vulnerability_exports.md @@ -1,14 +1,14 @@ --- stage: Secure group: Threat Insights -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Vulnerability export API **(ULTIMATE)** > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/197494) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.10. [Updated](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/30397) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 13.0. -CAUTION: **Caution:** +WARNING: This API is in an alpha stage and considered unstable. The response payload may be subject to change or breakage across GitLab releases. @@ -83,7 +83,7 @@ POST /security/groups/:id/vulnerability_exports | `id` | integer or string | yes | The ID or [URL-encoded path](README.md#namespaced-path-encoding) of the group which the authenticated user is a member of | ```shell -curl --header POST "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/security/groups/1/vulnerability_exports +curl --header POST "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/security/groups/1/vulnerability_exports" ``` The created vulnerability export is automatically deleted after 1 hour. @@ -116,7 +116,7 @@ POST /security/vulnerability_exports ``` ```shell -curl --header POST "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/security/vulnerability_exports +curl --header POST "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/security/vulnerability_exports" ``` The created vulnerability export is automatically deleted after one hour. @@ -193,7 +193,7 @@ GET /security/vulnerability_exports/:id/download curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/security/vulnerability_exports/2/download" ``` -The response will be `404 Not Found` if the vulnerability export is not finished yet or was not found. +The response is `404 Not Found` if the vulnerability export is not finished yet or was not found. Example response: diff --git a/doc/api/vulnerability_findings.md b/doc/api/vulnerability_findings.md index bfb1306e4aa..95e4774ae96 100644 --- a/doc/api/vulnerability_findings.md +++ b/doc/api/vulnerability_findings.md @@ -1,14 +1,14 @@ --- stage: Secure group: Threat Insights -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Vulnerability Findings API **(ULTIMATE)** > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/19029) in GitLab Ultimate 12.5. -NOTE: **Note:** +NOTE: This API resource is renamed from Vulnerabilities to Vulnerability Findings because the Vulnerabilities are reserved for serving [Vulnerability objects](https://gitlab.com/gitlab-org/gitlab/-/issues/13561). To fix any broken integrations with the former Vulnerabilities API, change the `vulnerabilities` URL part to be @@ -18,13 +18,13 @@ Every API call to vulnerability findings must be [authenticated](README.md#authe Vulnerability findings are project-bound entities. If a user is not a member of a project and the project is private, a request on -that project will result in a `404` status code. +that project results in a `404` status code. If a user is able to access the project but does not have permission to [use the Project Security Dashboard](../user/permissions.md#project-members-permissions), -any request for vulnerability findings of this project will result in a `403` status code. +any request for vulnerability findings of this project results in a `403` status code. -CAUTION: **Caution:** +WARNING: This API is in an alpha stage and considered unstable. The response payload may be subject to change or breakage across GitLab releases. @@ -53,7 +53,7 @@ GET /projects/:id/vulnerability_findings?scanner=bandit,find_sec_bugs GET /projects/:id/vulnerability_findings?pipeline_id=42 ``` -CAUTION: **Deprecation:** +WARNING: Beginning with GitLab 12.9, the `undefined` severity and confidence level is no longer reported. | Attribute | Type | Required | Description | @@ -99,6 +99,7 @@ Example response: } ], "project_fingerprint": "fa6f5b6c5d240b834ac5e901dc69f9484cef89ec", + "uuid": "31f483bc-bfc0-586d-9b92-f1015c4535b8", "create_vulnerability_feedback_issue_path": "/tests/yarn-remediation-test/vulnerability_feedback", "create_vulnerability_feedback_merge_request_path": "/tests/yarn-remediation-test/vulnerability_feedback", "create_vulnerability_feedback_dismissal_path": "/tests/yarn-remediation-test/vulnerability_feedback", diff --git a/doc/api/wikis.md b/doc/api/wikis.md index a8c002d4fac..dfbedc9bfd1 100644 --- a/doc/api/wikis.md +++ b/doc/api/wikis.md @@ -1,7 +1,7 @@ --- stage: Create group: Knowledge -info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers" +info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments" type: reference, api --- |