summaryrefslogtreecommitdiff
path: root/doc/api
diff options
context:
space:
mode:
Diffstat (limited to 'doc/api')
-rw-r--r--doc/api/README.md410
-rw-r--r--doc/api/admin_sidekiq_queues.md6
-rw-r--r--doc/api/api_resources.md8
-rw-r--r--doc/api/appearance.md6
-rw-r--r--doc/api/applications.md6
-rw-r--r--doc/api/audit_events.md6
-rw-r--r--doc/api/avatar.md6
-rw-r--r--doc/api/boards.md111
-rw-r--r--doc/api/broadcast_messages.md14
-rw-r--r--doc/api/commits.md8
-rw-r--r--doc/api/container_registry.md44
-rw-r--r--doc/api/custom_attributes.md6
-rw-r--r--doc/api/dependencies.md6
-rw-r--r--doc/api/dependency_proxy.md14
-rw-r--r--doc/api/deploy_tokens.md4
-rw-r--r--doc/api/deployments.md6
-rw-r--r--doc/api/epic_issues.md2
-rw-r--r--doc/api/epic_links.md6
-rw-r--r--doc/api/epics.md20
-rw-r--r--doc/api/events.md7
-rw-r--r--doc/api/experiments.md6
-rw-r--r--doc/api/feature_flag_user_lists.md7
-rw-r--r--doc/api/geo_nodes.md6
-rw-r--r--doc/api/graphql/audit_report.md6
-rw-r--r--doc/api/graphql/getting_started.md6
-rw-r--r--doc/api/graphql/index.md10
-rw-r--r--doc/api/graphql/reference/gitlab_schema.graphql2805
-rw-r--r--doc/api/graphql/reference/gitlab_schema.json7914
-rw-r--r--doc/api/graphql/reference/index.md729
-rw-r--r--doc/api/graphql/removed_items.md17
-rw-r--r--doc/api/graphql/sample_issue_boards.md6
-rw-r--r--doc/api/group_activity_analytics.md6
-rw-r--r--doc/api/group_badges.md6
-rw-r--r--doc/api/group_boards.md39
-rw-r--r--doc/api/group_import_export.md6
-rw-r--r--doc/api/group_iterations.md2
-rw-r--r--doc/api/group_labels.md5
-rw-r--r--doc/api/group_level_variables.md6
-rw-r--r--doc/api/group_milestones.md2
-rw-r--r--doc/api/groups.md21
-rw-r--r--doc/api/import.md22
-rw-r--r--doc/api/instance_clusters.md6
-rw-r--r--doc/api/invitations.md107
-rw-r--r--doc/api/issue_links.md6
-rw-r--r--doc/api/issues.md37
-rw-r--r--doc/api/issues_statistics.md30
-rw-r--r--doc/api/iterations.md2
-rw-r--r--doc/api/job_artifacts.md6
-rw-r--r--doc/api/labels.md8
-rw-r--r--doc/api/license.md6
-rw-r--r--doc/api/lint.md66
-rw-r--r--doc/api/managed_licenses.md6
-rw-r--r--doc/api/members.md6
-rw-r--r--doc/api/merge_requests.md52
-rw-r--r--doc/api/milestones.md2
-rw-r--r--doc/api/namespaces.md6
-rw-r--r--doc/api/notes.md6
-rw-r--r--doc/api/notification_settings.md6
-rw-r--r--doc/api/oauth2.md31
-rw-r--r--doc/api/packages.md135
-rw-r--r--doc/api/personal_access_tokens.md15
-rw-r--r--doc/api/pipelines.md4
-rw-r--r--doc/api/project_repository_storage_moves.md25
-rw-r--r--doc/api/project_snippets.md2
-rw-r--r--doc/api/projects.md1059
-rw-r--r--doc/api/protected_environments.md17
-rw-r--r--doc/api/releases/index.md12
-rw-r--r--doc/api/releases/links.md20
-rw-r--r--doc/api/resource_label_events.md6
-rw-r--r--doc/api/scim.md22
-rw-r--r--doc/api/search.md15
-rw-r--r--doc/api/services.md22
-rw-r--r--doc/api/settings.md31
-rw-r--r--doc/api/sidekiq_metrics.md6
-rw-r--r--doc/api/snippets.md2
-rw-r--r--doc/api/statistics.md6
-rw-r--r--doc/api/system_hooks.md6
-rw-r--r--doc/api/templates/dockerfiles.md3
-rw-r--r--doc/api/templates/gitignores.md3
-rw-r--r--doc/api/templates/licenses.md3
-rw-r--r--doc/api/todos.md6
-rw-r--r--doc/api/users.md74
-rw-r--r--doc/api/v3_to_v4.md6
-rw-r--r--doc/api/version.md6
84 files changed, 12706 insertions, 1512 deletions
diff --git a/doc/api/README.md b/doc/api/README.md
index 3f7dae055e2..3933431407c 100644
--- a/doc/api/README.md
+++ b/doc/api/README.md
@@ -1,10 +1,20 @@
+---
+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
+---
+
# API Docs
-Automate GitLab via a simple and powerful API.
+Automate GitLab by using a simple and powerful API.
-The main GitLab API is a [REST](https://en.wikipedia.org/wiki/Representational_state_transfer) API. Therefore, documentation in this section assumes knowledge of REST concepts.
+The main GitLab API is a [REST](http://spec.openapis.org/oas/v3.0.3)
+API. Because of this, the documentation in this section assumes that you're
+familiar with REST concepts.
-There is also a partial [OpenAPI definition](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/api/openapi/openapi.yaml), which allows you to test the API directly from the GitLab user interface. Contributions are welcome.
+There's also a partial [OpenAPI definition](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/api/openapi/openapi.yaml),
+which allows you to test the API directly from the GitLab user interface.
+Contributions are welcome.
## Available API resources
@@ -13,21 +23,22 @@ For a list of the available resources and their endpoints, see
## SCIM **(SILVER ONLY)**
-[GitLab.com Silver and above](https://about.gitlab.com/pricing/) provides an [SCIM API](scim.md) that implements [the RFC7644 protocol](https://tools.ietf.org/html/rfc7644) and provides
-the `/Users` endpoint. The base URL is: `/api/scim/v2/groups/:group_path/Users/`.
+[GitLab.com Silver and higher](https://about.gitlab.com/pricing/) provides an
+[SCIM API](scim.md) that both implements [the RFC7644 protocol](https://tools.ietf.org/html/rfc7644)
+and provides the `/Users` endpoint. The base URL is: `/api/scim/v2/groups/:group_path/Users/`.
## Road to GraphQL
-[GraphQL](graphql/index.md) is available in GitLab, which will
-allow deprecation of controller-specific endpoints.
+[GraphQL](graphql/index.md) is available in GitLab, which allows for the
+deprecation of controller-specific endpoints.
-GraphQL has a number of benefits:
+GraphQL has several benefits, including:
-1. We avoid having to maintain two different APIs.
-1. Callers of the API can request only what they need.
-1. It is versioned by default.
+- We avoid having to maintain two different APIs.
+- Callers of the API can request only what they need.
+- It's versioned by default.
-It will co-exist with the current v4 REST API. If we have a v5 API, this should
+GraphQL co-exists with the current v4 REST API. If we have a v5 API, this should
be a compatibility layer on top of GraphQL.
Although there were some patenting and licensing concerns with GraphQL, these
@@ -37,33 +48,35 @@ specification.
## Compatibility guidelines
-The HTTP API is versioned using a single number, the current one being 4. This
-number symbolizes the same as the major version number as described by
-[SemVer](https://semver.org/). This mean that backward incompatible changes
-will require this version number to change. However, the minor version is
-not explicit. This allows for a stable API endpoint, but also means new
-features can be added to the API in the same version number.
+The HTTP API is versioned using a single number, (currently _4_). This number
+symbolizes the major version number, as described by [SemVer](https://semver.org/).
+Because of this, backwards-incompatible changes require this version number to
+change. However, the minor version isn't explicit, allowing for a stable API
+endpoint. This also means that new features can be added to the API in the same
+version number.
New features and bug fixes are released in tandem with a new GitLab, and apart
from incidental patch and security releases, are released on the 22nd of each
-month. Backward incompatible changes (e.g. endpoints removal, parameters
-removal etc.), as well as removal of entire API versions are done in tandem
-with a major point release of GitLab itself. All deprecations and changes
-between two versions should be listed in the documentation. For the changes
-between v3 and v4; please read the [v3 to v4 documentation](v3_to_v4.md)
+month. Backward incompatible changes (for example, endpoints removal and
+parameters removal), and removal of entire API versions are done in tandem with
+a major point release of GitLab itself. All deprecations and changes between two
+versions should be listed in the documentation. For the changes between v3 and
+v4, see the [v3 to v4 documentation](v3_to_v4.md).
### Current status
-Currently only API version v4 is available. Version v3 was removed in
+Only API version v4 is available. Version v3 was removed in
[GitLab 11.0](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/36819).
## Basic usage
-API requests should be prefixed with `api` and the API version. The API version
-is defined in [`lib/api.rb`](https://gitlab.com/gitlab-org/gitlab/tree/master/lib/api/api.rb). For example, the root of the v4 API
-is at `/api/v4`.
+API requests should be prefixed with both `api` and the API version. The API
+version is defined in [`lib/api.rb`](https://gitlab.com/gitlab-org/gitlab/tree/master/lib/api/api.rb).
+For example, the root of the v4 API is at `/api/v4`. The following sections illustrate different uses:
+
+### Valid API request
-Example of a valid API request using cURL:
+If you have a GitLab instance at `gitlab.example.com`:
```shell
curl "https://gitlab.example.com/api/v4/projects"
@@ -72,32 +85,56 @@ curl "https://gitlab.example.com/api/v4/projects"
The API uses JSON to serialize data. You don't need to specify `.json` at the
end of an API URL.
+### API request to expose HTTP response headers
+
+If you want to expose HTTP response headers, use the `--include` option:
+
+```shell
+curl --include "https://gitlab.example.com/api/v4/projects"
+HTTP/2 200
+...
+```
+
+This can help you investigate an unexpected response.
+
+### API Request that includes the exit code
+
+If you want to expose the HTTP exit code, include the `--fail` option:
+
+```shell script
+curl --fail "https://gitlab.example.com/api/v4/does-not-exist"
+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 only return public data when
-authentication is not provided. For
-those cases where it is not required, this will be mentioned in the documentation
-for each individual endpoint. For example, the [`/projects/:id` endpoint](projects.md#get-single-project).
+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
+mentioned in the documentation for each individual endpoint (for example, the
+[`/projects/:id` endpoint](projects.md#get-single-project)).
-There are several ways to authenticate with the GitLab API:
+There are several methods you can use to authenticate with the GitLab API:
-1. [OAuth2 tokens](#oauth2-tokens)
-1. [Personal access tokens](../user/profile/personal_access_tokens.md)
-1. [Project access tokens](../user/project/settings/project_access_tokens.md)
+- [OAuth2 tokens](#oauth2-tokens)
+- [Personal access tokens](../user/profile/personal_access_tokens.md)
+- [Project access tokens](../user/project/settings/project_access_tokens.md)
+- [Session cookie](#session-cookie)
+- [GitLab CI/CD job token](#gitlab-ci-job-token) **(Specific endpoints only)**
NOTE: **Note:**
-Project access tokens are supported for self-managed instances on Core and above. They are also supported on GitLab.com Bronze and above.
+Project access tokens are supported for self-managed instances on Core and
+higher. They're also supported on GitLab.com Bronze and higher.
-1. [Session cookie](#session-cookie)
-1. [GitLab CI/CD job token](#gitlab-ci-job-token) **(Specific endpoints only)**
+For administrators who want to authenticate with the API as a specific user, or who want
+to build applications or scripts that do so, the following options are available:
-For admins who want to authenticate with the API as a specific user, or who want to build applications or scripts that do so, two options are available:
+- [Impersonation tokens](#impersonation-tokens)
+- [Sudo](#sudo)
-1. [Impersonation tokens](#impersonation-tokens)
-1. [Sudo](#sudo)
-
-If authentication information is invalid or omitted, an error message will be
-returned with status code `401`:
+If authentication information is invalid or omitted, GitLab will return an error
+message with a status code of `401`:
```json
{
@@ -107,8 +144,8 @@ returned with status code `401`:
### OAuth2 tokens
-You can use an [OAuth2 token](oauth2.md) to authenticate with the API by passing it in either the
-`access_token` parameter or the `Authorization` header.
+You can use an [OAuth2 token](oauth2.md) to authenticate with the API by passing
+it in either the `access_token` parameter or the `Authorization` header.
Example of using the OAuth2 token in a parameter:
@@ -126,22 +163,22 @@ Read more about [GitLab as an OAuth2 provider](oauth2.md).
### Personal/project access tokens
-Access tokens can be used to authenticate with the API by passing it in either the `private_token` parameter
-or the `PRIVATE-TOKEN` header.
+You can use access tokens to authenticate with the API by passing it in either
+the `private_token` parameter or the `PRIVATE-TOKEN` header.
-Example of using the personal/project access token in a parameter:
+Example of using the personal or project access token in a parameter:
```shell
curl "https://gitlab.example.com/api/v4/projects?private_token=<your_access_token>"
```
-Example of using the personal/project access token in a header:
+Example of using the personal or project access token in a header:
```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects"
```
-You can also use personal/project access tokens with OAuth-compliant headers:
+You can also use personal or project access tokens with OAuth-compliant headers:
```shell
curl --header "Authorization: Bearer <your_access_token>" "https://gitlab.example.com/api/v4/projects"
@@ -150,12 +187,12 @@ curl --header "Authorization: Bearer <your_access_token>" "https://gitlab.exampl
### Session cookie
When signing in to the main GitLab application, a `_gitlab_session` cookie is
-set. The API will use this cookie for authentication if it is present, but using
-the API to generate a new session cookie is currently not supported.
+set. The API uses this cookie for authentication if it's present. Using the
+API to generate a new session cookie isn't supported.
-The primary user of this authentication method is the web frontend of GitLab itself,
-which can use the API as the authenticated user to get a list of their projects,
-for example, without needing to explicitly pass an access token.
+The primary user of this authentication method is the web frontend of GitLab
+itself, which can, for example, use the API as the authenticated user to get a
+list of their projects without needing to explicitly pass an access token.
### GitLab CI job token
@@ -165,15 +202,17 @@ to authenticate with the API:
- Packages:
- [Composer Repository](../user/packages/composer_repository/index.md)
- [Conan Repository](../user/packages/conan_repository/index.md)
- - [Container Registry](../user/packages/container_registry/index.md) (`$CI_REGISTRY_PASSWORD` is actually `$CI_JOB_TOKEN`, but this may change in the future)
+ - [Container Registry](../user/packages/container_registry/index.md)
+ (`$CI_REGISTRY_PASSWORD` is actually `$CI_JOB_TOKEN`, but this may change in
+ the future)
- [Go Proxy](../user/packages/go_proxy/index.md)
- - [Maven Repository](../user/packages/maven_repository/index.md#authenticate-with-a-ci-job-token)
- - [NPM Repository](../user/packages/npm_registry/index.md#authenticating-with-a-ci-job-token)
+ - [Maven Repository](../user/packages/maven_repository/index.md#authenticate-with-a-ci-job-token-in-maven)
+ - [NPM Repository](../user/packages/npm_registry/index.md#authenticate-with-a-ci-job-token)
- [Nuget Repository](../user/packages/nuget_repository/index.md)
- - [PyPI Repository](../user/packages/pypi_repository/index.md#using-gitlab-ci-with-pypi-packages)
+ - [PyPI Repository](../user/packages/pypi_repository/index.md#authenticate-with-a-ci-job-token)
- [Generic packages](../user/packages/generic_packages/index.md#publish-a-generic-package-by-using-cicd)
- [Get job artifacts](job_artifacts.md#get-job-artifacts)
-- [Pipeline triggers](pipeline_triggers.md) (via `token=` parameter)
+- [Pipeline triggers](pipeline_triggers.md) (using the `token=` parameter)
- [Release creation](releases/index.md#create-a-release)
- [Terraform plan](../user/infrastructure/index.md)
@@ -181,21 +220,22 @@ The token is valid as long as the job is running.
### Impersonation tokens
-> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9099) in GitLab 9.0. Needs admin permissions.
-
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
-if you want to build applications or scripts that authenticate with the API as a specific user.
+if you want to build applications or scripts that authenticate with the API as a
+specific user.
-They are an alternative to directly using the user's password or one of their
-personal access tokens, and to using the [Sudo](#sudo) feature, since the user's (or admin's, in the case of Sudo)
-password/token may not be known or may change over time.
+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
+change over time.
-For more information, refer to the
-[users API](users.md#create-an-impersonation-token) docs.
+For more information, see the [users API](users.md#create-an-impersonation-token)
+documentation.
-Impersonation tokens are used exactly like regular personal access tokens, and can be passed in either the
-`private_token` parameter or the `PRIVATE-TOKEN` header.
+Impersonation tokens are used exactly like regular personal access tokens, and
+can be passed in either the `private_token` parameter or the `PRIVATE-TOKEN`
+header.
#### Disable impersonation
@@ -214,7 +254,8 @@ By default, impersonation is enabled. To disable impersonation:
1. Save the file and [reconfigure](../administration/restart_gitlab.md#omnibus-gitlab-reconfigure)
GitLab for the changes to take effect.
-To re-enable impersonation, remove this configuration and reconfigure GitLab.
+To re-enable impersonation, remove this configuration, and then reconfigure
+GitLab.
**For installations from source**
@@ -228,26 +269,22 @@ To re-enable impersonation, remove this configuration and reconfigure GitLab.
1. Save the file and [restart](../administration/restart_gitlab.md#installations-from-source)
GitLab for the changes to take effect.
-To re-enable impersonation, remove this configuration and restart GitLab.
+To re-enable impersonation, remove this configuration, and then restart GitLab.
### Sudo
-NOTE: **Note:**
-Only available to [administrators](../user/permissions.md).
-
All API requests support performing an API call as if you were another user,
-provided you are authenticated as an administrator with an OAuth or Personal Access Token that has the `sudo` scope.
-The API requests are executed with the permissions of the impersonated user.
+provided you're authenticated as an administrator with an OAuth or personal
+access token that has the `sudo` scope. The API requests are executed with the
+permissions of the impersonated user.
-You need to pass the `sudo` parameter either via query string or a header with an ID/username of
-the user you want to perform the operation as. If passed as a header, the
-header name must be `Sudo`.
+As an [administrator](../user/permissions.md), pass the `sudo` parameter either
+by using query string or a header with an ID or username (case insensitive) of
+the user you want to perform the operation as. If passed as a header, the header
+name must be `Sudo`.
-NOTE: **Note:**
-Usernames are case insensitive.
-
-If a non administrative access token is provided, an error message will
-be returned with status code `403`:
+If a non administrative access token is provided, GitLab returns an error
+message with a status code of `403`:
```json
{
@@ -256,7 +293,7 @@ be returned with status code `403`:
```
If an access token without the `sudo` scope is provided, an error message will
-be returned with status code `403`:
+be returned with a status code of `403`:
```json
{
@@ -267,7 +304,7 @@ be returned with status code `403`:
```
If the sudo user ID or username cannot be found, an error message will be
-returned with status code `404`:
+returned with a status code of `404`:
```json
{
@@ -305,27 +342,27 @@ insight into what went wrong.
The following table gives an overview of how the API functions generally behave.
-| Request type | Description |
-| ------------ | ----------- |
-| `GET` | Access one or more resources and return the result as JSON. |
-| `POST` | Return `201 Created` if the resource is successfully created and return the newly created resource as JSON. |
+| Request type | Description |
+|---------------|-------------|
+| `GET` | Access one or more resources and return the result as JSON. |
+| `POST` | Return `201 Created` if the resource is successfully created and return the newly created resource as JSON. |
| `GET` / `PUT` | Return `200 OK` if the resource is accessed or modified successfully. The (modified) result is returned as JSON. |
-| `DELETE` | Returns `204 No Content` if the resource was deleted successfully. |
+| `DELETE` | Returns `204 No Content` if the resource was deleted successfully. |
The following table shows the possible return codes for API requests.
| Return values | Description |
-| ------------------------ | ----------- |
+|--------------------------|-------------|
| `200 OK` | The `GET`, `PUT` or `DELETE` request was successful, the resource(s) itself is returned as JSON. |
| `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. |
| `401 Unauthorized` | The user is not authenticated, a valid [user token](#authentication) is necessary. |
-| `403 Forbidden` | The request is not allowed, e.g., the user is not allowed to delete a project. |
-| `404 Not Found` | A resource could not be accessed, e.g., an ID for a resource could not be found. |
+| `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. |
| `405 Method Not Allowed` | The request is not supported. |
-| `409 Conflict` | A conflicting resource already exists, e.g., creating a project with a name that already exists. |
+| `409 Conflict` | A conflicting resource already exists. For example, creating a project with a name that already exists. |
| `412` | Indicates the request was denied. May happen if the `If-Unmodified-Since` header is provided when trying to delete a resource, which was modified in between. |
| `422 Unprocessable` | The entity could not be processed. |
| `429 Too Many Requests` | The user exceeded the [application rate limits](../administration/instance_limits.md#rate-limits). |
@@ -333,26 +370,26 @@ The following table shows the possible return codes for API requests.
## Pagination
-We support two kinds of pagination methods:
+GitLab supports the following pagination methods:
- Offset-based pagination. This is the default method and available on all endpoints.
- Keyset-based pagination. Added to selected endpoints but being
[progressively rolled out](https://gitlab.com/groups/gitlab-org/-/epics/2039).
-For large collections, we recommend keyset pagination (when available) over offset
-pagination for performance reasons.
+For large collections, we recommend keyset pagination (when available) instead
+of offset pagination for performance reasons.
### Offset-based pagination
-Sometimes the returned result will span across many pages. When listing
-resources you can pass the following parameters:
+Sometimes, the returned result spans many pages. When listing resources, you can
+pass the following parameters:
| Parameter | Description |
-| --------- | ----------- |
-| `page` | Page number (default: `1`) |
-| `per_page`| Number of items to list per page (default: `20`, max: `100`) |
+|-----------|-------------|
+| `page` | Page number (default: `1`). |
+| `per_page`| Number of items to list per page (default: `20`, max: `100`). |
-In the example below, we list 50 [namespaces](namespaces.md) per page.
+In the following example, we list 50 [namespaces](namespaces.md) per page:
```shell
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/namespaces?per_page=50"
@@ -361,15 +398,14 @@ curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab
#### Pagination `Link` header
[`Link` headers](https://www.w3.org/wiki/LinkHeader) are returned with each
-response. They have `rel` set to `prev`/`next`/`first`/`last` and contain the
-relevant URL. Be sure to use these links instead of generating your own URLs.
+response. They have `rel` set to `prev`, `next`, `first`, or `last` and contain
+the relevant URL. Be sure to use these links instead of generating your own URLs.
-NOTE: **Note:**
For GitLab.com users, [some pagination headers may not be returned](../user/gitlab_com/index.md#pagination-response-headers).
-In the cURL example below, we limit the output to 3 items per page (`per_page=3`)
-and we request the second page (`page=2`) of [comments](notes.md) of the issue
-with ID `8` which belongs to the project with ID `9`:
+In the following cURL example, we limit the output to three items per page
+(`per_page=3`) and we request the second page (`page=2`) of [comments](notes.md)
+of the issue with ID `8` which belongs to the project with ID `9`:
```shell
curl --head --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/9/issues/8/notes?per_page=3&page=2"
@@ -400,31 +436,32 @@ x-total-pages: 3
GitLab also returns the following additional pagination headers:
-| Header | Description |
-| --------------- | --------------------------------------------- |
-| `x-total` | The total number of items |
-| `x-total-pages` | The total number of pages |
-| `x-per-page` | The number of items per page |
-| `x-page` | The index of the current page (starting at 1) |
-| `x-next-page` | The index of the next page |
-| `X-prev-page` | The index of the previous page |
+| Header | Description |
+|-----------------|-------------|
+| `x-next-page` | The index of the next page. |
+| `x-page` | The index of the current page (starting at 1). |
+| `x-per-page` | The number of items per page. |
+| `X-prev-page` | The index of the previous page. |
+| `x-total` | The total number of items. |
+| `x-total-pages` | The total number of pages. |
-NOTE: **Note:**
For GitLab.com users, [some pagination headers may not be returned](../user/gitlab_com/index.md#pagination-response-headers).
### Keyset-based pagination
-Keyset-pagination allows for more efficient retrieval of pages and - in contrast to offset-based pagination - runtime
-is independent of the size of the collection.
+Keyset-pagination allows for more efficient retrieval of pages and - in contrast
+to offset-based pagination - runtime is independent of the size of the
+collection.
This method is controlled by the following parameters:
-| Parameter | Description |
-| ------------ | -------------------------------------- |
-| `pagination` | `keyset` (to enable keyset pagination) |
-| `per_page` | Number of items to list per page (default: `20`, max: `100`) |
+| Parameter | Description |
+|--------------| ------------|
+| `pagination` | `keyset` (to enable keyset pagination). |
+| `per_page` | Number of items to list per page (default: `20`, max: `100`). |
-In the example below, we list 50 [projects](projects.md) per page, ordered by `id` ascending.
+In the following example, we list 50 [projects](projects.md) per page, ordered
+by `id` ascending.
```shell
curl --request GET --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects?pagination=keyset&per_page=50&order_by=id&sort=asc"
@@ -442,27 +479,34 @@ Status: 200 OK
```
CAUTION: **Deprecation:**
-The `Links` header will 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)
+The `Links` header will 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.
-The link to the next page contains an additional filter `id_after=42` which excludes records we have retrieved already.
-Note the type of filter depends on the `order_by` option used and we may have more than one additional filter.
+The link to the next page contains an additional filter `id_after=42` that
+excludes already-retrieved records. Note the type of filter depends on the
+`order_by` option used, and we may have more than one additional filter.
-When the end of the collection has been reached and there are no additional records to retrieve, the `Link` header is absent and the resulting array is empty.
+When the end of the collection has been reached and there are no additional
+records to retrieve, the `Link` header is absent and the resulting array is
+empty.
-We recommend using only the given link to retrieve the next page instead of building your own URL. Apart from the headers shown,
-we don't expose additional pagination headers.
+We recommend using only the given link to retrieve the next page instead of
+building your own URL. Apart from the headers shown, we don't expose additional
+pagination headers.
-Keyset-based pagination is only supported for selected resources and ordering options:
+Keyset-based pagination is supported only for selected resources and ordering
+options:
-| Resource | Order |
-| ------------------------- | -------------------------- |
-| [Projects](projects.md) | `order_by=id` only |
+| Resource | Order |
+|-------------------------|-------|
+| [Projects](projects.md) | `order_by=id` only. |
## Path parameters
-If an endpoint has path parameters, the documentation shows them with a preceding colon.
+If an endpoint has path parameters, the documentation displays them with a
+preceding colon.
For example:
@@ -470,7 +514,9 @@ For example:
DELETE /projects/:id/share/:group_id
```
-The `:id` path parameter needs to be replaced with the project ID, and the `:group_id` needs to be replaced with the ID of the group. The colons `:` should not be included.
+The `:id` path parameter needs to be replaced with the project ID, and the
+`:group_id` needs to be replaced with the ID of the group. The colons `:`
+shouldn't be included.
The resulting cURL call for a project with ID `5` and a group ID of `17` is then:
@@ -478,11 +524,10 @@ The resulting cURL call for a project with ID `5` and a group ID of `17` is then
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/share/17"
```
-NOTE: **Note:**
Path parameters that are required to be URL-encoded must be followed. If not,
-it will not match an API endpoint and respond with a 404. If there's something
-in front of the API (for example, Apache), ensure that it won't decode the URL-encoded
-path parameters.
+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
+the URL-encoded path parameters.
## Namespaced path encoding
@@ -495,10 +540,9 @@ For example, `/` is represented by `%2F`:
GET /api/v4/projects/diaspora%2Fdiaspora
```
-NOTE: **Note:**
-A project's **path** is not necessarily the same as its **name**. A
-project's path can be found in the project's URL or in the project's settings
-under **General > Advanced > Change path**.
+A project's _path_ isn't necessarily the same as its _name_. A project's path is
+found in the project's URL or in the project's settings, under
+**General > Advanced > Change path**.
## File path, branches, and tags name encoding
@@ -516,7 +560,8 @@ GET /api/v4/projects/1/repository/tags/my%2Ftag
API Requests can use parameters sent as [query strings](https://en.wikipedia.org/wiki/Query_string)
or as a [payload body](https://tools.ietf.org/html/draft-ietf-httpbis-p3-payload-14#section-3.2).
-GET requests usually send a query string, while PUT/POST requests usually send the payload body:
+GET requests usually send a query string, while PUT or POST requests usually
+send the payload body:
- Query string:
@@ -530,13 +575,13 @@ GET requests usually send a query string, while PUT/POST requests usually send t
curl --request POST --header "Content-Type: application/json" --data '{"name":"<example-name>", "description":"<example-description"}' "https://gitlab/api/v4/projects"
```
-URL encoded query strings have a length limitation. Requests that are too large will
-result in a `414 Request-URI Too Large` error message. This can be resolved by using
-a payload body instead.
+URL encoded query strings have a length limitation. Requests that are too large
+result in a `414 Request-URI Too Large` error message. This can be resolved by
+using a payload body instead.
## Encoding API parameters of `array` and `hash` types
-We can call the API with `array` and `hash` types parameters as shown below:
+We can call the API with `array` and `hash` types parameters as follows:
### `array`
@@ -565,7 +610,8 @@ https://gitlab.example.com/api/v4/projects/import
### Array of hashes
-`variables` is a parameter of type `array` containing hash key/value pairs `[{ 'key': 'UPLOAD_TO_S3', 'value': 'true' }]`:
+`variables` is a parameter of type `array` containing hash key/value pairs
+`[{ 'key': 'UPLOAD_TO_S3', 'value': 'true' }]`:
```shell
curl --globoff --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
@@ -579,34 +625,37 @@ curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
## `id` vs `iid`
- Some resources have two similarly-named fields. For example, [issues](issues.md), [merge requests](merge_requests.md), and [project milestones](merge_requests.md). The fields are:
+Some resources have two similarly-named fields. For example, [issues](issues.md),
+[merge requests](merge_requests.md), and [project milestones](merge_requests.md).
+The fields are:
- `id`: ID that is unique across all projects.
-- `iid`: additional, internal ID that is unique in the scope of a single project.
+- `iid`: Additional, internal ID (displayed in the web UI) that's unique in the
+ scope of a single project.
-NOTE: **Note:**
-The `iid` is displayed in the web UI.
-
-If a resource has the `iid` field and the `id` field, the `iid` field is usually used instead of `id` to fetch the resource.
+If a resource has both the `iid` field and the `id` field, the `iid` field is
+usually used instead of `id` to fetch the resource.
-For example, suppose a project with `id: 42` has an issue with `id: 46` and `iid: 5`. In this case:
+For example, suppose a project with `id: 42` has an issue with `id: 46` and
+`iid: 5`. In this case:
-- A valid API call to retrieve the issue is `GET /projects/42/issues/5`
+- A valid API call to retrieve the issue is `GET /projects/42/issues/5`.
- An invalid API call to retrieve the issue is `GET /projects/42/issues/46`.
-NOTE: **Note:**
-Not all resources with the `iid` field are fetched by `iid`. For guidance on which field to use, see the documentation for the specific resource.
+Not all resources with the `iid` field are fetched by `iid`. For guidance
+regarding which field to use, see the documentation for the specific resource.
## Data validation and error reporting
When working with the API you may encounter validation errors, in which case
-the API will answer with an HTTP `400` status.
+the API returns an HTTP `400` error.
-Such errors appear in two cases:
+Such errors appear in the following cases:
-- A required attribute of the API request is missing, e.g., the title of an
- issue is not given
-- An attribute did not pass the validation, e.g., the user bio is too long
+- A required attribute of the API request is missing (for example, the title of
+ an issue isn't given).
+- 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:
@@ -618,8 +667,8 @@ Content-Type: application/json
}
```
-When a validation error occurs, error messages will be different. They will
-hold all details of validation errors:
+When a validation error occurs, error messages will be different. They will hold
+all details of validation errors:
```http
HTTP/1.1 400 Bad Request
@@ -657,7 +706,8 @@ follows:
## Unknown route
-When you try to access an API URL that does not exist, you will receive 404 Not Found.
+When you attempt to access an API URL that doesn't exist, you will receive
+404 Not Found message.
```http
HTTP/1.1 404 Not Found
@@ -669,10 +719,10 @@ Content-Type: application/json
## Encoding `+` in ISO 8601 dates
-If you need to include a `+` in a query parameter, you may need to use `%2B` instead due
-to a [W3 recommendation](http://www.w3.org/Addressing/URL/4_URI_Recommentations.html) that
-causes a `+` to be interpreted as a space. For example, in an ISO 8601 date, you may want to pass
-a time in Mountain Standard Time, such as:
+If you need to include a `+` in a query parameter, you may need to use `%2B`
+instead, due to a [W3 recommendation](http://www.w3.org/Addressing/URL/4_URI_Recommentations.html)
+that causes a `+` to be interpreted as a space. For example, in an ISO 8601 date,
+you may want to include a specific time in ISO 8601 format, such as:
```plaintext
2017-10-17T23:11:13.000+05:30
@@ -686,8 +736,8 @@ The correct encoding for the query parameter would be:
## Clients
-There are many unofficial GitLab API Clients for most of the popular
-programming languages. Visit the [GitLab website](https://about.gitlab.com/partners/#api-clients) for a complete list.
+There are many unofficial GitLab API Clients for most of the popular programming
+languages. For a complete list, visit the [GitLab website](https://about.gitlab.com/partners/#api-clients).
## Rate limits
diff --git a/doc/api/admin_sidekiq_queues.md b/doc/api/admin_sidekiq_queues.md
index 22488d053b4..8e1f7260208 100644
--- a/doc/api/admin_sidekiq_queues.md
+++ b/doc/api/admin_sidekiq_queues.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Sidekiq queues administration API **(CORE ONLY)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/25998) in GitLab 12.9
diff --git a/doc/api/api_resources.md b/doc/api/api_resources.md
index 199b244b2c3..7ef3b5fcbb6 100644
--- a/doc/api/api_resources.md
+++ b/doc/api/api_resources.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# API resources
Available resources for the [GitLab API](README.md) can be grouped in the following contexts:
@@ -34,6 +40,7 @@ The following API resources are available in the project context:
| [Events](events.md) | `/projects/:id/events` (also available for users and standalone) |
| [Feature Flags](feature_flags.md) | `/projects/:id/feature_flags` |
| [Feature Flag User Lists](feature_flag_user_lists.md) | `/projects/:id/feature_flags_user_lists` |
+| [Invitations](invitations.md) | `/projects/:id/invitations` (also available for groups) |
| [Issues](issues.md) | `/projects/:id/issues` (also available for groups and standalone) |
| [Issues Statistics](issues_statistics.md) | `/projects/:id/issues_statistics` (also available for groups and standalone) |
| [Issue boards](boards.md) | `/projects/:id/boards` |
@@ -102,6 +109,7 @@ The following API resources are available in the group context:
| [Group labels](group_labels.md) | `/groups/:id/labels` |
| [Group-level variables](group_level_variables.md) | `/groups/:id/variables` |
| [Group milestones](group_milestones.md) | `/groups/:id/milestones` |
+| [Invitations](invitations.md) | `/groups/:id/invitations` (also available for projects) |
| [Issues](issues.md) | `/groups/:id/issues` (also available for projects and standalone) |
| [Issues Statistics](issues_statistics.md) | `/groups/:id/issues_statistics` (also available for projects and standalone) |
| [Members](members.md) | `/groups/:id/members` (also available for projects) |
diff --git a/doc/api/appearance.md b/doc/api/appearance.md
index 47a9d48a4ae..07d26b1a643 100644
--- a/doc/api/appearance.md
+++ b/doc/api/appearance.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Appearance API **(CORE ONLY)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/16647) in GitLab 12.7.
diff --git a/doc/api/applications.md b/doc/api/applications.md
index 379f346c019..a3216bdddde 100644
--- a/doc/api/applications.md
+++ b/doc/api/applications.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Applications API
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8160) in GitLab 10.5.
diff --git a/doc/api/audit_events.md b/doc/api/audit_events.md
index 5f31919c52b..5fdf0c20f1a 100644
--- a/doc/api/audit_events.md
+++ b/doc/api/audit_events.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Audit Events API
## Instance Audit Events **(PREMIUM ONLY)**
diff --git a/doc/api/avatar.md b/doc/api/avatar.md
index 223704d3e6c..aec1ba67d45 100644
--- a/doc/api/avatar.md
+++ b/doc/api/avatar.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Avatar API
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/19121) in GitLab 11.0.
diff --git a/doc/api/boards.md b/doc/api/boards.md
index 12ebbcf916a..228c0ca322b 100644
--- a/doc/api/boards.md
+++ b/doc/api/boards.md
@@ -4,16 +4,16 @@ 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
---
-# Issue Boards API
+# Project Issue Boards API
Every API call to boards 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.
-## Project Board
+## List project issue boards
-Lists Issue Boards in the given project.
+Lists project issue boards in the given project.
```plaintext
GET /projects/:id/boards
@@ -33,6 +33,7 @@ Example response:
[
{
"id" : 1,
+ "name": "board1",
"project": {
"id": 5,
"name": "Diaspora Project Site",
@@ -88,9 +89,15 @@ Example response:
]
```
-## Single board
+Another example response when no board has been activated or exist in the project:
-Get a single board.
+```json
+[]
+```
+
+## Show a single issue board
+
+Get a single project issue board.
```plaintext
GET /projects/:id/boards/:board_id
@@ -165,9 +172,9 @@ Example response:
}
```
-## Create a board **(STARTER)**
+## Create an issue board
-Creates a board.
+Creates a project issue board.
```plaintext
POST /projects/:id/boards
@@ -197,70 +204,34 @@ Example response:
"web_url": "http://example.com/diaspora/diaspora-project-site"
},
"name": "newboard",
- "milestone": {
- "id": 12
- "title": "10.0"
- },
- "lists" : [
- {
- "id" : 1,
- "label" : {
- "name" : "Testing",
- "color" : "#F0AD4E",
- "description" : null
- },
- "position" : 1,
- "max_issue_count": 0,
- "max_issue_weight": 0,
- "limit_metric": null
- },
- {
- "id" : 2,
- "label" : {
- "name" : "Ready",
- "color" : "#FF0000",
- "description" : null
- },
- "position" : 2,
- "max_issue_count": 0,
- "max_issue_weight": 0,
- "limit_metric": null
- },
- {
- "id" : 3,
- "label" : {
- "name" : "Production",
- "color" : "#FF5F00",
- "description" : null
- },
- "position" : 3,
- "max_issue_count": 0,
- "max_issue_weight": 0,
- "limit_metric": null
- }
- ]
+ "lists" : [],
+ "group": null,
+ "milestone": null,
+ "assignee" : null,
+ "labels" : [],
+ "weight" : null
}
```
-## Update a board **(STARTER)**
+## Update an issue board
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/5954) in [GitLab Starter](https://about.gitlab.com/pricing/) 11.1.
-Updates a board.
+Updates a project issue board.
```plaintext
PUT /projects/:id/boards/:board_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 |
-| `board_id` | integer | yes | The ID of a board |
-| `name` | string | no | The new name of the board |
-| `assignee_id` | integer | no | The assignee the board should be scoped to |
-| `milestone_id` | integer | no | The milestone the board should be scoped to |
-| `labels` | string | no | Comma-separated list of label names which the board should be scoped to |
-| `weight` | integer | no | The weight range from 0 to 9, to which the board should be scoped to |
+| 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 |
+| `board_id` | integer | yes | The ID of a board |
+| `name` | string | no | The new name of the board |
+| `assignee_id` **(STARTER)** | integer | no | The assignee the board should be scoped to |
+| `milestone_id` **(STARTER)** | integer | no | The milestone the board should be scoped to |
+| `labels` **(STARTER)** | string | no | Comma-separated list of label names which the board should be scoped to |
+| `weight` **(STARTER)** | integer | no | The weight range from 0 to 9, to which the board should be scoped to |
```shell
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/boards/1?name=new_name&milestone_id=43&assignee_id=1&labels=Doing&weight=4"
@@ -323,9 +294,9 @@ Example response:
}
```
-## Delete a board **(STARTER)**
+## Delete an issue board
-Deletes a board.
+Deletes a project issue board.
```plaintext
DELETE /projects/:id/boards/:board_id
@@ -340,10 +311,10 @@ DELETE /projects/:id/boards/:board_id
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/boards/1"
```
-## List board lists
+## List board lists in a project issue board
Get a list of the board's lists.
-Does not include `open` and `closed` lists
+Does not include `open` and `closed` lists.
```plaintext
GET /projects/:id/boards/:board_id/lists
@@ -401,7 +372,7 @@ Example response:
]
```
-## Single board list
+## Show a single board list
Get a single board list.
@@ -436,9 +407,9 @@ Example response:
}
```
-## New board list
+## Create a board list
-Creates a new Issue Board list.
+Creates a new issue board list.
```plaintext
POST /projects/:id/boards/:board_id/lists
@@ -479,9 +450,9 @@ Example response:
}
```
-## Edit board list
+## Reorder a list in a board
-Updates an existing Issue Board list. This call is used to change list position.
+Updates an existing issue board list. This call is used to change list position.
```plaintext
PUT /projects/:id/boards/:board_id/lists/:list_id
@@ -515,7 +486,7 @@ Example response:
}
```
-## Delete a board list
+## Delete a board list from a board
Only for admins and project owners. Deletes the board list in question.
diff --git a/doc/api/broadcast_messages.md b/doc/api/broadcast_messages.md
index 37156186d03..f7253da297d 100644
--- a/doc/api/broadcast_messages.md
+++ b/doc/api/broadcast_messages.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Broadcast Messages API
> Introduced in GitLab 8.12.
@@ -92,8 +98,8 @@ Parameters:
| Attribute | Type | Required | Description |
|:----------------|:---------|:---------|:------------------------------------------------------|
| `message` | string | yes | Message to display. |
-| `starts_at` | datetime | no | Starting time (defaults to current time). |
-| `ends_at` | datetime | no | Ending time (defaults to one hour from current time). |
+| `starts_at` | datetime | no | Starting time (defaults to current time). Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
+| `ends_at` | datetime | no | Ending time (defaults to one hour from current time). Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
| `color` | string | no | Background color hex code. |
| `font` | string | no | Foreground color hex code. |
| `target_path` | string | no | Target path of the broadcast message. |
@@ -137,8 +143,8 @@ Parameters:
|:----------------|:---------|:---------|:--------------------------------------|
| `id` | integer | yes | ID of broadcast message to update. |
| `message` | string | no | Message to display. |
-| `starts_at` | datetime | no | Starting time. |
-| `ends_at` | datetime | no | Ending time. |
+| `starts_at` | datetime | no | Starting time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
+| `ends_at` | datetime | no | Ending time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
| `color` | string | no | Background color hex code. |
| `font` | string | no | Foreground color hex code. |
| `target_path` | string | no | Target path of the broadcast message. |
diff --git a/doc/api/commits.md b/doc/api/commits.md
index 66b34d4bc75..d60acaad94d 100644
--- a/doc/api/commits.md
+++ b/doc/api/commits.md
@@ -631,7 +631,7 @@ GET /projects/:id/repository/commits/:sha/statuses
| `sha` | string | yes | The commit SHA
| `ref` | string | no | The name of a repository branch or tag or, if not given, the default branch
| `stage` | string | no | Filter by [build stage](../ci/yaml/README.md#stages), e.g., `test`
-| `name` | string | no | Filter by [job name](../ci/yaml/README.md#introduction), e.g., `bundler:audit`
+| `name` | string | no | Filter by [job name](../ci/yaml/README.md#job-keywords), e.g., `bundler:audit`
| `all` | boolean | no | Return all statuses, not only the latest ones
```shell
@@ -842,7 +842,8 @@ Example response if commit is GPG signed:
"gpg_key_primary_keyid": "8254AAB3FBD54AC9",
"gpg_key_user_name": "John Doe",
"gpg_key_user_email": "johndoe@example.com",
- "gpg_key_subkey_id": null
+ "gpg_key_subkey_id": null,
+ "commit_source": "gitaly"
}
```
@@ -865,7 +866,8 @@ Example response if commit is X.509 signed:
"subject_key_identifier": "AB:AB:AB:AB:AB:AB:AB:AB:AB:AB:AB:AB:AB:AB:AB:AB:AB:AB:AB:AB",
"crl_url": "http://example.com/pki.crl"
}
- }
+ },
+ "commit_source": "gitaly"
}
```
diff --git a/doc/api/container_registry.md b/doc/api/container_registry.md
index 3a7ebf9a2aa..ddfe5d3f238 100644
--- a/doc/api/container_registry.md
+++ b/doc/api/container_registry.md
@@ -124,6 +124,48 @@ Example response:
]
```
+## Get details of a single repository
+
+> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/209916) in GitLab 13.6.
+
+Get details of a registry repository.
+
+```plaintext
+GET /registry/repositories/:id
+```
+
+| Attribute | Type | Required | Description |
+| --------- | ---- | -------- | ----------- |
+| `id` | integer/string | yes | The ID of the registry repository accessible by the authenticated user. |
+| `tags` | boolean | no | If the parameter is included as `true`, the response includes an array of `"tags"`. |
+| `tags_count` | boolean | no | If the parameter is included as `true`, the response includes `"tags_count"`. |
+
+```shell
+curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/registry/repositories/2?tags=true&tags_count=true"
+```
+
+Example response:
+
+```json
+{
+ "id": 2,
+ "name": "",
+ "path": "group/project",
+ "project_id": 9,
+ "location": "gitlab.example.com:5000/group/project",
+ "created_at": "2019-01-10T13:38:57.391Z",
+ "cleanup_policy_started_at": "2020-08-17T03:12:35.489Z",
+ "tags_count": 1,
+ "tags": [
+ {
+ "name": "0.0.1",
+ "path": "group/project:0.0.1",
+ "location": "gitlab.example.com:5000/group/project:0.0.1"
+ }
+ ]
+}
+```
+
## Delete registry repository
Delete a repository in registry.
@@ -238,7 +280,7 @@ This action doesn't delete blobs. To delete them and recycle disk space,
Delete registry repository tags in bulk based on given criteria.
<i class="fa fa-youtube-play youtube" aria-hidden="true"></i>
-For an overview, see [Utilize the Container Registry API to delete all tags except *](https://youtu.be/Hi19bKe_xsg).
+For an overview, see [Use the Container Registry API to delete all tags except *](https://youtu.be/Hi19bKe_xsg).
```plaintext
DELETE /projects/:id/registry/repositories/:repository_id/tags
diff --git a/doc/api/custom_attributes.md b/doc/api/custom_attributes.md
index 07ece99f9b1..76c8474ee95 100644
--- a/doc/api/custom_attributes.md
+++ b/doc/api/custom_attributes.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Custom Attributes API
Every API call to custom attributes must be authenticated as administrator.
diff --git a/doc/api/dependencies.md b/doc/api/dependencies.md
index 56d33bf151a..2f65ff7b8d9 100644
--- a/doc/api/dependencies.md
+++ b/doc/api/dependencies.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Dependencies API **(ULTIMATE)**
CAUTION: **Caution:**
diff --git a/doc/api/dependency_proxy.md b/doc/api/dependency_proxy.md
index a379f1481c1..4d937027dec 100644
--- a/doc/api/dependency_proxy.md
+++ b/doc/api/dependency_proxy.md
@@ -1,11 +1,21 @@
-# Dependency Proxy API **(PREMIUM)**
+---
+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
+---
+
+# Dependency Proxy API
## Purge the dependency proxy for a group
-> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/11631) in GitLab 12.10.
+> - [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.
+CAUTION: **Warning:**
+[A bug exists](https://gitlab.com/gitlab-org/gitlab/-/issues/277161) for this API.
+
```plaintext
DELETE /groups/:id/dependency_proxy/cache
```
diff --git a/doc/api/deploy_tokens.md b/doc/api/deploy_tokens.md
index f11f88ab5c9..ce55657ce27 100644
--- a/doc/api/deploy_tokens.md
+++ b/doc/api/deploy_tokens.md
@@ -96,7 +96,7 @@ POST /projects/:id/deploy_tokens
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user |
| `name` | string | yes | New deploy token's name |
-| `expires_at` | datetime | no | Expiration date for the deploy token. Does not expire if no value is provided. |
+| `expires_at` | datetime | no | Expiration date for the deploy token. Does not expire if no value is provided. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
| `username` | string | no | Username for deploy token. Default is `gitlab+deploy-token-{n}` |
| `scopes` | array of strings | yes | Indicates the deploy token scopes. Must be at least one of `read_repository`, `read_registry`, `write_registry`, `read_package_registry`, or `write_package_registry`. |
@@ -198,7 +198,7 @@ POST /groups/:id/deploy_tokens
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) owned by the authenticated user |
| `name` | string | yes | New deploy token's name |
-| `expires_at` | datetime | no | Expiration date for the deploy token. Does not expire if no value is provided. |
+| `expires_at` | datetime | no | Expiration date for the deploy token. Does not expire if no value is provided. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
| `username` | string | no | Username for deploy token. Default is `gitlab+deploy-token-{n}` |
| `scopes` | array of strings | yes | Indicates the deploy token scopes. Must be at least one of `read_repository`, `read_registry`, `write_registry`, `read_package_registry`, or `write_package_registry`. |
diff --git a/doc/api/deployments.md b/doc/api/deployments.md
index b0de972160b..0bc72c93be7 100644
--- a/doc/api/deployments.md
+++ b/doc/api/deployments.md
@@ -20,8 +20,8 @@ GET /projects/:id/deployments
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user |
| `order_by` | string | no | Return deployments ordered by `id` or `iid` or `created_at` or `updated_at` or `ref` fields. Default is `id` |
| `sort` | string | no | Return deployments sorted in `asc` or `desc` order. Default is `asc` |
-| `updated_after` | datetime | no | Return deployments updated after the specified date |
-| `updated_before` | datetime | no | Return deployments updated before the specified date |
+| `updated_after` | datetime | no | Return deployments updated after the specified date. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
+| `updated_before` | datetime | no | Return deployments updated before the specified date. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
| `environment` | string | no | The [name of the environment](../ci/environments/index.md#defining-environments) to filter deployments by |
| `status` | string | no | The status to filter deployments by |
@@ -379,7 +379,7 @@ This API retrieves the list of merge requests shipped with a given deployment:
GET /projects/:id/deployments/:deployment_id/merge_requests
```
-It supports the same parameters as the [Merge Requests API](./merge_requests.md#list-merge-requests) and will return a response using the same format:
+It supports the same parameters as the [Merge Requests API](merge_requests.md#list-merge-requests) and will return a response using the same format:
```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/deployments/42"
diff --git a/doc/api/epic_issues.md b/doc/api/epic_issues.md
index 4ab505f3627..21ba75d37a5 100644
--- a/doc/api/epic_issues.md
+++ b/doc/api/epic_issues.md
@@ -1,6 +1,6 @@
---
stage: Plan
-group: Portfolio Management
+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
---
diff --git a/doc/api/epic_links.md b/doc/api/epic_links.md
index 19c8dc78aed..a368b806f75 100644
--- a/doc/api/epic_links.md
+++ b/doc/api/epic_links.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Epic Links API **(ULTIMATE)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/9188) in GitLab 11.8.
diff --git a/doc/api/epics.md b/doc/api/epics.md
index 5c7366c8457..74cde87bb91 100644
--- a/doc/api/epics.md
+++ b/doc/api/epics.md
@@ -1,6 +1,6 @@
---
stage: Plan
-group: Portfolio Management
+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
---
@@ -67,10 +67,10 @@ GET /groups/:id/epics?state=opened
| `sort` | string | no | Return epics sorted in `asc` or `desc` order. Default is `desc` |
| `search` | string | no | Search epics against their `title` and `description` |
| `state` | string | no | Search epics against their `state`, possible filters: `opened`, `closed` and `all`, default: `all` |
-| `created_after` | datetime | no | Return epics created on or after the given time |
-| `created_before` | datetime | no | Return epics created on or before the given time |
-| `updated_after` | datetime | no | Return epics updated on or after the given time |
-| `updated_before` | datetime | no | Return epics updated on or before the given time |
+| `created_after` | datetime | no | Return epics created on or after the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
+| `created_before` | datetime | no | Return epics created on or before the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
+| `updated_after` | datetime | no | Return epics updated on or after the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
+| `updated_before` | datetime | no | Return epics updated on or before the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
| `include_ancestor_groups` | boolean | no | Include epics from the requested group's ancestors. Default is `false` |
| `include_descendant_groups` | boolean | no | Include epics from the requested group's descendants. Default is `true` |
| `my_reaction_emoji` | string | no | Return epics reacted by the authenticated user by the given emoji. `None` returns epics not given a reaction. `Any` returns epics given at least one reaction. Introduced in [GitLab 13.0](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31479)|
@@ -349,7 +349,9 @@ PUT /groups/:id/epics/:epic_iid
| `title` | string | no | The title of an epic |
| `description` | string | no | The description of an epic. Limited to 1,048,576 characters. |
| `confidential` | boolean | no | Whether the epic should be confidential |
-| `labels` | string | no | The comma separated list of labels |
+| `labels` | string | no | Comma-separated label names for an issue. Set to an empty string to unassign all labels. |
+| `add_labels` | string | no | Comma-separated label names to add to an issue. |
+| `remove_labels` | string | no | Comma-separated label names to remove from an issue. |
| `updated_at` | string | no | When the epic was updated. Date time string, ISO 8601 formatted, for example `2016-03-11T03:45:40Z` . Requires administrator or project/group owner privileges ([introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/255309) in GitLab 13.5) |
| `start_date_is_fixed` | boolean | no | Whether start date should be sourced from `start_date_fixed` or from milestones (since 11.3) |
| `start_date_fixed` | string | no | The fixed start date of an epic (since 11.3) |
@@ -424,10 +426,10 @@ DELETE /groups/:id/epics/:epic_iid
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/epics/5"
```
-## Create a to do
+## Create a to-do item
-Manually creates a to do for the current user on an epic. If
-there already exists a to do for the user on that epic, status code `304` is
+Manually creates a to-do item for the current user on an epic. If
+there already exists a to-do item for the user on that epic, status code `304` is
returned.
```plaintext
diff --git a/doc/api/events.md b/doc/api/events.md
index 3f4f11b9786..e59630d1358 100644
--- a/doc/api/events.md
+++ b/doc/api/events.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Events
## Filter parameters
@@ -6,6 +12,7 @@
Available action types for the `action` parameter are:
+- `approved`
- `created`
- `updated`
- `closed`
diff --git a/doc/api/experiments.md b/doc/api/experiments.md
index 66c444e54ce..7e2cad1070b 100644
--- a/doc/api/experiments.md
+++ b/doc/api/experiments.md
@@ -8,13 +8,13 @@ info: To determine the technical writer assigned to the Stage/Group associated w
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/262725) in GitLab 13.5.
-This API is for listing Experiments [experiment use in development of GitLab](../development/experiment_guide/index.md).
+This API is for listing A/B experiments [defined in GitLab](../development/experiment_guide/index.md).
-All methods require user be a [GitLab team member](https://gitlab.com/groups/gitlab-com/-/group_members) for authorization.
+The user must be a [GitLab team member](https://gitlab.com/groups/gitlab-com/-/group_members) to access the API.
## List all experiments
-Get a list of all experiments, with its enabled status.
+Get a list of all experiments. Each experiment has an `enabled` status that indicates whether the experiment is enabled globally, or only in specific contexts.
```plaintext
GET /experiments
diff --git a/doc/api/feature_flag_user_lists.md b/doc/api/feature_flag_user_lists.md
index b44cb1fb9f2..7cdfcb8d074 100644
--- a/doc/api/feature_flag_user_lists.md
+++ b/doc/api/feature_flag_user_lists.md
@@ -25,9 +25,10 @@ Gets all feature flag user lists for the requested project.
GET /projects/:id/feature_flags_user_lists
```
-| Attribute | Type | Required | Description |
-| ------------------- | ---------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------- |
-| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
+| Attribute | Type | Required | Description |
+| --------- | -------------- | -------- | -------------------------------------------------------------------------------- |
+| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
+| `search` | string | no | Return user lists matching the search criteria. |
```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/feature_flags_user_lists"
diff --git a/doc/api/geo_nodes.md b/doc/api/geo_nodes.md
index 064bd26ee72..c9b86320a9f 100644
--- a/doc/api/geo_nodes.md
+++ b/doc/api/geo_nodes.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Geo Nodes API **(PREMIUM ONLY)**
To interact with Geo node endpoints, you need to authenticate yourself as an
diff --git a/doc/api/graphql/audit_report.md b/doc/api/graphql/audit_report.md
index 36c3f44ff89..12663654026 100644
--- a/doc/api/graphql/audit_report.md
+++ b/doc/api/graphql/audit_report.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Set up an Audit Report with GraphQL
This page describes how you can use the GraphiQL explorer to set up an audit report
diff --git a/doc/api/graphql/getting_started.md b/doc/api/graphql/getting_started.md
index c2220403461..8501e76b5aa 100644
--- a/doc/api/graphql/getting_started.md
+++ b/doc/api/graphql/getting_started.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Getting started with GitLab GraphQL API
This guide demonstrates basic usage of GitLab's GraphQL API.
diff --git a/doc/api/graphql/index.md b/doc/api/graphql/index.md
index bda24a7e90a..91917ea47a4 100644
--- a/doc/api/graphql/index.md
+++ b/doc/api/graphql/index.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# GraphQL API
> - [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/19008) in GitLab 11.0 (enabled by feature flag `graphql`).
@@ -76,6 +82,10 @@ The process is as follows:
release post (at or prior to X.11 and X.5 releases).
1. Fields meeting criteria are removed in X.0 or X.6.
+### List of removed items
+
+View the [fields, enums, and other items we removed](removed_items.md) from the GraphQL API.
+
## Available queries
The GraphQL API includes the following queries at the root level:
diff --git a/doc/api/graphql/reference/gitlab_schema.graphql b/doc/api/graphql/reference/gitlab_schema.graphql
index a44f8f70311..58f7d8ecdcf 100644
--- a/doc/api/graphql/reference/gitlab_schema.graphql
+++ b/doc/api/graphql/reference/gitlab_schema.graphql
@@ -591,6 +591,178 @@ type AlertManagementAlertStatusCountsType {
}
"""
+An endpoint and credentials used to accept alerts for a project
+"""
+type AlertManagementHttpIntegration implements AlertManagementIntegration {
+ """
+ Whether the endpoint is currently accepting alerts
+ """
+ active: Boolean
+
+ """
+ URL at which Prometheus metrics can be queried to populate the metrics dashboard
+ """
+ apiUrl: String
+
+ """
+ ID of the integration
+ """
+ id: ID!
+
+ """
+ Name of the integration
+ """
+ name: String
+
+ """
+ Token used to authenticate alert notification requests
+ """
+ token: String
+
+ """
+ Type of integration
+ """
+ type: AlertManagementIntegrationType!
+
+ """
+ Endpoint which accepts alert notifications
+ """
+ url: String
+}
+
+"""
+Identifier of AlertManagement::HttpIntegration
+"""
+scalar AlertManagementHttpIntegrationID
+
+interface AlertManagementIntegration {
+ """
+ Whether the endpoint is currently accepting alerts
+ """
+ active: Boolean
+
+ """
+ URL at which Prometheus metrics can be queried to populate the metrics dashboard
+ """
+ apiUrl: String
+
+ """
+ ID of the integration
+ """
+ id: ID!
+
+ """
+ Name of the integration
+ """
+ name: String
+
+ """
+ Token used to authenticate alert notification requests
+ """
+ token: String
+
+ """
+ Type of integration
+ """
+ type: AlertManagementIntegrationType!
+
+ """
+ Endpoint which accepts alert notifications
+ """
+ url: String
+}
+
+"""
+The connection type for AlertManagementIntegration.
+"""
+type AlertManagementIntegrationConnection {
+ """
+ A list of edges.
+ """
+ edges: [AlertManagementIntegrationEdge]
+
+ """
+ A list of nodes.
+ """
+ nodes: [AlertManagementIntegration]
+
+ """
+ Information to aid in pagination.
+ """
+ pageInfo: PageInfo!
+}
+
+"""
+An edge in a connection.
+"""
+type AlertManagementIntegrationEdge {
+ """
+ A cursor for use in pagination.
+ """
+ cursor: String!
+
+ """
+ The item at the end of the edge.
+ """
+ node: AlertManagementIntegration
+}
+
+"""
+Values of types of integrations
+"""
+enum AlertManagementIntegrationType {
+ """
+ Integration with any monitoring tool
+ """
+ HTTP
+
+ """
+ Prometheus integration
+ """
+ PROMETHEUS
+}
+
+"""
+An endpoint and credentials used to accept Prometheus alerts for a project
+"""
+type AlertManagementPrometheusIntegration implements AlertManagementIntegration {
+ """
+ Whether the endpoint is currently accepting alerts
+ """
+ active: Boolean
+
+ """
+ URL at which Prometheus metrics can be queried to populate the metrics dashboard
+ """
+ apiUrl: String
+
+ """
+ ID of the integration
+ """
+ id: ID!
+
+ """
+ Name of the integration
+ """
+ name: String
+
+ """
+ Token used to authenticate alert notification requests
+ """
+ token: String
+
+ """
+ Type of integration
+ """
+ type: AlertManagementIntegrationType!
+
+ """
+ Endpoint which accepts alert notifications
+ """
+ url: String
+}
+
+"""
Alert severity values
"""
enum AlertManagementSeverity {
@@ -761,6 +933,21 @@ type AlertTodoCreatePayload {
}
"""
+User availability status
+"""
+enum AvailabilityEnum {
+ """
+ Busy
+ """
+ BUSY
+
+ """
+ Not Set
+ """
+ NOT_SET
+}
+
+"""
An emoji awarded by a user
"""
type AwardEmoji {
@@ -1134,7 +1321,7 @@ type Board {
"""
Find a list by its global ID
"""
- id: ID
+ id: ListID
"""
Filters applied when getting issue metadata in the board list
@@ -1253,6 +1440,11 @@ type BoardEpic implements CurrentUserTodos & Noteable {
iids: [ID!]
"""
+ Include epics from descendant groups
+ """
+ includeDescendantGroups: Boolean = true
+
+ """
Filter epics by labels
"""
labelName: [String!]
@@ -1611,6 +1803,16 @@ type BoardEpic implements CurrentUserTodos & Noteable {
upvotes: Int!
"""
+ Number of user discussions in the epic
+ """
+ userDiscussionsCount: Int!
+
+ """
+ Number of user notes of the epic
+ """
+ userNotesCount: Int!
+
+ """
Permissions for the current user on the resource
"""
userPermissions: EpicPermissions!
@@ -1695,7 +1897,7 @@ input BoardIssueInput {
"""
Filter by epic ID. Incompatible with epicWildcardId
"""
- epicId: ID
+ epicId: EpicID
"""
Filter by epic ID wildcard. Incompatible with epicId
@@ -1703,6 +1905,16 @@ input BoardIssueInput {
epicWildcardId: EpicWildcardId
"""
+ Filter by iteration title
+ """
+ iterationTitle: String
+
+ """
+ Filter by iteration ID wildcard
+ """
+ iterationWildcardId: IterationWildcardId
+
+ """
Filter by label name
"""
labelName: [String]
@@ -2134,6 +2346,11 @@ type CiJob {
): CiJobConnection
"""
+ Pipeline the job belongs to
+ """
+ pipeline: Pipeline!
+
+ """
Schedule for the build
"""
scheduledAt: Time
@@ -2308,6 +2525,11 @@ The connection type for ClusterAgent.
"""
type ClusterAgentConnection {
"""
+ Total count of collection
+ """
+ count: Int!
+
+ """
A list of edges.
"""
edges: [ClusterAgentEdge]
@@ -2390,6 +2612,11 @@ The connection type for ClusterAgentToken.
"""
type ClusterAgentTokenConnection {
"""
+ Total count of collection
+ """
+ count: Int!
+
+ """
A list of edges.
"""
edges: [ClusterAgentTokenEdge]
@@ -2505,6 +2732,86 @@ Identifier of Clusters::Cluster
"""
scalar ClustersClusterID
+"""
+Represents the code coverage activity for a group
+"""
+type CodeCoverageActivity {
+ """
+ Average percentage of the different code coverage results available for the group.
+ """
+ averageCoverage: Float
+
+ """
+ Number of different code coverage results available for the group.
+ """
+ coverageCount: Int
+
+ """
+ Date when the code coverage was created.
+ """
+ date: Date!
+
+ """
+ Number of projects with code coverage results for the group.
+ """
+ projectCount: Int
+}
+
+"""
+The connection type for CodeCoverageActivity.
+"""
+type CodeCoverageActivityConnection {
+ """
+ A list of edges.
+ """
+ edges: [CodeCoverageActivityEdge]
+
+ """
+ A list of nodes.
+ """
+ nodes: [CodeCoverageActivity]
+
+ """
+ Information to aid in pagination.
+ """
+ pageInfo: PageInfo!
+}
+
+"""
+An edge in a connection.
+"""
+type CodeCoverageActivityEdge {
+ """
+ A cursor for use in pagination.
+ """
+ cursor: String!
+
+ """
+ The item at the end of the edge.
+ """
+ node: CodeCoverageActivity
+}
+
+"""
+Represents the code coverage summary for a project
+"""
+type CodeCoverageSummary {
+ """
+ Average percentage of the different code coverage results available for the project.
+ """
+ averageCoverage: Float
+
+ """
+ Number of different code coverage results available.
+ """
+ coverageCount: Int
+
+ """
+ Latest date when the code coverage was created for the project.
+ """
+ lastUpdatedOn: Date
+}
+
type Commit {
"""
Author of the commit
@@ -2542,26 +2849,6 @@ type Commit {
id: ID!
"""
- Latest pipeline of the commit. Deprecated in 12.5: Use `pipelines`
- """
- latestPipeline(
- """
- Filter pipelines by the ref they are run for
- """
- ref: String
-
- """
- Filter pipelines by the sha of the commit they are run for
- """
- sha: String
-
- """
- Filter pipelines by their status
- """
- status: PipelineStatusEnum
- ): Pipeline @deprecated(reason: "Use `pipelines`. Deprecated in 12.5")
-
- """
Raw commit message
"""
message: String
@@ -2714,7 +3001,7 @@ input CommitCreateInput {
actions: [CommitAction!]!
"""
- Name of the branch
+ Name of the branch to commit into, it can be a new branch
"""
branch: String!
@@ -2732,6 +3019,11 @@ input CommitCreateInput {
Project full path the branch is associated with
"""
projectPath: ID!
+
+ """
+ If on a new branch, name of the original branch
+ """
+ startBranch: String
}
"""
@@ -2773,7 +3065,7 @@ type ComplianceFramework {
"""
Name of the compliance framework
"""
- name: ProjectSettingEnum!
+ name: String!
}
"""
@@ -2988,6 +3280,316 @@ enum ContainerExpirationPolicyOlderThanEnum {
}
"""
+A container repository
+"""
+type ContainerRepository {
+ """
+ Can the current user delete the container repository.
+ """
+ canDelete: Boolean!
+
+ """
+ Timestamp when the container repository was created.
+ """
+ createdAt: Time!
+
+ """
+ The tags cleanup status for the container repository.
+ """
+ expirationPolicyCleanupStatus: ContainerRepositoryCleanupStatus
+
+ """
+ Timestamp when the cleanup done by the expiration policy was started on the container repository.
+ """
+ expirationPolicyStartedAt: Time
+
+ """
+ ID of the container repository.
+ """
+ id: ID!
+
+ """
+ URL of the container repository.
+ """
+ location: String!
+
+ """
+ Name of the container repository.
+ """
+ name: String!
+
+ """
+ Path of the container repository.
+ """
+ path: String!
+
+ """
+ Status of the container repository.
+ """
+ status: ContainerRepositoryStatus
+
+ """
+ Number of tags associated with this image.
+ """
+ tagsCount: Int!
+
+ """
+ Timestamp when the container repository was updated.
+ """
+ updatedAt: Time!
+}
+
+"""
+Status of the tags cleanup of a container repository
+"""
+enum ContainerRepositoryCleanupStatus {
+ """
+ The tags cleanup is ongoing.
+ """
+ ONGOING
+
+ """
+ The tags cleanup is scheduled and is going to be executed shortly.
+ """
+ SCHEDULED
+
+ """
+ The tags cleanup has been partially executed. There are still remaining tags to delete.
+ """
+ UNFINISHED
+
+ """
+ The tags cleanup is not scheduled. This is the default state.
+ """
+ UNSCHEDULED
+}
+
+"""
+The connection type for ContainerRepository.
+"""
+type ContainerRepositoryConnection {
+ """
+ A list of edges.
+ """
+ edges: [ContainerRepositoryEdge]
+
+ """
+ A list of nodes.
+ """
+ nodes: [ContainerRepository]
+
+ """
+ Information to aid in pagination.
+ """
+ pageInfo: PageInfo!
+}
+
+"""
+Details of a container repository
+"""
+type ContainerRepositoryDetails {
+ """
+ Can the current user delete the container repository.
+ """
+ canDelete: Boolean!
+
+ """
+ Timestamp when the container repository was created.
+ """
+ createdAt: Time!
+
+ """
+ The tags cleanup status for the container repository.
+ """
+ expirationPolicyCleanupStatus: ContainerRepositoryCleanupStatus
+
+ """
+ Timestamp when the cleanup done by the expiration policy was started on the container repository.
+ """
+ expirationPolicyStartedAt: Time
+
+ """
+ ID of the container repository.
+ """
+ id: ID!
+
+ """
+ URL of the container repository.
+ """
+ location: String!
+
+ """
+ Name of the container repository.
+ """
+ name: String!
+
+ """
+ Path of the container repository.
+ """
+ path: String!
+
+ """
+ Status of the container repository.
+ """
+ status: ContainerRepositoryStatus
+
+ """
+ Tags of the container repository
+ """
+ tags(
+ """
+ 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
+ ): ContainerRepositoryTagConnection
+
+ """
+ Number of tags associated with this image.
+ """
+ tagsCount: Int!
+
+ """
+ Timestamp when the container repository was updated.
+ """
+ updatedAt: Time!
+}
+
+"""
+An edge in a connection.
+"""
+type ContainerRepositoryEdge {
+ """
+ A cursor for use in pagination.
+ """
+ cursor: String!
+
+ """
+ The item at the end of the edge.
+ """
+ node: ContainerRepository
+}
+
+"""
+Identifier of ContainerRepository
+"""
+scalar ContainerRepositoryID
+
+"""
+Status of a container repository
+"""
+enum ContainerRepositoryStatus {
+ """
+ Delete Failed status.
+ """
+ DELETE_FAILED
+
+ """
+ Delete Scheduled status.
+ """
+ DELETE_SCHEDULED
+}
+
+"""
+A tag from a container repository
+"""
+type ContainerRepositoryTag {
+ """
+ Can the current user delete this tag.
+ """
+ canDelete: Boolean!
+
+ """
+ Timestamp when the tag was created.
+ """
+ createdAt: Time!
+
+ """
+ Digest of the tag.
+ """
+ digest: String!
+
+ """
+ URL of the tag.
+ """
+ location: String!
+
+ """
+ Name of the tag.
+ """
+ name: String!
+
+ """
+ Path of the tag.
+ """
+ path: String!
+
+ """
+ Revision of the tag.
+ """
+ revision: String!
+
+ """
+ Short revision of the tag.
+ """
+ shortRevision: String!
+
+ """
+ The size of the tag.
+ """
+ totalSize: Int!
+}
+
+"""
+The connection type for ContainerRepositoryTag.
+"""
+type ContainerRepositoryTagConnection {
+ """
+ A list of edges.
+ """
+ edges: [ContainerRepositoryTagEdge]
+
+ """
+ A list of nodes.
+ """
+ nodes: [ContainerRepositoryTag]
+
+ """
+ Information to aid in pagination.
+ """
+ pageInfo: PageInfo!
+}
+
+"""
+An edge in a connection.
+"""
+type ContainerRepositoryTagEdge {
+ """
+ A cursor for use in pagination.
+ """
+ cursor: String!
+
+ """
+ The item at the end of the edge.
+ """
+ node: ContainerRepositoryTag
+}
+
+"""
Autogenerated input type of CreateAlertIssue
"""
input CreateAlertIssueInput {
@@ -3112,19 +3714,19 @@ input CreateBoardInput {
clientMutationId: String
"""
- The group full path the board is associated with.
+ The group full path the resource is associated with
"""
groupPath: ID
"""
The IDs of labels to be added to the board.
"""
- labelIds: [ID!]
+ labelIds: [LabelID!]
"""
The ID of the milestone to be assigned to the board.
"""
- milestoneId: ID
+ milestoneId: MilestoneID
"""
The board name.
@@ -3132,7 +3734,7 @@ input CreateBoardInput {
name: String
"""
- The project full path the board is associated with.
+ The project full path the resource is associated with
"""
projectPath: ID
@@ -3248,6 +3850,51 @@ type CreateClusterAgentPayload {
}
"""
+Autogenerated input type of CreateCustomEmoji
+"""
+input CreateCustomEmojiInput {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ Namespace full path the emoji is associated with
+ """
+ groupPath: ID!
+
+ """
+ Name of the emoji
+ """
+ name: String!
+
+ """
+ Location of the emoji file
+ """
+ url: String!
+}
+
+"""
+Autogenerated return type of CreateCustomEmoji
+"""
+type CreateCustomEmojiPayload {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ The new custom emoji
+ """
+ customEmoji: CustomEmoji
+
+ """
+ Errors encountered during execution of the mutation.
+ """
+ errors: [String!]!
+}
+
+"""
Autogenerated input type of CreateDiffNote
"""
input CreateDiffNoteInput {
@@ -3845,6 +4492,71 @@ interface CurrentUserTodos {
}
"""
+A custom emoji uploaded by user
+"""
+type CustomEmoji {
+ """
+ Whether the emoji is an external link
+ """
+ external: Boolean!
+
+ """
+ The ID of the emoji
+ """
+ id: CustomEmojiID!
+
+ """
+ The name of the emoji
+ """
+ name: String!
+
+ """
+ The link to file of the emoji
+ """
+ url: String!
+}
+
+"""
+The connection type for CustomEmoji.
+"""
+type CustomEmojiConnection {
+ """
+ A list of edges.
+ """
+ edges: [CustomEmojiEdge]
+
+ """
+ A list of nodes.
+ """
+ nodes: [CustomEmoji]
+
+ """
+ Information to aid in pagination.
+ """
+ pageInfo: PageInfo!
+}
+
+"""
+An edge in a connection.
+"""
+type CustomEmojiEdge {
+ """
+ A cursor for use in pagination.
+ """
+ cursor: String!
+
+ """
+ The item at the end of the edge.
+ """
+ node: CustomEmoji
+}
+
+"""
+Identifier of CustomEmoji
+"""
+scalar CustomEmojiID
+
+"""
Autogenerated input type of DastOnDemandScanCreate
"""
input DastOnDemandScanCreateInput {
@@ -3911,14 +4623,14 @@ type DastScannerProfile {
editPath: String
"""
- ID of the DAST scanner profile
+ ID of the DAST scanner profile. Deprecated in 13.6: Use `id`
"""
- globalId: DastScannerProfileID!
+ globalId: DastScannerProfileID! @deprecated(reason: "Use `id`. Deprecated in 13.6")
"""
- ID of the DAST scanner profile. Deprecated in 13.4: Use `global_id`
+ ID of the DAST scanner profile
"""
- id: ID! @deprecated(reason: "Use `global_id`. Deprecated in 13.4")
+ id: DastScannerProfileID!
"""
Name of the DAST scanner profile
@@ -4035,14 +4747,14 @@ type DastScannerProfileCreatePayload {
errors: [String!]!
"""
- ID of the scanner profile.
+ ID of the scanner profile.. Deprecated in 13.6: Use `id`
"""
- globalId: DastScannerProfileID
+ globalId: DastScannerProfileID @deprecated(reason: "Use `id`. Deprecated in 13.6")
"""
- ID of the scanner profile.. Deprecated in 13.4: Use `global_id`
+ ID of the scanner profile.
"""
- id: ID @deprecated(reason: "Use `global_id`. Deprecated in 13.4")
+ id: DastScannerProfileID
}
"""
@@ -4465,6 +5177,93 @@ Identifier of DastSiteToken
scalar DastSiteTokenID
"""
+Represents a DAST Site Validation
+"""
+type DastSiteValidation {
+ """
+ ID of the site validation
+ """
+ id: DastSiteValidationID!
+
+ """
+ The status of the validation
+ """
+ status: DastSiteProfileValidationStatusEnum!
+}
+
+"""
+Autogenerated input type of DastSiteValidationCreate
+"""
+input DastSiteValidationCreateInput {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ ID of the site token.
+ """
+ dastSiteTokenId: DastSiteTokenID!
+
+ """
+ The project the site profile belongs to.
+ """
+ fullPath: ID!
+
+ """
+ The validation strategy to be used.
+ """
+ strategy: DastSiteValidationStrategyEnum
+
+ """
+ The path to be requested during validation.
+ """
+ validationPath: String!
+}
+
+"""
+Autogenerated return type of DastSiteValidationCreate
+"""
+type DastSiteValidationCreatePayload {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ Errors encountered during execution of the mutation.
+ """
+ errors: [String!]!
+
+ """
+ ID of the site validation.
+ """
+ id: DastSiteValidationID
+
+ """
+ The current validation status.
+ """
+ status: DastSiteProfileValidationStatusEnum
+}
+
+"""
+Identifier of DastSiteValidation
+"""
+scalar DastSiteValidationID
+
+enum DastSiteValidationStrategyEnum {
+ """
+ Header validation
+ """
+ HEADER
+
+ """
+ Text file validation
+ """
+ TEXT_FILE
+}
+
+"""
Date represented in ISO 8601
"""
scalar Date
@@ -4481,7 +5280,7 @@ input DeleteAnnotationInput {
"""
The global ID of the annotation to delete
"""
- id: ID!
+ id: MetricsDashboardAnnotationID!
}
"""
@@ -4670,7 +5469,7 @@ type Design implements CurrentUserTodos & DesignFields & Noteable {
"""
The Global ID of the most recent acceptable version
"""
- earlierOrEqualToId: ID
+ earlierOrEqualToId: DesignManagementVersionID
"""
The SHA256 of the most recent acceptable version
@@ -4810,7 +5609,7 @@ type DesignCollection {
"""
Find a design by its ID
"""
- id: ID
+ id: DesignManagementDesignID
): Design
"""
@@ -4820,7 +5619,7 @@ type DesignCollection {
"""
The Global ID of the design at this version
"""
- id: ID!
+ id: DesignManagementDesignAtVersionID!
): DesignAtVersion
"""
@@ -4836,7 +5635,7 @@ type DesignCollection {
Filters designs to only those that existed at the version. If argument is
omitted or nil then all designs will reflect the latest version
"""
- atVersion: ID
+ atVersion: DesignManagementVersionID
"""
Returns the elements in the list that come before the specified cursor.
@@ -4856,7 +5655,7 @@ type DesignCollection {
"""
Filters designs by their ID
"""
- ids: [ID!]
+ ids: [DesignManagementDesignID!]
"""
Returns the last _n_ elements from the list.
@@ -4881,7 +5680,7 @@ type DesignCollection {
"""
The Global ID of the version
"""
- id: ID
+ id: DesignManagementVersionID
"""
The SHA256 of a specific version
@@ -4906,7 +5705,7 @@ type DesignCollection {
"""
The Global ID of the most recent acceptable version
"""
- earlierOrEqualToId: ID
+ earlierOrEqualToId: DesignManagementVersionID
"""
The SHA256 of the most recent acceptable version
@@ -5040,7 +5839,7 @@ type DesignManagement {
"""
The Global ID of the design at this version
"""
- id: ID!
+ id: DesignManagementDesignAtVersionID!
): DesignAtVersion
"""
@@ -5050,7 +5849,7 @@ type DesignManagement {
"""
The Global ID of the version
"""
- id: ID!
+ id: DesignManagementVersionID!
): DesignVersion
}
@@ -5100,6 +5899,11 @@ type DesignManagementDeletePayload {
}
"""
+Identifier of DesignManagement::DesignAtVersion
+"""
+scalar DesignManagementDesignAtVersionID
+
+"""
Identifier of DesignManagement::Design
"""
scalar DesignManagementDesignID
@@ -5200,6 +6004,11 @@ type DesignManagementUploadPayload {
}
"""
+Identifier of DesignManagement::Version
+"""
+scalar DesignManagementVersionID
+
+"""
A specific version in which designs were added, modified or deleted
"""
type DesignVersion {
@@ -5210,7 +6019,7 @@ type DesignVersion {
"""
The ID of a specific design
"""
- designId: ID
+ designId: DesignManagementDesignID
"""
The filename of a specific design
@@ -5220,7 +6029,7 @@ type DesignVersion {
"""
The ID of the DesignAtVersion
"""
- id: ID
+ id: DesignManagementDesignAtVersionID
): DesignAtVersion!
"""
@@ -5275,7 +6084,7 @@ type DesignVersion {
"""
Filters designs by their ID
"""
- ids: [ID!]
+ ids: [DesignManagementDesignID!]
"""
Returns the last _n_ elements from the list.
@@ -5425,6 +6234,41 @@ type DestroyBoardPayload {
}
"""
+Autogenerated input type of DestroyContainerRepository
+"""
+input DestroyContainerRepositoryInput {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ ID of the container repository.
+ """
+ id: ContainerRepositoryID!
+}
+
+"""
+Autogenerated return type of DestroyContainerRepository
+"""
+type DestroyContainerRepositoryPayload {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ The container repository policy after scheduling the deletion.
+ """
+ containerRepository: ContainerRepository!
+
+ """
+ Errors encountered during execution of the mutation.
+ """
+ errors: [String!]!
+}
+
+"""
Autogenerated input type of DestroyNote
"""
input DestroyNoteInput {
@@ -5471,7 +6315,7 @@ input DestroySnippetInput {
"""
The global id of the snippet to destroy
"""
- id: ID!
+ id: SnippetID!
}
"""
@@ -5541,6 +6385,81 @@ type DetailedStatus {
tooltip: String
}
+"""
+Segment
+"""
+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
+
+ """
+ ID of the segment
+ """
+ id: ID!
+
+ """
+ Name of the segment
+ """
+ name: String!
+}
+
+"""
+The connection type for DevopsAdoptionSegment.
+"""
+type DevopsAdoptionSegmentConnection {
+ """
+ A list of edges.
+ """
+ edges: [DevopsAdoptionSegmentEdge]
+
+ """
+ A list of nodes.
+ """
+ nodes: [DevopsAdoptionSegment]
+
+ """
+ Information to aid in pagination.
+ """
+ pageInfo: PageInfo!
+}
+
+"""
+An edge in a connection.
+"""
+type DevopsAdoptionSegmentEdge {
+ """
+ A cursor for use in pagination.
+ """
+ cursor: String!
+
+ """
+ The item at the end of the edge.
+ """
+ node: DevopsAdoptionSegment
+}
+
input DiffImagePositionInput {
"""
Merge base of the branch the comment was made on
@@ -5584,6 +6503,11 @@ input DiffImagePositionInput {
y: Int!
}
+"""
+Identifier of DiffNote
+"""
+scalar DiffNoteID
+
input DiffPathsInput {
"""
The path of the file on the head sha
@@ -6009,10 +6933,9 @@ type Environment {
name: String!
"""
- The path to the environment. Will always return null if
- `expose_environment_path_in_alert_details` feature flag is disabled
+ The path to the environment.
"""
- path: String
+ path: String!
"""
State of the environment, for example: available/stopped
@@ -6061,6 +6984,41 @@ Identifier of Environment
scalar EnvironmentID
"""
+Autogenerated input type of EnvironmentsCanaryIngressUpdate
+"""
+input EnvironmentsCanaryIngressUpdateInput {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ The global ID of the environment to update
+ """
+ id: EnvironmentID!
+
+ """
+ The weight of the Canary Ingress
+ """
+ weight: Int!
+}
+
+"""
+Autogenerated return type of EnvironmentsCanaryIngressUpdate
+"""
+type EnvironmentsCanaryIngressUpdatePayload {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ Errors encountered during execution of the mutation.
+ """
+ errors: [String!]!
+}
+
+"""
Represents an epic
"""
type Epic implements CurrentUserTodos & Noteable {
@@ -6115,6 +7073,11 @@ type Epic implements CurrentUserTodos & Noteable {
iids: [ID!]
"""
+ Include epics from descendant groups
+ """
+ includeDescendantGroups: Boolean = true
+
+ """
Filter epics by labels
"""
labelName: [String!]
@@ -6473,6 +7436,16 @@ type Epic implements CurrentUserTodos & Noteable {
upvotes: Int!
"""
+ Number of user discussions in the epic
+ """
+ userDiscussionsCount: Int!
+
+ """
+ Number of user notes of the epic
+ """
+ userNotesCount: Int!
+
+ """
Permissions for the current user on the resource
"""
userPermissions: EpicPermissions!
@@ -6688,6 +7661,11 @@ type EpicIssue implements CurrentUserTodos & Noteable {
blocked: Boolean!
"""
+ Count of issues blocking this issue
+ """
+ blockedByCount: Int
+
+ """
Timestamp of when the issue was closed
"""
closedAt: Time
@@ -6748,11 +7726,6 @@ type EpicIssue implements CurrentUserTodos & Noteable {
designCollection: DesignCollection
"""
- The designs associated with this issue. Deprecated in 12.2: Use `designCollection`
- """
- designs: DesignCollection @deprecated(reason: "Use `designCollection`. Deprecated in 12.2")
-
- """
Indicates discussion is locked on the issue
"""
discussionLocked: Boolean!
@@ -6793,6 +7766,11 @@ type EpicIssue implements CurrentUserTodos & Noteable {
dueDate: Time
"""
+ Indicates if a project has email notifications disabled: `true` if email notifications are disabled
+ """
+ emailsDisabled: Boolean!
+
+ """
Epic to which this issue belongs
"""
epic: Epic
@@ -6808,6 +7786,16 @@ type EpicIssue implements CurrentUserTodos & Noteable {
healthStatus: HealthStatus
"""
+ Human-readable time estimate of the issue
+ """
+ humanTimeEstimate: String
+
+ """
+ Human-readable total time reported as spent on the issue
+ """
+ humanTotalTimeSpent: String
+
+ """
Global ID of the epic-issue relation
"""
id: ID
@@ -6853,6 +7841,16 @@ type EpicIssue implements CurrentUserTodos & Noteable {
milestone: Milestone
"""
+ Indicates if issue got moved from other project
+ """
+ moved: Boolean
+
+ """
+ Updated Issue after it got moved to another project
+ """
+ movedTo: Issue
+
+ """
All notes on this noteable
"""
notes(
@@ -6983,11 +7981,21 @@ type EpicIssue implements CurrentUserTodos & Noteable {
updatedAt: Time!
"""
+ User that last updated the issue
+ """
+ updatedBy: User
+
+ """
Number of upvotes the issue has received
"""
upvotes: Int!
"""
+ Number of user discussions in the issue
+ """
+ userDiscussionsCount: Int!
+
+ """
Number of user notes of the issue
"""
userNotesCount: Int!
@@ -7036,6 +8044,11 @@ type EpicIssueConnection {
Information to aid in pagination.
"""
pageInfo: PageInfo!
+
+ """
+ Total weight of issues collection
+ """
+ weight: Int!
}
"""
@@ -7414,6 +8427,37 @@ type GeoNode {
selectiveSyncType: String
"""
+ Find snippet repository registries on this Geo node. Available only when
+ feature flag `geo_snippet_repository_replication` is enabled
+ """
+ snippetRepositoryRegistries(
+ """
+ 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
+
+ """
+ Filters registries by their ID
+ """
+ ids: [ID!]
+
+ """
+ Returns the last _n_ elements from the list.
+ """
+ last: Int
+ ): SnippetRepositoryRegistryConnection
+
+ """
Indicates if this secondary node will replicate blobs in Object Storage
"""
syncObjectStorage: Boolean
@@ -7459,6 +8503,11 @@ type GeoNode {
verificationMaxCapacity: Int
}
+"""
+Identifier of Gitlab::ErrorTracking::DetailedError
+"""
+scalar GitlabErrorTrackingDetailedErrorID
+
type GrafanaIntegration {
"""
Timestamp of the issue's creation
@@ -7481,11 +8530,6 @@ type GrafanaIntegration {
id: ID!
"""
- API token for the Grafana integration. Deprecated in 12.7: Plain text token has been masked for security reasons
- """
- token: String! @deprecated(reason: "Plain text token has been masked for security reasons. Deprecated in 12.7")
-
- """
Timestamp of the issue's last activity
"""
updatedAt: Time!
@@ -7544,7 +8588,7 @@ type Group {
"""
Find a board by its ID
"""
- id: ID
+ id: BoardID
"""
Returns the last _n_ elements from the list.
@@ -7553,11 +8597,97 @@ type Group {
): BoardConnection
"""
+ Represents the code coverage activity for this group. Available only when
+ feature flag `group_coverage_data_report_graph` is enabled
+ """
+ codeCoverageActivities(
+ """
+ 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
+
+ """
+ First day for which to fetch code coverage activity (maximum time window is set to 90 days)
+ """
+ startDate: Date!
+ ): CodeCoverageActivityConnection
+
+ """
+ Container repositories of the project
+ """
+ containerRepositories(
+ """
+ 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
+
+ """
+ Filter the container repositories by their name
+ """
+ name: String
+ ): ContainerRepositoryConnection
+
+ """
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
+ """
+ customEmoji(
+ """
+ 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
+ ): CustomEmojiConnection
+
+ """
Description of the namespace
"""
description: String
@@ -7603,6 +8733,11 @@ type Group {
iids: [ID!]
"""
+ Include epics from descendant groups
+ """
+ includeDescendantGroups: Boolean = true
+
+ """
Filter epics by labels
"""
labelName: [String!]
@@ -7686,6 +8821,11 @@ type Group {
iids: [ID!]
"""
+ Include epics from descendant groups
+ """
+ includeDescendantGroups: Boolean = true
+
+ """
Filter epics by labels
"""
labelName: [String!]
@@ -7798,7 +8938,7 @@ type Group {
after: String
"""
- ID of a user assigned to the issues, "none" and "any" values supported
+ ID of a user assigned to the issues, "none" and "any" values are supported
"""
assigneeId: String
@@ -7843,6 +8983,11 @@ type Group {
createdBefore: Time
"""
+ ID of an epic associated with the issues, "none" and "any" values are supported
+ """
+ epicId: String
+
+ """
Returns the first _n_ elements from the list.
"""
first: Int
@@ -8280,6 +9425,11 @@ type Group {
shareWithGroupLock: Boolean
"""
+ Group statistics
+ """
+ stats: GroupStats
+
+ """
Total storage limit of the root namespace in bytes
"""
storageSizeLimit: Float
@@ -8503,7 +9653,12 @@ type Group {
"""
Represents vulnerable project counts for each grade
"""
- vulnerabilityGrades: [VulnerableProjectsByGrade!]!
+ vulnerabilityGrades(
+ """
+ Include grades belonging to subgroups
+ """
+ includeSubgroups: Boolean = false
+ ): [VulnerableProjectsByGrade!]!
"""
Vulnerability scanners reported on the project vulnerabilties of the group and its subgroups
@@ -8567,6 +9722,46 @@ 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
+
+"""
Represents a Group Membership
"""
type GroupMember implements MemberInterface {
@@ -8659,6 +9854,33 @@ type GroupPermissions {
}
"""
+Contains release-related statistics about a group
+"""
+type GroupReleaseStats {
+ """
+ Total number of releases in all descendant projects of the group. Will always
+ return `null` if `group_level_release_statistics` feature flag is disabled
+ """
+ releasesCount: Int
+
+ """
+ Percentage of the group's descendant projects that have at least one release.
+ Will always return `null` if `group_level_release_statistics` feature flag is disabled
+ """
+ releasesPercentage: Int
+}
+
+"""
+Contains statistics about a group
+"""
+type GroupStats {
+ """
+ Statistics related to releases within the group
+ """
+ releaseStats: GroupReleaseStats
+}
+
+"""
Health status of an issue or epic
"""
enum HealthStatus {
@@ -8668,6 +9890,166 @@ enum HealthStatus {
}
"""
+Autogenerated input type of HttpIntegrationCreate
+"""
+input HttpIntegrationCreateInput {
+ """
+ Whether the integration is receiving alerts
+ """
+ active: Boolean!
+
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ The name of the integration
+ """
+ name: String!
+
+ """
+ The project to create the integration in
+ """
+ projectPath: ID!
+}
+
+"""
+Autogenerated return type of HttpIntegrationCreate
+"""
+type HttpIntegrationCreatePayload {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ Errors encountered during execution of the mutation.
+ """
+ errors: [String!]!
+
+ """
+ The HTTP integration
+ """
+ integration: AlertManagementHttpIntegration
+}
+
+"""
+Autogenerated input type of HttpIntegrationDestroy
+"""
+input HttpIntegrationDestroyInput {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ The id of the integration to remove
+ """
+ id: AlertManagementHttpIntegrationID!
+}
+
+"""
+Autogenerated return type of HttpIntegrationDestroy
+"""
+type HttpIntegrationDestroyPayload {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ Errors encountered during execution of the mutation.
+ """
+ errors: [String!]!
+
+ """
+ The HTTP integration
+ """
+ integration: AlertManagementHttpIntegration
+}
+
+"""
+Autogenerated input type of HttpIntegrationResetToken
+"""
+input HttpIntegrationResetTokenInput {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ The id of the integration to mutate
+ """
+ id: AlertManagementHttpIntegrationID!
+}
+
+"""
+Autogenerated return type of HttpIntegrationResetToken
+"""
+type HttpIntegrationResetTokenPayload {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ Errors encountered during execution of the mutation.
+ """
+ errors: [String!]!
+
+ """
+ The HTTP integration
+ """
+ integration: AlertManagementHttpIntegration
+}
+
+"""
+Autogenerated input type of HttpIntegrationUpdate
+"""
+input HttpIntegrationUpdateInput {
+ """
+ Whether the integration is receiving alerts
+ """
+ active: Boolean
+
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ The id of the integration to mutate
+ """
+ id: AlertManagementHttpIntegrationID!
+
+ """
+ The name of the integration
+ """
+ name: String
+}
+
+"""
+Autogenerated return type of HttpIntegrationUpdate
+"""
+type HttpIntegrationUpdatePayload {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ Errors encountered during execution of the mutation.
+ """
+ errors: [String!]!
+
+ """
+ The HTTP integration
+ """
+ integration: AlertManagementHttpIntegration
+}
+
+"""
An ISO 8601-encoded date
"""
scalar ISO8601Date
@@ -8896,6 +10278,11 @@ type Issue implements CurrentUserTodos & Noteable {
blocked: Boolean!
"""
+ Count of issues blocking this issue
+ """
+ blockedByCount: Int
+
+ """
Timestamp of when the issue was closed
"""
closedAt: Time
@@ -8956,11 +10343,6 @@ type Issue implements CurrentUserTodos & Noteable {
designCollection: DesignCollection
"""
- The designs associated with this issue. Deprecated in 12.2: Use `designCollection`
- """
- designs: DesignCollection @deprecated(reason: "Use `designCollection`. Deprecated in 12.2")
-
- """
Indicates discussion is locked on the issue
"""
discussionLocked: Boolean!
@@ -9001,6 +10383,11 @@ type Issue implements CurrentUserTodos & Noteable {
dueDate: Time
"""
+ Indicates if a project has email notifications disabled: `true` if email notifications are disabled
+ """
+ emailsDisabled: Boolean!
+
+ """
Epic to which this issue belongs
"""
epic: Epic
@@ -9011,6 +10398,16 @@ type Issue implements CurrentUserTodos & Noteable {
healthStatus: HealthStatus
"""
+ Human-readable time estimate of the issue
+ """
+ humanTimeEstimate: String
+
+ """
+ Human-readable total time reported as spent on the issue
+ """
+ humanTotalTimeSpent: String
+
+ """
ID of the issue
"""
id: ID!
@@ -9056,6 +10453,16 @@ type Issue implements CurrentUserTodos & Noteable {
milestone: Milestone
"""
+ Indicates if issue got moved from other project
+ """
+ moved: Boolean
+
+ """
+ Updated Issue after it got moved to another project
+ """
+ movedTo: Issue
+
+ """
All notes on this noteable
"""
notes(
@@ -9181,11 +10588,21 @@ type Issue implements CurrentUserTodos & Noteable {
updatedAt: Time!
"""
+ User that last updated the issue
+ """
+ updatedBy: User
+
+ """
Number of upvotes the issue has received
"""
upvotes: Int!
"""
+ Number of user discussions in the issue
+ """
+ userDiscussionsCount: Int!
+
+ """
Number of user notes of the issue
"""
userNotesCount: Int!
@@ -9234,6 +10651,11 @@ type IssueConnection {
Information to aid in pagination.
"""
pageInfo: PageInfo!
+
+ """
+ Total weight of issues collection
+ """
+ weight: Int!
}
"""
@@ -9568,7 +10990,7 @@ input IssueSetEpicInput {
"""
Global ID of the epic to be assigned to the issue, epic will be removed if absent or set to null
"""
- epicId: ID
+ epicId: EpicID
"""
The IID of the issue to mutate
@@ -9906,6 +11328,16 @@ enum IssueSort {
SEVERITY_DESC
"""
+ Issues with earliest SLA due time shown first
+ """
+ SLA_DUE_AT_ASC
+
+ """
+ Issues with latest SLA due time shown first
+ """
+ SLA_DUE_AT_DESC
+
+ """
Updated at ascending order
"""
UPDATED_ASC
@@ -10014,12 +11446,7 @@ enum IssueType {
"""
Represents an iteration object
"""
-type Iteration implements TimeboxBurnupTimeSeriesInterface {
- """
- Daily scope and completed totals for burnup charts
- """
- burnupTimeSeries: [BurnupChartDailyTotals!]
-
+type Iteration implements TimeboxReportInterface {
"""
Timestamp of iteration creation
"""
@@ -10051,6 +11478,11 @@ type Iteration implements TimeboxBurnupTimeSeriesInterface {
iid: ID!
"""
+ Historically accurate report about the timebox
+ """
+ report: TimeboxReport
+
+ """
Web path of the iteration, scoped to the query parent. Only valid for Project parents. Returns null in other contexts
"""
scopedPath: String
@@ -10143,6 +11575,21 @@ enum IterationState {
}
"""
+Iteration ID wildcard values
+"""
+enum IterationWildcardId {
+ """
+ An iteration is assigned
+ """
+ ANY
+
+ """
+ No iteration is assigned
+ """
+ NONE
+}
+
+"""
Represents untyped JSON
"""
scalar JSON
@@ -10505,6 +11952,63 @@ type LabelConnection {
}
"""
+Autogenerated input type of LabelCreate
+"""
+input LabelCreateInput {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ The color of the label given in 6-digit hex notation with leading '#' sign
+ (e.g. #FFAABB) or one of the CSS color names in
+ https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords
+ """
+ color: String = "#428BCA"
+
+ """
+ Description of the label
+ """
+ description: String
+
+ """
+ The group full path the resource is associated with
+ """
+ groupPath: ID
+
+ """
+ The project full path the resource is associated with
+ """
+ projectPath: ID
+
+ """
+ Title of the label
+ """
+ title: String!
+}
+
+"""
+Autogenerated return type of LabelCreate
+"""
+type LabelCreatePayload {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ Errors encountered during execution of the mutation.
+ """
+ errors: [String!]!
+
+ """
+ The label after mutation
+ """
+ label: Label
+}
+
+"""
An edge in a connection.
"""
type LabelEdge {
@@ -10550,7 +12054,7 @@ input MarkAsSpamSnippetInput {
"""
The global id of the snippet to update
"""
- id: ID!
+ id: SnippetID!
}
"""
@@ -10952,11 +12456,6 @@ type MergeRequest implements CurrentUserTodos & Noteable {
): LabelConnection
"""
- Default merge commit message of the merge request. Deprecated in 11.8: Use `defaultMergeCommitMessage`
- """
- mergeCommitMessage: String @deprecated(reason: "Use `defaultMergeCommitMessage`. Deprecated in 11.8")
-
- """
SHA of the merge request commit (set once merged)
"""
mergeCommitSha: String
@@ -11212,6 +12711,11 @@ type MergeRequest implements CurrentUserTodos & Noteable {
upvotes: Int!
"""
+ Number of user discussions in the merge request
+ """
+ userDiscussionsCount: Int
+
+ """
User notes count of the merge request
"""
userNotesCount: Int
@@ -11534,7 +13038,7 @@ input MergeRequestSetLabelsInput {
"""
The Label IDs to set. Replaces existing labels by default.
"""
- labelIds: [ID!]!
+ labelIds: [LabelID!]!
"""
Changes the operation mode. Defaults to REPLACE.
@@ -12020,14 +13524,14 @@ type MetricsDashboardAnnotationEdge {
}
"""
-Represents a milestone
+Identifier of Metrics::Dashboard::Annotation
"""
-type Milestone implements TimeboxBurnupTimeSeriesInterface {
- """
- Daily scope and completed totals for burnup charts
- """
- burnupTimeSeries: [BurnupChartDailyTotals!]
+scalar MetricsDashboardAnnotationID
+"""
+Represents a milestone
+"""
+type Milestone implements TimeboxReportInterface {
"""
Timestamp of milestone creation
"""
@@ -12059,6 +13563,11 @@ type Milestone implements TimeboxBurnupTimeSeriesInterface {
projectMilestone: Boolean!
"""
+ Historically accurate report about the timebox
+ """
+ report: TimeboxReport
+
+ """
Timestamp of the milestone start date
"""
startDate: Time
@@ -12190,6 +13699,11 @@ type Mutation {
createBoard(input: CreateBoardInput!): CreateBoardPayload
createBranch(input: CreateBranchInput!): CreateBranchPayload
createClusterAgent(input: CreateClusterAgentInput!): CreateClusterAgentPayload
+
+ """
+ . Available only when feature flag `custom_emoji` is enabled
+ """
+ createCustomEmoji(input: CreateCustomEmojiInput!): CreateCustomEmojiPayload
createDiffNote(input: CreateDiffNoteInput!): CreateDiffNotePayload
createEpic(input: CreateEpicInput!): CreateEpicPayload
createImageDiffNote(input: CreateImageDiffNoteInput!): CreateImageDiffNotePayload
@@ -12207,12 +13721,14 @@ type Mutation {
dastSiteProfileDelete(input: DastSiteProfileDeleteInput!): DastSiteProfileDeletePayload
dastSiteProfileUpdate(input: DastSiteProfileUpdateInput!): DastSiteProfileUpdatePayload
dastSiteTokenCreate(input: DastSiteTokenCreateInput!): DastSiteTokenCreatePayload
+ dastSiteValidationCreate(input: DastSiteValidationCreateInput!): DastSiteValidationCreatePayload
deleteAnnotation(input: DeleteAnnotationInput!): DeleteAnnotationPayload
designManagementDelete(input: DesignManagementDeleteInput!): DesignManagementDeletePayload
designManagementMove(input: DesignManagementMoveInput!): DesignManagementMovePayload
designManagementUpload(input: DesignManagementUploadInput!): DesignManagementUploadPayload
destroyBoard(input: DestroyBoardInput!): DestroyBoardPayload
destroyBoardList(input: DestroyBoardListInput!): DestroyBoardListPayload
+ destroyContainerRepository(input: DestroyContainerRepositoryInput!): DestroyContainerRepositoryPayload
destroyNote(input: DestroyNoteInput!): DestroyNotePayload
destroySnippet(input: DestroySnippetInput!): DestroySnippetPayload
@@ -12221,9 +13737,14 @@ type Mutation {
"""
discussionToggleResolve(input: DiscussionToggleResolveInput!): DiscussionToggleResolvePayload
dismissVulnerability(input: DismissVulnerabilityInput!): DismissVulnerabilityPayload @deprecated(reason: "Use vulnerabilityDismiss. Deprecated in 13.5")
+ environmentsCanaryIngressUpdate(input: EnvironmentsCanaryIngressUpdateInput!): EnvironmentsCanaryIngressUpdatePayload
epicAddIssue(input: EpicAddIssueInput!): EpicAddIssuePayload
epicSetSubscription(input: EpicSetSubscriptionInput!): EpicSetSubscriptionPayload
epicTreeReorder(input: EpicTreeReorderInput!): EpicTreeReorderPayload
+ httpIntegrationCreate(input: HttpIntegrationCreateInput!): HttpIntegrationCreatePayload
+ httpIntegrationDestroy(input: HttpIntegrationDestroyInput!): HttpIntegrationDestroyPayload
+ httpIntegrationResetToken(input: HttpIntegrationResetTokenInput!): HttpIntegrationResetTokenPayload
+ httpIntegrationUpdate(input: HttpIntegrationUpdateInput!): HttpIntegrationUpdatePayload
issueMove(input: IssueMoveInput!): IssueMovePayload
issueMoveList(input: IssueMoveListInput!): IssueMoveListPayload
issueSetAssignees(input: IssueSetAssigneesInput!): IssueSetAssigneesPayload
@@ -12237,6 +13758,7 @@ type Mutation {
issueSetWeight(input: IssueSetWeightInput!): IssueSetWeightPayload
jiraImportStart(input: JiraImportStartInput!): JiraImportStartPayload
jiraImportUsers(input: JiraImportUsersInput!): JiraImportUsersPayload
+ labelCreate(input: LabelCreateInput!): LabelCreatePayload
markAsSpamSnippet(input: MarkAsSpamSnippetInput!): MarkAsSpamSnippetPayload
mergeRequestCreate(input: MergeRequestCreateInput!): MergeRequestCreatePayload
mergeRequestSetAssignees(input: MergeRequestSetAssigneesInput!): MergeRequestSetAssigneesPayload
@@ -12254,10 +13776,24 @@ type Mutation {
pipelineCancel(input: PipelineCancelInput!): PipelineCancelPayload
pipelineDestroy(input: PipelineDestroyInput!): PipelineDestroyPayload
pipelineRetry(input: PipelineRetryInput!): PipelineRetryPayload
+ prometheusIntegrationCreate(input: PrometheusIntegrationCreateInput!): PrometheusIntegrationCreatePayload
+ prometheusIntegrationResetToken(input: PrometheusIntegrationResetTokenInput!): PrometheusIntegrationResetTokenPayload
+ prometheusIntegrationUpdate(input: PrometheusIntegrationUpdateInput!): PrometheusIntegrationUpdatePayload
+ promoteToEpic(input: PromoteToEpicInput!): PromoteToEpicPayload
+ releaseCreate(input: ReleaseCreateInput!): ReleaseCreatePayload
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")
+ terraformStateDelete(input: TerraformStateDeleteInput!): TerraformStateDeletePayload
+ terraformStateLock(input: TerraformStateLockInput!): TerraformStateLockPayload
+ terraformStateUnlock(input: TerraformStateUnlockInput!): TerraformStateUnlockPayload
+ todoCreate(input: TodoCreateInput!): TodoCreatePayload
todoMarkDone(input: TodoMarkDoneInput!): TodoMarkDonePayload
todoRestore(input: TodoRestoreInput!): TodoRestorePayload
todoRestoreMany(input: TodoRestoreManyInput!): TodoRestoreManyPayload
@@ -12542,6 +14078,11 @@ enum NamespaceProjectSort {
Most similar to the search query
"""
SIMILARITY
+
+ """
+ Sort by storage size
+ """
+ STORAGE
}
input NegatedBoardIssueInput {
@@ -12558,7 +14099,12 @@ input NegatedBoardIssueInput {
"""
Filter by epic ID. Incompatible with epicWildcardId
"""
- epicId: ID
+ epicId: EpicID
+
+ """
+ Filter by iteration title
+ """
+ iterationTitle: String
"""
Filter by label name
@@ -12735,6 +14281,11 @@ type NotePermissions {
readNote: Boolean!
"""
+ Indicates the user can perform `reposition_note` on this resource
+ """
+ repositionNote: Boolean!
+
+ """
Indicates the user can perform `resolve_note` on this resource
"""
resolveNote: Boolean!
@@ -13058,6 +14609,31 @@ type Pipeline {
detailedStatus: DetailedStatus!
"""
+ Pipelines this pipeline will trigger
+ """
+ downstream(
+ """
+ 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
+ ): PipelineConnection
+
+ """
Duration of the pipeline in seconds
"""
duration: Int
@@ -13078,6 +14654,46 @@ type Pipeline {
iid: String!
"""
+ Jobs belonging to the pipeline
+ """
+ jobs(
+ """
+ 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
+
+ """
+ Filter jobs by the type of security report they produce
+ """
+ securityReportTypes: [SecurityReportTypeEnum!]
+ ): CiJobConnection
+
+ """
+ Relative path to the pipeline's page
+ """
+ path: String
+
+ """
+ Project the pipeline belongs to
+ """
+ project: Project
+
+ """
Specifies if a pipeline can be retried
"""
retryable: Boolean!
@@ -13093,6 +14709,11 @@ type Pipeline {
sha: String!
"""
+ Job where pipeline was triggered from
+ """
+ sourceJob: CiJob
+
+ """
Stages of the pipeline
"""
stages(
@@ -13134,6 +14755,11 @@ type Pipeline {
updatedAt: Time!
"""
+ Pipeline that triggered the pipeline
+ """
+ upstream: Pipeline
+
+ """
Pipeline user
"""
user: User
@@ -13342,7 +14968,7 @@ type Project {
iid: String
"""
- Search criteria for filtering alerts. This will search on title, description, service, monitoring_tool.
+ Search query for title, description, service, or monitoring_tool.
"""
search: String
@@ -13367,7 +14993,7 @@ type Project {
assigneeUsername: String
"""
- Search criteria for filtering alerts. This will search on title, description, service, monitoring_tool.
+ Search query for title, description, service, or monitoring_tool.
"""
search: String
): AlertManagementAlertStatusCountsType
@@ -13407,7 +15033,7 @@ type Project {
last: Int
"""
- Search criteria for filtering alerts. This will search on title, description, service, monitoring_tool.
+ Search query for title, description, service, or monitoring_tool.
"""
search: String
@@ -13423,6 +15049,31 @@ type Project {
): AlertManagementAlertConnection
"""
+ Integrations which can receive alerts for the project
+ """
+ alertManagementIntegrations(
+ """
+ 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
+ ): AlertManagementIntegrationConnection
+
+ """
If `only_allow_merge_if_pipeline_succeeds` is true, indicates if merge
requests of the project can also be merged with skipped jobs
"""
@@ -13475,7 +15126,7 @@ type Project {
"""
Find a board by its ID
"""
- id: ID
+ id: BoardID
"""
Returns the last _n_ elements from the list.
@@ -13519,6 +15170,11 @@ type Project {
): ClusterAgentConnection
"""
+ Code coverage summary associated with the project
+ """
+ codeCoverageSummary: CodeCoverageSummary
+
+ """
Compliance frameworks associated with the project
"""
complianceFrameworks(
@@ -13554,6 +15210,36 @@ type Project {
containerRegistryEnabled: Boolean
"""
+ Container repositories of the project
+ """
+ containerRepositories(
+ """
+ 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
+
+ """
+ Filter the container repositories by their name
+ """
+ name: String
+ ): ContainerRepositoryConnection
+
+ """
Timestamp of the project creation
"""
createdAt: Time
@@ -13619,6 +15305,16 @@ type Project {
): DastSiteProfileConnection
"""
+ DAST Site Validation associated with the project
+ """
+ dastSiteValidation(
+ """
+ target URL of the DAST Site Validation
+ """
+ targetUrl: String!
+ ): DastSiteValidation
+
+ """
Short description of the project
"""
description: String
@@ -13728,7 +15424,7 @@ type Project {
"""
issue(
"""
- ID of a user assigned to the issues, "none" and "any" values supported
+ ID of a user assigned to the issues, "none" and "any" values are supported
"""
assigneeId: String
@@ -13768,6 +15464,11 @@ type Project {
createdBefore: Time
"""
+ ID of an epic associated with the issues, "none" and "any" values are supported
+ """
+ epicId: String
+
+ """
IID of the issue. For example, "1"
"""
iid: String
@@ -13828,7 +15529,7 @@ type Project {
"""
issueStatusCounts(
"""
- ID of a user assigned to the issues, "none" and "any" values supported
+ ID of a user assigned to the issues, "none" and "any" values are supported
"""
assigneeId: String
@@ -13918,7 +15619,7 @@ type Project {
after: String
"""
- ID of a user assigned to the issues, "none" and "any" values supported
+ ID of a user assigned to the issues, "none" and "any" values are supported
"""
assigneeId: String
@@ -13963,6 +15664,11 @@ type Project {
createdBefore: Time
"""
+ ID of an epic associated with the issues, "none" and "any" values are supported
+ """
+ epicId: String
+
+ """
Returns the first _n_ elements from the list.
"""
first: Int
@@ -14545,6 +16251,11 @@ type Project {
Returns the last _n_ elements from the list.
"""
last: Int
+
+ """
+ Sort releases by this criteria
+ """
+ sort: ReleaseSort = RELEASED_AT_DESC
): ReleaseConnection
"""
@@ -14684,7 +16395,7 @@ type Project {
"""
ID of the Sentry issue
"""
- id: ID!
+ id: GitlabErrorTrackingDetailedErrorID!
): SentryDetailedError
"""
@@ -14764,7 +16475,7 @@ type Project {
"""
Array of global snippet ids, e.g., "gid://gitlab/ProjectSnippet/1"
"""
- ids: [ID!]
+ ids: [SnippetID!]
"""
Returns the last _n_ elements from the list.
@@ -15345,20 +17056,9 @@ type ProjectPermissions {
uploadFile: Boolean!
}
-"""
-Names of compliance frameworks that can be assigned to a Project
-"""
-enum ProjectSettingEnum {
- gdpr
- hipaa
- pci_dss
- soc_2
- sox
-}
-
type ProjectStatistics {
"""
- Build artifacts size of the project
+ Build artifacts size of the project in bytes
"""
buildArtifactsSize: Float!
@@ -15368,32 +17068,37 @@ type ProjectStatistics {
commitCount: Float!
"""
- Large File Storage (LFS) object size of the project
+ Large File Storage (LFS) object size of the project in bytes
"""
lfsObjectsSize: Float!
"""
- Packages size of the project
+ Packages size of the project in bytes
"""
packagesSize: Float!
"""
- Repository size of the project
+ Repository size of the project in bytes
"""
repositorySize: Float!
"""
- Snippets size of the project
+ Snippets size of the project in bytes
"""
snippetsSize: Float
"""
- Storage size of the project
+ Storage size of the project in bytes
"""
storageSize: Float!
"""
- Wiki size of the project
+ Uploads size of the project in bytes
+ """
+ uploadsSize: Float
+
+ """
+ Wiki size of the project in bytes
"""
wikiSize: Float
}
@@ -15413,8 +17118,198 @@ type PrometheusAlert {
id: ID!
}
+"""
+Autogenerated input type of PrometheusIntegrationCreate
+"""
+input PrometheusIntegrationCreateInput {
+ """
+ Whether the integration is receiving alerts
+ """
+ active: Boolean!
+
+ """
+ Endpoint at which prometheus can be queried
+ """
+ apiUrl: String!
+
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ The project to create the integration in
+ """
+ projectPath: ID!
+}
+
+"""
+Autogenerated return type of PrometheusIntegrationCreate
+"""
+type PrometheusIntegrationCreatePayload {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ Errors encountered during execution of the mutation.
+ """
+ errors: [String!]!
+
+ """
+ The newly created integration
+ """
+ integration: AlertManagementPrometheusIntegration
+}
+
+"""
+Autogenerated input type of PrometheusIntegrationResetToken
+"""
+input PrometheusIntegrationResetTokenInput {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ The id of the integration to mutate
+ """
+ id: PrometheusServiceID!
+}
+
+"""
+Autogenerated return type of PrometheusIntegrationResetToken
+"""
+type PrometheusIntegrationResetTokenPayload {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ Errors encountered during execution of the mutation.
+ """
+ errors: [String!]!
+
+ """
+ The newly created integration
+ """
+ integration: AlertManagementPrometheusIntegration
+}
+
+"""
+Autogenerated input type of PrometheusIntegrationUpdate
+"""
+input PrometheusIntegrationUpdateInput {
+ """
+ Whether the integration is receiving alerts
+ """
+ active: Boolean
+
+ """
+ Endpoint at which prometheus can be queried
+ """
+ apiUrl: String
+
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ The id of the integration to mutate
+ """
+ id: PrometheusServiceID!
+}
+
+"""
+Autogenerated return type of PrometheusIntegrationUpdate
+"""
+type PrometheusIntegrationUpdatePayload {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ Errors encountered during execution of the mutation.
+ """
+ errors: [String!]!
+
+ """
+ The newly created integration
+ """
+ integration: AlertManagementPrometheusIntegration
+}
+
+"""
+Identifier of PrometheusService
+"""
+scalar PrometheusServiceID
+
+"""
+Autogenerated input type of PromoteToEpic
+"""
+input PromoteToEpicInput {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ The group the promoted epic will belong to
+ """
+ groupPath: ID
+
+ """
+ The IID of the issue to mutate
+ """
+ iid: String!
+
+ """
+ The project the issue to mutate is in
+ """
+ projectPath: ID!
+}
+
+"""
+Autogenerated return type of PromoteToEpic
+"""
+type PromoteToEpicPayload {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ The epic after issue promotion
+ """
+ epic: Epic
+
+ """
+ Errors encountered during execution of the mutation.
+ """
+ errors: [String!]!
+
+ """
+ The issue after mutation
+ """
+ issue: Issue
+}
+
type Query {
"""
+ Find a container repository
+ """
+ containerRepository(
+ """
+ The global ID of the container repository
+ """
+ id: ContainerRepositoryID!
+ ): ContainerRepositoryDetails
+
+ """
Get information about current user
"""
currentUser: User
@@ -15425,6 +17320,31 @@ type Query {
designManagement: DesignManagement!
"""
+ Get configured DevOps adoption segments on the instance
+ """
+ devopsAdoptionSegments(
+ """
+ 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
+ ): DevopsAdoptionSegmentConnection
+
+ """
Text to echo back
"""
echo(
@@ -15487,6 +17407,16 @@ type Query {
Returns the last _n_ elements from the list.
"""
last: Int
+
+ """
+ Measurement recorded after this date
+ """
+ recordedAfter: Time
+
+ """
+ Measurement recorded before this date
+ """
+ recordedBefore: Time
): InstanceStatisticsMeasurementConnection
"""
@@ -15620,6 +17550,31 @@ type Query {
): RunnerPlatformConnection
"""
+ Get runner setup instructions
+ """
+ runnerSetup(
+ """
+ Architecture to generate the instructions for
+ """
+ architecture: String!
+
+ """
+ Group to register the runner for
+ """
+ groupId: GroupID
+
+ """
+ Platform to generate the instructions for
+ """
+ platform: String!
+
+ """
+ Project to register the runner for
+ """
+ projectId: ProjectID
+ ): RunnerSetup
+
+ """
Find Snippets visible to the current user
"""
snippets(
@@ -15631,7 +17586,7 @@ type Query {
"""
The ID of an author
"""
- authorId: ID
+ authorId: UserID
"""
Returns the elements in the list that come before the specified cursor.
@@ -15651,7 +17606,7 @@ type Query {
"""
Array of global snippet ids, e.g., "gid://gitlab/ProjectSnippet/1"
"""
- ids: [ID!]
+ ids: [SnippetID!]
"""
Returns the last _n_ elements from the list.
@@ -15661,7 +17616,7 @@ type Query {
"""
The ID of a project
"""
- projectId: ID
+ projectId: ProjectID
"""
The type of snippet
@@ -15681,7 +17636,7 @@ type Query {
"""
ID of the User
"""
- id: ID
+ id: UserID
"""
Username of the User
@@ -15719,6 +17674,11 @@ type Query {
last: Int
"""
+ Query to search users by name, username, or primary email.
+ """
+ search: String
+
+ """
Sort users by this criteria
"""
sort: Sort = created_desc
@@ -16088,7 +18048,32 @@ type ReleaseAssetLinkEdge {
}
"""
-Type of the link: `other`, `runbook`, `image`, `package`; defaults to `other`
+Fields that are available when modifying a release asset link
+"""
+input ReleaseAssetLinkInput {
+ """
+ Relative path for a direct asset link
+ """
+ directAssetPath: String
+
+ """
+ The type of the asset link
+ """
+ linkType: ReleaseAssetLinkType = OTHER
+
+ """
+ Name of the asset link
+ """
+ name: String!
+
+ """
+ URL of the asset link
+ """
+ url: String!
+}
+
+"""
+Type of the link: `other`, `runbook`, `image`, `package`
"""
enum ReleaseAssetLinkType {
"""
@@ -16173,6 +18158,16 @@ type ReleaseAssets {
}
"""
+Fields that are available when modifying release assets
+"""
+input ReleaseAssetsInput {
+ """
+ A list of asset links to associate to the release
+ """
+ links: [ReleaseAssetLinkInput!]
+}
+
+"""
The connection type for Release.
"""
type ReleaseConnection {
@@ -16198,6 +18193,76 @@ type ReleaseConnection {
}
"""
+Autogenerated input type of ReleaseCreate
+"""
+input ReleaseCreateInput {
+ """
+ Assets associated to the release
+ """
+ assets: ReleaseAssetsInput
+
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ Description (also known as "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 commit SHA or branch name to use if creating a new tag
+ """
+ ref: String
+
+ """
+ The date when the release will be/was ready. Defaults to the current time.
+ """
+ releasedAt: Time
+
+ """
+ Name of the tag to associate with the release
+ """
+ tagName: String!
+}
+
+"""
+Autogenerated return type of ReleaseCreate
+"""
+type ReleaseCreatePayload {
+ """
+ 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
+}
+
+"""
An edge in a connection.
"""
type ReleaseEdge {
@@ -16274,19 +18339,34 @@ type ReleaseEvidenceEdge {
type ReleaseLinks {
"""
+ HTTP URL of the issues page, filtered by this release and `state=closed`
+ """
+ closedIssuesUrl: String
+
+ """
+ HTTP URL of the merge request page , filtered by this release and `state=closed`
+ """
+ closedMergeRequestsUrl: String
+
+ """
HTTP URL of the release's edit page
"""
editUrl: String
"""
- HTTP URL of the issues page filtered by this release
+ HTTP URL of the merge request page , filtered by this release and `state=merged`
+ """
+ mergedMergeRequestsUrl: String
+
+ """
+ HTTP URL of the issues page, filtered by this release and `state=open`
"""
- issuesUrl: String
+ openedIssuesUrl: String
"""
- HTTP URL of the merge request page filtered by this release
+ HTTP URL of the merge request page, filtered by this release and `state=open`
"""
- mergeRequestsUrl: String
+ openedMergeRequestsUrl: String
"""
HTTP URL of the release
@@ -16295,6 +18375,31 @@ type ReleaseLinks {
}
"""
+Values for sorting releases
+"""
+enum ReleaseSort {
+ """
+ Created at ascending order
+ """
+ CREATED_ASC
+
+ """
+ Created at descending order
+ """
+ CREATED_DESC
+
+ """
+ Released at by ascending order
+ """
+ RELEASED_AT_ASC
+
+ """
+ Released at by descending order
+ """
+ RELEASED_AT_DESC
+}
+
+"""
Represents the source code attached to a release in a particular format
"""
type ReleaseSource {
@@ -16414,6 +18519,46 @@ type RemoveProjectFromSecurityDashboardPayload {
errors: [String!]!
}
+"""
+Autogenerated input type of RepositionImageDiffNote
+"""
+input RepositionImageDiffNoteInput {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ The global id of the DiffNote to update
+ """
+ id: DiffNoteID!
+
+ """
+ The position of this note on a diff
+ """
+ position: UpdateDiffImagePositionInput!
+}
+
+"""
+Autogenerated return type of RepositionImageDiffNote
+"""
+type RepositionImageDiffNotePayload {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ Errors encountered during execution of the mutation.
+ """
+ errors: [String!]!
+
+ """
+ The note after mutation
+ """
+ note: Note
+}
+
type Repository {
"""
Indicates repository has no visible content
@@ -16738,6 +18883,11 @@ type RootStorageStatistics {
storageSize: Float!
"""
+ The uploads size in bytes
+ """
+ uploadsSize: Float!
+
+ """
The wiki size in bytes
"""
wikiSize: Float!
@@ -16912,6 +19062,18 @@ type RunnerPlatformEdge {
node: RunnerPlatform
}
+type RunnerSetup {
+ """
+ Instructions for installing the runner on the specified architecture
+ """
+ installInstructions: String!
+
+ """
+ Instructions for registering the runner
+ """
+ registerInstructions: String
+}
+
"""
Represents a CI configuration of SAST
"""
@@ -17431,6 +19593,43 @@ type SecurityReportSummarySection {
vulnerabilitiesCount: Int
}
+enum SecurityReportTypeEnum {
+ """
+ API FUZZING scan report
+ """
+ API_FUZZING
+
+ """
+ CONTAINER SCANNING scan report
+ """
+ CONTAINER_SCANNING
+
+ """
+ COVERAGE FUZZING scan report
+ """
+ COVERAGE_FUZZING
+
+ """
+ DAST scan report
+ """
+ DAST
+
+ """
+ DEPENDENCY SCANNING scan report
+ """
+ DEPENDENCY_SCANNING
+
+ """
+ SAST scan report
+ """
+ SAST
+
+ """
+ SECRET DETECTION scan report
+ """
+ SECRET_DETECTION
+}
+
"""
The type of the security scanner
"""
@@ -17710,7 +19909,7 @@ type SentryErrorCollection {
"""
ID of the Sentry issue
"""
- id: ID!
+ id: GitlabErrorTrackingDetailedErrorID!
): SentryDetailedError
"""
@@ -17720,7 +19919,7 @@ type SentryErrorCollection {
"""
ID of the Sentry issue
"""
- id: ID!
+ id: GitlabErrorTrackingDetailedErrorID!
): SentryErrorStackTrace
"""
@@ -18099,7 +20298,7 @@ type Snippet implements Noteable {
"""
ID of the snippet
"""
- id: ID!
+ id: SnippetID!
"""
All notes on this noteable
@@ -18377,6 +20576,11 @@ type SnippetEdge {
node: Snippet
}
+"""
+Identifier of Snippet
+"""
+scalar SnippetID
+
type SnippetPermissions {
"""
Indicates the user can perform `admin_snippet` on this resource
@@ -18410,6 +20614,86 @@ type SnippetPermissions {
}
"""
+Represents the Geo sync and verification state of a snippet repository
+"""
+type SnippetRepositoryRegistry {
+ """
+ Timestamp when the SnippetRepositoryRegistry was created
+ """
+ createdAt: Time
+
+ """
+ ID of the SnippetRepositoryRegistry
+ """
+ id: ID!
+
+ """
+ Error message during sync of the SnippetRepositoryRegistry
+ """
+ lastSyncFailure: String
+
+ """
+ Timestamp of the most recent successful sync of the SnippetRepositoryRegistry
+ """
+ lastSyncedAt: Time
+
+ """
+ Timestamp after which the SnippetRepositoryRegistry should be resynced
+ """
+ retryAt: Time
+
+ """
+ Number of consecutive failed sync attempts of the SnippetRepositoryRegistry
+ """
+ retryCount: Int
+
+ """
+ ID of the Snippet Repository
+ """
+ snippetRepositoryId: ID!
+
+ """
+ Sync state of the SnippetRepositoryRegistry
+ """
+ state: RegistryState
+}
+
+"""
+The connection type for SnippetRepositoryRegistry.
+"""
+type SnippetRepositoryRegistryConnection {
+ """
+ A list of edges.
+ """
+ edges: [SnippetRepositoryRegistryEdge]
+
+ """
+ A list of nodes.
+ """
+ nodes: [SnippetRepositoryRegistry]
+
+ """
+ Information to aid in pagination.
+ """
+ pageInfo: PageInfo!
+}
+
+"""
+An edge in a connection.
+"""
+type SnippetRepositoryRegistryEdge {
+ """
+ A cursor for use in pagination.
+ """
+ cursor: String!
+
+ """
+ The item at the end of the edge.
+ """
+ node: SnippetRepositoryRegistry
+}
+
+"""
Common sort values
"""
enum Sort {
@@ -18585,6 +20869,11 @@ type TerraformState {
id: ID!
"""
+ The latest version of the Terraform state
+ """
+ latestVersion: TerraformStateVersion
+
+ """
Timestamp the Terraform state was locked
"""
lockedAt: Time
@@ -18610,6 +20899,11 @@ The connection type for TerraformState.
"""
type TerraformStateConnection {
"""
+ Total count of collection
+ """
+ count: Int!
+
+ """
A list of edges.
"""
edges: [TerraformStateEdge]
@@ -18626,6 +20920,36 @@ type TerraformStateConnection {
}
"""
+Autogenerated input type of TerraformStateDelete
+"""
+input TerraformStateDeleteInput {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ Global ID of the Terraform state
+ """
+ id: TerraformStateID!
+}
+
+"""
+Autogenerated return type of TerraformStateDelete
+"""
+type TerraformStateDeletePayload {
+ """
+ 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 TerraformStateEdge {
@@ -18641,6 +20965,98 @@ type TerraformStateEdge {
}
"""
+Identifier of Terraform::State
+"""
+scalar TerraformStateID
+
+"""
+Autogenerated input type of TerraformStateLock
+"""
+input TerraformStateLockInput {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ Global ID of the Terraform state
+ """
+ id: TerraformStateID!
+}
+
+"""
+Autogenerated return type of TerraformStateLock
+"""
+type TerraformStateLockPayload {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ Errors encountered during execution of the mutation.
+ """
+ errors: [String!]!
+}
+
+"""
+Autogenerated input type of TerraformStateUnlock
+"""
+input TerraformStateUnlockInput {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ Global ID of the Terraform state
+ """
+ id: TerraformStateID!
+}
+
+"""
+Autogenerated return type of TerraformStateUnlock
+"""
+type TerraformStateUnlockPayload {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ Errors encountered during execution of the mutation.
+ """
+ errors: [String!]!
+}
+
+type TerraformStateVersion {
+ """
+ Timestamp the version was created
+ """
+ createdAt: Time!
+
+ """
+ The user that created this version
+ """
+ createdByUser: User
+
+ """
+ ID of the Terraform state version
+ """
+ id: ID!
+
+ """
+ The job that created this version
+ """
+ job: CiJob
+
+ """
+ Timestamp the version was updated
+ """
+ updatedAt: Time!
+}
+
+"""
Represents the Geo sync and verification state of a terraform state version
"""
type TerraformStateVersionRegistry {
@@ -18793,11 +21209,61 @@ Time represented in ISO 8601
"""
scalar Time
-interface TimeboxBurnupTimeSeriesInterface {
+"""
+Represents the time report stats for timeboxes
+"""
+type TimeReportStats {
+ """
+ Completed issues metrics
+ """
+ complete: TimeboxMetrics
+
+ """
+ Incomplete issues metrics
+ """
+ incomplete: TimeboxMetrics
+
+ """
+ Total issues metrics
+ """
+ total: TimeboxMetrics
+}
+
+"""
+Represents measured stats metrics for timeboxes
+"""
+type TimeboxMetrics {
+ """
+ The count metric
+ """
+ count: Int!
+
+ """
+ The weight metric
+ """
+ weight: Int!
+}
+
+"""
+Represents a historically accurate report about the timebox
+"""
+type TimeboxReport {
"""
Daily scope and completed totals for burnup charts
"""
burnupTimeSeries: [BurnupChartDailyTotals!]
+
+ """
+ Represents the time report stats for the timebox
+ """
+ stats: TimeReportStats
+}
+
+interface TimeboxReportInterface {
+ """
+ Historically accurate report about the timebox
+ """
+ report: TimeboxReport
}
"""
@@ -18817,11 +21283,6 @@ input Timeframe {
type Timelog {
"""
- Timestamp of when the time tracked was spent at. Deprecated in 12.10: Use `spentAt`
- """
- date: Time! @deprecated(reason: "Use `spentAt`. Deprecated in 12.10")
-
- """
The issue that logged time was added to
"""
issue: Issue
@@ -18963,6 +21424,41 @@ type TodoConnection {
}
"""
+Autogenerated input type of TodoCreate
+"""
+input TodoCreateInput {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ The global ID of the to-do item's parent. Issues, merge requests, designs and epics are supported
+ """
+ targetId: TodoableID!
+}
+
+"""
+Autogenerated return type of TodoCreate
+"""
+type TodoCreatePayload {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ Errors encountered during execution of the mutation.
+ """
+ errors: [String!]!
+
+ """
+ The to-do created
+ """
+ todo: Todo
+}
+
+"""
An edge in a connection.
"""
type TodoEdge {
@@ -19069,7 +21565,7 @@ type TodoRestoreManyPayload {
"""
The ids of the updated todo items. Deprecated in 13.2: Use todos
"""
- updatedIds: [ID!]! @deprecated(reason: "Use todos. Deprecated in 13.2")
+ updatedIds: [TodoID!]! @deprecated(reason: "Use todos. Deprecated in 13.2")
}
"""
@@ -19130,6 +21626,11 @@ enum TodoTargetEnum {
}
"""
+Identifier of Todoable
+"""
+scalar TodoableID
+
+"""
Autogenerated input type of TodosMarkAllDone
"""
input TodosMarkAllDoneInput {
@@ -19161,7 +21662,7 @@ type TodosMarkAllDonePayload {
"""
Ids of the updated todos. Deprecated in 13.2: Use todos
"""
- updatedIds: [ID!]! @deprecated(reason: "Use todos. Deprecated in 13.2")
+ updatedIds: [TodoID!]! @deprecated(reason: "Use todos. Deprecated in 13.2")
}
"""
@@ -19553,7 +22054,7 @@ input UpdateBoardListInput {
"""
Global ID of the list.
"""
- listId: ID!
+ listId: ListID!
"""
Position of list within the board
@@ -19855,7 +22356,7 @@ input UpdateIssueInput {
"""
The ID of the parent epic. NULL when removing the association
"""
- epicId: ID
+ epicId: EpicID
"""
The desired health status
@@ -20110,7 +22611,7 @@ input UpdateSnippetInput {
"""
The global id of the snippet to update
"""
- id: ID!
+ id: SnippetID!
"""
Title of the snippet
@@ -20208,7 +22709,7 @@ type User {
"""
The global ID of the project the authored merge requests should be in. Incompatible with projectPath.
"""
- projectId: ID
+ projectId: ProjectID
"""
The full-path of the project the authored merge requests should be in. Incompatible with projectId.
@@ -20293,7 +22794,7 @@ type User {
"""
The global ID of the project the authored merge requests should be in. Incompatible with projectPath.
"""
- projectId: ID
+ projectId: ProjectID
"""
The full-path of the project the authored merge requests should be in. Incompatible with projectId.
@@ -20332,6 +22833,11 @@ type User {
email: String
"""
+ Group count for the user. Available only when feature flag `user_group_counts` is enabled
+ """
+ groupCount: Int
+
+ """
Group memberships of the user
"""
groupMemberships(
@@ -20413,7 +22919,7 @@ type User {
"""
Array of global snippet ids, e.g., "gid://gitlab/ProjectSnippet/1"
"""
- ids: [ID!]
+ ids: [SnippetID!]
"""
Returns the last _n_ elements from the list.
@@ -20616,6 +23122,11 @@ enum UserState {
type UserStatus {
"""
+ User availability status
+ """
+ availability: AvailabilityEnum!
+
+ """
String representation of emoji
"""
emoji: String
@@ -20644,7 +23155,7 @@ enum VisibilityScopesEnum {
}
"""
-Represents the count of vulnerabilities by severity on a particular day
+Represents the count of vulnerabilities by severity on a particular day. This data is retained for 365 days
"""
type VulnerabilitiesCountByDay {
"""
@@ -20689,7 +23200,7 @@ type VulnerabilitiesCountByDay {
}
"""
-Represents the number of vulnerabilities for a particular severity on a particular day
+Represents the number of vulnerabilities for a particular severity on a particular day. This data is retained for 365 days
"""
type VulnerabilitiesCountByDayAndSeverity {
"""
diff --git a/doc/api/graphql/reference/gitlab_schema.json b/doc/api/graphql/reference/gitlab_schema.json
index 6914ba29c57..de3f9c2665f 100644
--- a/doc/api/graphql/reference/gitlab_schema.json
+++ b/doc/api/graphql/reference/gitlab_schema.json
@@ -1481,6 +1481,525 @@
"possibleTypes": null
},
{
+ "kind": "OBJECT",
+ "name": "AlertManagementHttpIntegration",
+ "description": "An endpoint and credentials used to accept alerts for a project",
+ "fields": [
+ {
+ "name": "active",
+ "description": "Whether the endpoint is currently accepting alerts",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "apiUrl",
+ "description": "URL at which Prometheus metrics can be queried to populate the metrics dashboard",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "id",
+ "description": "ID of the integration",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "name",
+ "description": "Name of the integration",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "token",
+ "description": "Token used to authenticate alert notification requests",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "type",
+ "description": "Type of integration",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "AlertManagementIntegrationType",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "url",
+ "description": "Endpoint which accepts alert notifications",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+ {
+ "kind": "INTERFACE",
+ "name": "AlertManagementIntegration",
+ "ofType": null
+ }
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "SCALAR",
+ "name": "AlertManagementHttpIntegrationID",
+ "description": "Identifier of AlertManagement::HttpIntegration",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "INTERFACE",
+ "name": "AlertManagementIntegration",
+ "description": null,
+ "fields": [
+ {
+ "name": "active",
+ "description": "Whether the endpoint is currently accepting alerts",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "apiUrl",
+ "description": "URL at which Prometheus metrics can be queried to populate the metrics dashboard",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "id",
+ "description": "ID of the integration",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "name",
+ "description": "Name of the integration",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "token",
+ "description": "Token used to authenticate alert notification requests",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "type",
+ "description": "Type of integration",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "AlertManagementIntegrationType",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "url",
+ "description": "Endpoint which accepts alert notifications",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": [
+ {
+ "kind": "OBJECT",
+ "name": "AlertManagementHttpIntegration",
+ "ofType": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "AlertManagementPrometheusIntegration",
+ "ofType": null
+ }
+ ]
+ },
+ {
+ "kind": "OBJECT",
+ "name": "AlertManagementIntegrationConnection",
+ "description": "The connection type for AlertManagementIntegration.",
+ "fields": [
+ {
+ "name": "edges",
+ "description": "A list of edges.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "AlertManagementIntegrationEdge",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "nodes",
+ "description": "A list of nodes.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "INTERFACE",
+ "name": "AlertManagementIntegration",
+ "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": "AlertManagementIntegrationEdge",
+ "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": "INTERFACE",
+ "name": "AlertManagementIntegration",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "ENUM",
+ "name": "AlertManagementIntegrationType",
+ "description": "Values of types of integrations",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
+ {
+ "name": "PROMETHEUS",
+ "description": "Prometheus integration",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "HTTP",
+ "description": "Integration with any monitoring tool",
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "AlertManagementPrometheusIntegration",
+ "description": "An endpoint and credentials used to accept Prometheus alerts for a project",
+ "fields": [
+ {
+ "name": "active",
+ "description": "Whether the endpoint is currently accepting alerts",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "apiUrl",
+ "description": "URL at which Prometheus metrics can be queried to populate the metrics dashboard",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "id",
+ "description": "ID of the integration",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "name",
+ "description": "Name of the integration",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "token",
+ "description": "Token used to authenticate alert notification requests",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "type",
+ "description": "Type of integration",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "AlertManagementIntegrationType",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "url",
+ "description": "Endpoint which accepts alert notifications",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+ {
+ "kind": "INTERFACE",
+ "name": "AlertManagementIntegration",
+ "ofType": null
+ }
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
"kind": "ENUM",
"name": "AlertManagementSeverity",
"description": "Alert severity values",
@@ -1883,6 +2402,29 @@
"possibleTypes": null
},
{
+ "kind": "ENUM",
+ "name": "AvailabilityEnum",
+ "description": "User availability status",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
+ {
+ "name": "NOT_SET",
+ "description": "Not Set",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "BUSY",
+ "description": "Busy",
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "possibleTypes": null
+ },
+ {
"kind": "OBJECT",
"name": "AwardEmoji",
"description": "An emoji awarded by a user",
@@ -2936,7 +3478,7 @@
"description": "Find a list by its global ID",
"type": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "ListID",
"ofType": null
},
"defaultValue": null
@@ -3326,6 +3868,16 @@
"defaultValue": null
},
{
+ "name": "includeDescendantGroups",
+ "description": "Include epics from descendant groups",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "true"
+ },
+ {
"name": "after",
"description": "Returns the elements in the list that come after the specified cursor.",
"type": {
@@ -4202,6 +4754,42 @@
"deprecationReason": null
},
{
+ "name": "userDiscussionsCount",
+ "description": "Number of user discussions in the epic",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "userNotesCount",
+ "description": "Number of user notes of the epic",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "userPermissions",
"description": "Permissions for the current user on the resource",
"args": [
@@ -4518,7 +5106,17 @@
"description": "Filter by epic ID. Incompatible with epicWildcardId",
"type": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "EpicID",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "iterationTitle",
+ "description": "Filter by iteration title",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
"ofType": null
},
"defaultValue": null
@@ -4562,6 +5160,16 @@
"ofType": null
},
"defaultValue": null
+ },
+ {
+ "name": "iterationWildcardId",
+ "description": "Filter by iteration ID wildcard",
+ "type": {
+ "kind": "ENUM",
+ "name": "IterationWildcardId",
+ "ofType": null
+ },
+ "defaultValue": null
}
],
"interfaces": null,
@@ -5689,6 +6297,24 @@
"deprecationReason": null
},
{
+ "name": "pipeline",
+ "description": "Pipeline the job belongs to",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "Pipeline",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "scheduledAt",
"description": "Schedule for the build",
"args": [
@@ -6184,6 +6810,24 @@
"description": "The connection type for ClusterAgent.",
"fields": [
{
+ "name": "count",
+ "description": "Total count of collection",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "edges",
"description": "A list of edges.",
"args": [
@@ -6443,6 +7087,24 @@
"description": "The connection type for ClusterAgentToken.",
"fields": [
{
+ "name": "count",
+ "description": "Total count of collection",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "edges",
"description": "A list of edges.",
"args": [
@@ -6785,6 +7447,246 @@
},
{
"kind": "OBJECT",
+ "name": "CodeCoverageActivity",
+ "description": "Represents the code coverage activity for a group",
+ "fields": [
+ {
+ "name": "averageCoverage",
+ "description": "Average percentage of the different code coverage results available for the group.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Float",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "coverageCount",
+ "description": "Number of different code coverage results available for the group.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "date",
+ "description": "Date when the code coverage was created.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Date",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "projectCount",
+ "description": "Number of projects with code coverage results for the group.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "CodeCoverageActivityConnection",
+ "description": "The connection type for CodeCoverageActivity.",
+ "fields": [
+ {
+ "name": "edges",
+ "description": "A list of edges.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "CodeCoverageActivityEdge",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "nodes",
+ "description": "A list of nodes.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "CodeCoverageActivity",
+ "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": "CodeCoverageActivityEdge",
+ "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": "CodeCoverageActivity",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "CodeCoverageSummary",
+ "description": "Represents the code coverage summary for a project",
+ "fields": [
+ {
+ "name": "averageCoverage",
+ "description": "Average percentage of the different code coverage results available for the project.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Float",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "coverageCount",
+ "description": "Number of different code coverage results available.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "lastUpdatedOn",
+ "description": "Latest date when the code coverage was created for the project.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Date",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
"name": "Commit",
"description": null,
"fields": [
@@ -6891,49 +7793,6 @@
"deprecationReason": null
},
{
- "name": "latestPipeline",
- "description": "Latest pipeline of the commit. Deprecated in 12.5: Use `pipelines`",
- "args": [
- {
- "name": "status",
- "description": "Filter pipelines by their status",
- "type": {
- "kind": "ENUM",
- "name": "PipelineStatusEnum",
- "ofType": null
- },
- "defaultValue": null
- },
- {
- "name": "ref",
- "description": "Filter pipelines by the ref they are run for",
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "defaultValue": null
- },
- {
- "name": "sha",
- "description": "Filter pipelines by the sha of the commit they are run for",
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "defaultValue": null
- }
- ],
- "type": {
- "kind": "OBJECT",
- "name": "Pipeline",
- "ofType": null
- },
- "isDeprecated": true,
- "deprecationReason": "Use `pipelines`. Deprecated in 12.5"
- },
- {
"name": "message",
"description": "Raw commit message",
"args": [
@@ -7286,7 +8145,7 @@
},
{
"name": "branch",
- "description": "Name of the branch",
+ "description": "Name of the branch to commit into, it can be a new branch",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -7299,6 +8158,16 @@
"defaultValue": null
},
{
+ "name": "startBranch",
+ "description": "If on a new branch, name of the original branch",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
"name": "message",
"description": "Raw commit message",
"type": {
@@ -7454,8 +8323,8 @@
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "ENUM",
- "name": "ProjectSettingEnum",
+ "kind": "SCALAR",
+ "name": "String",
"ofType": null
}
},
@@ -7995,6 +8864,924 @@
"possibleTypes": null
},
{
+ "kind": "OBJECT",
+ "name": "ContainerRepository",
+ "description": "A container repository",
+ "fields": [
+ {
+ "name": "canDelete",
+ "description": "Can the current user delete the container repository.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "createdAt",
+ "description": "Timestamp when the container repository was created.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Time",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "expirationPolicyCleanupStatus",
+ "description": "The tags cleanup status for the container repository.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "ENUM",
+ "name": "ContainerRepositoryCleanupStatus",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "expirationPolicyStartedAt",
+ "description": "Timestamp when the cleanup done by the expiration policy was started on the container repository.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Time",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "id",
+ "description": "ID of the container repository.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "location",
+ "description": "URL of the container repository.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "name",
+ "description": "Name of the container repository.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "path",
+ "description": "Path of the container repository.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "status",
+ "description": "Status of the container repository.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "ENUM",
+ "name": "ContainerRepositoryStatus",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "tagsCount",
+ "description": "Number of tags associated with this image.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "updatedAt",
+ "description": "Timestamp when the container repository was updated.",
+ "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": "ENUM",
+ "name": "ContainerRepositoryCleanupStatus",
+ "description": "Status of the tags cleanup of a container repository",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
+ {
+ "name": "UNSCHEDULED",
+ "description": "The tags cleanup is not scheduled. This is the default state.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "SCHEDULED",
+ "description": "The tags cleanup is scheduled and is going to be executed shortly.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "UNFINISHED",
+ "description": "The tags cleanup has been partially executed. There are still remaining tags to delete.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "ONGOING",
+ "description": "The tags cleanup is ongoing.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "ContainerRepositoryConnection",
+ "description": "The connection type for ContainerRepository.",
+ "fields": [
+ {
+ "name": "edges",
+ "description": "A list of edges.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "ContainerRepositoryEdge",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "nodes",
+ "description": "A list of nodes.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "ContainerRepository",
+ "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": "ContainerRepositoryDetails",
+ "description": "Details of a container repository",
+ "fields": [
+ {
+ "name": "canDelete",
+ "description": "Can the current user delete the container repository.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "createdAt",
+ "description": "Timestamp when the container repository was created.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Time",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "expirationPolicyCleanupStatus",
+ "description": "The tags cleanup status for the container repository.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "ENUM",
+ "name": "ContainerRepositoryCleanupStatus",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "expirationPolicyStartedAt",
+ "description": "Timestamp when the cleanup done by the expiration policy was started on the container repository.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Time",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "id",
+ "description": "ID of the container repository.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "location",
+ "description": "URL of the container repository.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "name",
+ "description": "Name of the container repository.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "path",
+ "description": "Path of the container repository.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "status",
+ "description": "Status of the container repository.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "ENUM",
+ "name": "ContainerRepositoryStatus",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "tags",
+ "description": "Tags of the container repository",
+ "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": "ContainerRepositoryTagConnection",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "tagsCount",
+ "description": "Number of tags associated with this image.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "updatedAt",
+ "description": "Timestamp when the container repository was updated.",
+ "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": "OBJECT",
+ "name": "ContainerRepositoryEdge",
+ "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": "ContainerRepository",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "SCALAR",
+ "name": "ContainerRepositoryID",
+ "description": "Identifier of ContainerRepository",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "ENUM",
+ "name": "ContainerRepositoryStatus",
+ "description": "Status of a container repository",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
+ {
+ "name": "DELETE_SCHEDULED",
+ "description": "Delete Scheduled status.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "DELETE_FAILED",
+ "description": "Delete Failed status.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "ContainerRepositoryTag",
+ "description": "A tag from a container repository",
+ "fields": [
+ {
+ "name": "canDelete",
+ "description": "Can the current user delete this tag.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "createdAt",
+ "description": "Timestamp when the tag was created.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Time",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "digest",
+ "description": "Digest of the tag.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "location",
+ "description": "URL of the tag.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "name",
+ "description": "Name of the tag.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "path",
+ "description": "Path of the tag.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "revision",
+ "description": "Revision of the tag.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "shortRevision",
+ "description": "Short revision of the tag.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "totalSize",
+ "description": "The size of the tag.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "ContainerRepositoryTagConnection",
+ "description": "The connection type for ContainerRepositoryTag.",
+ "fields": [
+ {
+ "name": "edges",
+ "description": "A list of edges.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "ContainerRepositoryTagEdge",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "nodes",
+ "description": "A list of nodes.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "ContainerRepositoryTag",
+ "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": "ContainerRepositoryTagEdge",
+ "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": "ContainerRepositoryTag",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
"kind": "INPUT_OBJECT",
"name": "CreateAlertIssueInput",
"description": "Autogenerated input type of CreateAlertIssue",
@@ -8306,7 +10093,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project full path the board is associated with.",
+ "description": "The project full path the resource is associated with",
"type": {
"kind": "SCALAR",
"name": "ID",
@@ -8316,7 +10103,7 @@
},
{
"name": "groupPath",
- "description": "The group full path the board is associated with.",
+ "description": "The group full path the resource is associated with",
"type": {
"kind": "SCALAR",
"name": "ID",
@@ -8349,7 +10136,7 @@
"description": "The ID of the milestone to be assigned to the board.",
"type": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "MilestoneID",
"ofType": null
},
"defaultValue": null
@@ -8375,7 +10162,7 @@
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "LabelID",
"ofType": null
}
}
@@ -8712,6 +10499,136 @@
},
{
"kind": "INPUT_OBJECT",
+ "name": "CreateCustomEmojiInput",
+ "description": "Autogenerated input type of CreateCustomEmoji",
+ "fields": null,
+ "inputFields": [
+ {
+ "name": "groupPath",
+ "description": "Namespace full path the emoji is associated with",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "name",
+ "description": "Name of the emoji",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "url",
+ "description": "Location of the emoji file",
+ "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": "CreateCustomEmojiPayload",
+ "description": "Autogenerated return type of CreateCustomEmoji",
+ "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": "customEmoji",
+ "description": "The new custom emoji",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CustomEmoji",
+ "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": "CreateDiffNoteInput",
"description": "Autogenerated input type of CreateDiffNote",
"fields": null,
@@ -10334,6 +12251,213 @@
]
},
{
+ "kind": "OBJECT",
+ "name": "CustomEmoji",
+ "description": "A custom emoji uploaded by user",
+ "fields": [
+ {
+ "name": "external",
+ "description": "Whether the emoji is an external link",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "id",
+ "description": "The ID of the emoji",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "CustomEmojiID",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "name",
+ "description": "The name of the emoji",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "url",
+ "description": "The link to file of the emoji",
+ "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": "CustomEmojiConnection",
+ "description": "The connection type for CustomEmoji.",
+ "fields": [
+ {
+ "name": "edges",
+ "description": "A list of edges.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "CustomEmojiEdge",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "nodes",
+ "description": "A list of nodes.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "CustomEmoji",
+ "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": "CustomEmojiEdge",
+ "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": "CustomEmoji",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "SCALAR",
+ "name": "CustomEmojiID",
+ "description": "Identifier of CustomEmoji",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
"kind": "INPUT_OBJECT",
"name": "DastOnDemandScanCreateInput",
"description": "Autogenerated input type of DastOnDemandScanCreate",
@@ -10503,7 +12627,7 @@
},
{
"name": "globalId",
- "description": "ID of the DAST scanner profile",
+ "description": "ID of the DAST scanner profile. Deprecated in 13.6: Use `id`",
"args": [
],
@@ -10516,12 +12640,12 @@
"ofType": null
}
},
- "isDeprecated": false,
- "deprecationReason": null
+ "isDeprecated": true,
+ "deprecationReason": "Use `id`. Deprecated in 13.6"
},
{
"name": "id",
- "description": "ID of the DAST scanner profile. Deprecated in 13.4: Use `global_id`",
+ "description": "ID of the DAST scanner profile",
"args": [
],
@@ -10530,12 +12654,12 @@
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "DastScannerProfileID",
"ofType": null
}
},
- "isDeprecated": true,
- "deprecationReason": "Use `global_id`. Deprecated in 13.4"
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
"name": "profileName",
@@ -10850,7 +12974,7 @@
},
{
"name": "globalId",
- "description": "ID of the scanner profile.",
+ "description": "ID of the scanner profile.. Deprecated in 13.6: Use `id`",
"args": [
],
@@ -10859,22 +12983,22 @@
"name": "DastScannerProfileID",
"ofType": null
},
- "isDeprecated": false,
- "deprecationReason": null
+ "isDeprecated": true,
+ "deprecationReason": "Use `id`. Deprecated in 13.6"
},
{
"name": "id",
- "description": "ID of the scanner profile.. Deprecated in 13.4: Use `global_id`",
+ "description": "ID of the scanner profile.",
"args": [
],
"type": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "DastScannerProfileID",
"ofType": null
},
- "isDeprecated": true,
- "deprecationReason": "Use `global_id`. Deprecated in 13.4"
+ "isDeprecated": false,
+ "deprecationReason": null
}
],
"inputFields": null,
@@ -12041,6 +14165,242 @@
"possibleTypes": null
},
{
+ "kind": "OBJECT",
+ "name": "DastSiteValidation",
+ "description": "Represents a DAST Site Validation",
+ "fields": [
+ {
+ "name": "id",
+ "description": "ID of the site validation",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "DastSiteValidationID",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "status",
+ "description": "The status of the validation",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "DastSiteProfileValidationStatusEnum",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "INPUT_OBJECT",
+ "name": "DastSiteValidationCreateInput",
+ "description": "Autogenerated input type of DastSiteValidationCreate",
+ "fields": null,
+ "inputFields": [
+ {
+ "name": "fullPath",
+ "description": "The project the site profile belongs to.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "dastSiteTokenId",
+ "description": "ID of the site token.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "DastSiteTokenID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "validationPath",
+ "description": "The path to be requested during validation.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "strategy",
+ "description": "The validation strategy to be used.",
+ "type": {
+ "kind": "ENUM",
+ "name": "DastSiteValidationStrategyEnum",
+ "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": "DastSiteValidationCreatePayload",
+ "description": "Autogenerated return type of DastSiteValidationCreate",
+ "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": "id",
+ "description": "ID of the site validation.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "DastSiteValidationID",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "status",
+ "description": "The current validation status.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "ENUM",
+ "name": "DastSiteProfileValidationStatusEnum",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "SCALAR",
+ "name": "DastSiteValidationID",
+ "description": "Identifier of DastSiteValidation",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "ENUM",
+ "name": "DastSiteValidationStrategyEnum",
+ "description": null,
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
+ {
+ "name": "TEXT_FILE",
+ "description": "Text file validation",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "HEADER",
+ "description": "Header validation",
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "possibleTypes": null
+ },
+ {
"kind": "SCALAR",
"name": "Date",
"description": "Date represented in ISO 8601",
@@ -12064,7 +14424,7 @@
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "MetricsDashboardAnnotationID",
"ofType": null
}
},
@@ -12574,7 +14934,7 @@
"description": "The Global ID of the most recent acceptable version",
"type": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "DesignManagementVersionID",
"ofType": null
},
"defaultValue": null
@@ -13023,7 +15383,7 @@
"description": "Find a design by its ID",
"type": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "DesignManagementDesignID",
"ofType": null
},
"defaultValue": null
@@ -13059,7 +15419,7 @@
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "DesignManagementDesignAtVersionID",
"ofType": null
}
},
@@ -13089,7 +15449,7 @@
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "DesignManagementDesignID",
"ofType": null
}
}
@@ -13119,7 +15479,7 @@
"description": "Filters designs to only those that existed at the version. If argument is omitted or nil then all designs will reflect the latest version",
"type": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "DesignManagementVersionID",
"ofType": null
},
"defaultValue": null
@@ -13232,7 +15592,7 @@
"description": "The Global ID of the version",
"type": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "DesignManagementVersionID",
"ofType": null
},
"defaultValue": null
@@ -13265,7 +15625,7 @@
"description": "The Global ID of the most recent acceptable version",
"type": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "DesignManagementVersionID",
"ofType": null
},
"defaultValue": null
@@ -13687,7 +16047,7 @@
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "DesignManagementDesignAtVersionID",
"ofType": null
}
},
@@ -13714,7 +16074,7 @@
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "DesignManagementVersionID",
"ofType": null
}
},
@@ -13877,6 +16237,16 @@
},
{
"kind": "SCALAR",
+ "name": "DesignManagementDesignAtVersionID",
+ "description": "Identifier of DesignManagement::DesignAtVersion",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "SCALAR",
"name": "DesignManagementDesignID",
"description": "Identifier of DesignManagement::Design",
"fields": null,
@@ -14184,6 +16554,16 @@
"possibleTypes": null
},
{
+ "kind": "SCALAR",
+ "name": "DesignManagementVersionID",
+ "description": "Identifier of DesignManagement::Version",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
"kind": "OBJECT",
"name": "DesignVersion",
"description": "A specific version in which designs were added, modified or deleted",
@@ -14197,7 +16577,7 @@
"description": "The ID of the DesignAtVersion",
"type": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "DesignManagementDesignAtVersionID",
"ofType": null
},
"defaultValue": null
@@ -14207,7 +16587,7 @@
"description": "The ID of a specific design",
"type": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "DesignManagementDesignID",
"ofType": null
},
"defaultValue": null
@@ -14307,7 +16687,7 @@
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "DesignManagementDesignID",
"ofType": null
}
}
@@ -14782,6 +17162,112 @@
},
{
"kind": "INPUT_OBJECT",
+ "name": "DestroyContainerRepositoryInput",
+ "description": "Autogenerated input type of DestroyContainerRepository",
+ "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": "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": "DestroyContainerRepositoryPayload",
+ "description": "Autogenerated return type of DestroyContainerRepository",
+ "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": "containerRepository",
+ "description": "The container repository policy after scheduling the deletion.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "ContainerRepository",
+ "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,
@@ -14896,7 +17382,7 @@
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "SnippetID",
"ofType": null
}
},
@@ -15124,6 +17610,220 @@
"possibleTypes": null
},
{
+ "kind": "OBJECT",
+ "name": "DevopsAdoptionSegment",
+ "description": "Segment",
+ "fields": [
+ {
+ "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
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "id",
+ "description": "ID of the segment",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "name",
+ "description": "Name of the segment",
+ "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": "DevopsAdoptionSegmentConnection",
+ "description": "The connection type for DevopsAdoptionSegment.",
+ "fields": [
+ {
+ "name": "edges",
+ "description": "A list of edges.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "DevopsAdoptionSegmentEdge",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "nodes",
+ "description": "A list of nodes.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "DevopsAdoptionSegment",
+ "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": "DevopsAdoptionSegmentEdge",
+ "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": "DevopsAdoptionSegment",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
"kind": "INPUT_OBJECT",
"name": "DiffImagePositionInput",
"description": null,
@@ -15243,6 +17943,16 @@
"possibleTypes": null
},
{
+ "kind": "SCALAR",
+ "name": "DiffNoteID",
+ "description": "Identifier of DiffNote",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
"kind": "INPUT_OBJECT",
"name": "DiffPathsInput",
"description": null,
@@ -16567,14 +19277,18 @@
},
{
"name": "path",
- "description": "The path to the environment. Will always return null if `expose_environment_path_in_alert_details` feature flag is disabled",
+ "description": "The path to the environment.",
"args": [
],
"type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
},
"isDeprecated": false,
"deprecationReason": null
@@ -16728,6 +19442,108 @@
"possibleTypes": null
},
{
+ "kind": "INPUT_OBJECT",
+ "name": "EnvironmentsCanaryIngressUpdateInput",
+ "description": "Autogenerated input type of EnvironmentsCanaryIngressUpdate",
+ "fields": null,
+ "inputFields": [
+ {
+ "name": "id",
+ "description": "The global ID of the environment to update",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "EnvironmentID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "weight",
+ "description": "The weight of the Canary Ingress",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "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": "EnvironmentsCanaryIngressUpdatePayload",
+ "description": "Autogenerated return type of EnvironmentsCanaryIngressUpdate",
+ "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": "Epic",
"description": "Represents an epic",
@@ -16891,6 +19707,16 @@
"defaultValue": null
},
{
+ "name": "includeDescendantGroups",
+ "description": "Include epics from descendant groups",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "true"
+ },
+ {
"name": "after",
"description": "Returns the elements in the list that come after the specified cursor.",
"type": {
@@ -17767,6 +20593,42 @@
"deprecationReason": null
},
{
+ "name": "userDiscussionsCount",
+ "description": "Number of user discussions in the epic",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "userNotesCount",
+ "description": "Number of user notes of the epic",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "userPermissions",
"description": "Permissions for the current user on the resource",
"args": [
@@ -18391,6 +21253,20 @@
"deprecationReason": null
},
{
+ "name": "blockedByCount",
+ "description": "Count of issues blocking this issue",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "closedAt",
"description": "Timestamp of when the issue was closed",
"args": [
@@ -18550,20 +21426,6 @@
"deprecationReason": null
},
{
- "name": "designs",
- "description": "The designs associated with this issue. Deprecated in 12.2: Use `designCollection`",
- "args": [
-
- ],
- "type": {
- "kind": "OBJECT",
- "name": "DesignCollection",
- "ofType": null
- },
- "isDeprecated": true,
- "deprecationReason": "Use `designCollection`. Deprecated in 12.2"
- },
- {
"name": "discussionLocked",
"description": "Indicates discussion is locked on the issue",
"args": [
@@ -18671,6 +21533,24 @@
"deprecationReason": null
},
{
+ "name": "emailsDisabled",
+ "description": "Indicates if a project has email notifications disabled: `true` if email notifications are disabled",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "epic",
"description": "Epic to which this issue belongs",
"args": [
@@ -18717,6 +21597,34 @@
"deprecationReason": null
},
{
+ "name": "humanTimeEstimate",
+ "description": "Human-readable time estimate of the issue",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "humanTotalTimeSpent",
+ "description": "Human-readable total time reported as spent on the issue",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "id",
"description": "Global ID of the epic-issue relation",
"args": [
@@ -18830,6 +21738,34 @@
"deprecationReason": null
},
{
+ "name": "moved",
+ "description": "Indicates if issue got moved from other project",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "movedTo",
+ "description": "Updated Issue after it got moved to another project",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Issue",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "notes",
"description": "All notes on this noteable",
"args": [
@@ -19191,6 +22127,20 @@
"deprecationReason": null
},
{
+ "name": "updatedBy",
+ "description": "User that last updated the issue",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "User",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "upvotes",
"description": "Number of upvotes the issue has received",
"args": [
@@ -19209,6 +22159,24 @@
"deprecationReason": null
},
{
+ "name": "userDiscussionsCount",
+ "description": "Number of user discussions in the issue",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "userNotesCount",
"description": "Number of user notes of the issue",
"args": [
@@ -19387,6 +22355,24 @@
},
"isDeprecated": false,
"deprecationReason": null
+ },
+ {
+ "name": "weight",
+ "description": "Total weight of issues collection",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
}
],
"inputFields": null,
@@ -20382,6 +23368,77 @@
"deprecationReason": null
},
{
+ "name": "snippetRepositoryRegistries",
+ "description": "Find snippet repository registries on this Geo node. Available only when feature flag `geo_snippet_repository_replication` is enabled",
+ "args": [
+ {
+ "name": "ids",
+ "description": "Filters registries by their ID",
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "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": "SnippetRepositoryRegistryConnection",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "syncObjectStorage",
"description": "Indicates if this secondary node will replicate blobs in Object Storage",
"args": [
@@ -20503,6 +23560,16 @@
"possibleTypes": null
},
{
+ "kind": "SCALAR",
+ "name": "GitlabErrorTrackingDetailedErrorID",
+ "description": "Identifier of Gitlab::ErrorTracking::DetailedError",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
"kind": "OBJECT",
"name": "GrafanaIntegration",
"description": null,
@@ -20580,24 +23647,6 @@
"deprecationReason": null
},
{
- "name": "token",
- "description": "API token for the Grafana integration. Deprecated in 12.7: Plain text token has been masked for security reasons",
- "args": [
-
- ],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
- "isDeprecated": true,
- "deprecationReason": "Plain text token has been masked for security reasons. Deprecated in 12.7"
- },
- {
"name": "updatedAt",
"description": "Timestamp of the issue's last activity",
"args": [
@@ -20720,7 +23769,7 @@
"description": "Find a board by its ID",
"type": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "BoardID",
"ofType": null
},
"defaultValue": null
@@ -20775,6 +23824,136 @@
"deprecationReason": null
},
{
+ "name": "codeCoverageActivities",
+ "description": "Represents the code coverage activity for this group. Available only when feature flag `group_coverage_data_report_graph` is enabled",
+ "args": [
+ {
+ "name": "startDate",
+ "description": "First day for which to fetch code coverage activity (maximum time window is set to 90 days)",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Date",
+ "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": "CodeCoverageActivityConnection",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "containerRepositories",
+ "description": "Container repositories of the project",
+ "args": [
+ {
+ "name": "name",
+ "description": "Filter the container repositories by their name",
+ "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": "ContainerRepositoryConnection",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "containsLockedProjects",
"description": "Includes at least one project where the repository size exceeds the limit",
"args": [
@@ -20793,6 +23972,59 @@
"deprecationReason": null
},
{
+ "name": "customEmoji",
+ "description": "Custom emoji within this namespace. Available only when feature flag `custom_emoji` 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": "CustomEmojiConnection",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "description",
"description": "Description of the namespace",
"args": [
@@ -20973,6 +24205,16 @@
"ofType": null
},
"defaultValue": null
+ },
+ {
+ "name": "includeDescendantGroups",
+ "description": "Include epics from descendant groups",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "true"
}
],
"type": {
@@ -21124,6 +24366,16 @@
"defaultValue": null
},
{
+ "name": "includeDescendantGroups",
+ "description": "Include epics from descendant groups",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "true"
+ },
+ {
"name": "after",
"description": "Returns the elements in the list that come after the specified cursor.",
"type": {
@@ -21435,7 +24687,7 @@
},
{
"name": "assigneeId",
- "description": "ID of a user assigned to the issues, \"none\" and \"any\" values supported",
+ "description": "ID of a user assigned to the issues, \"none\" and \"any\" values are supported",
"type": {
"kind": "SCALAR",
"name": "String",
@@ -21566,6 +24818,16 @@
"defaultValue": null
},
{
+ "name": "epicId",
+ "description": "ID of an epic associated with the issues, \"none\" and \"any\" values are supported",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
"name": "includeSubgroups",
"description": "Include issues belonging to subgroups",
"type": {
@@ -22467,6 +25729,20 @@
"deprecationReason": null
},
{
+ "name": "stats",
+ "description": "Group statistics",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "GroupStats",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "storageSizeLimit",
"description": "Total storage limit of the root namespace in bytes",
"args": [
@@ -23018,7 +26294,16 @@
"name": "vulnerabilityGrades",
"description": "Represents vulnerable project counts for each grade",
"args": [
-
+ {
+ "name": "includeSubgroups",
+ "description": "Include grades belonging to subgroups",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false"
+ }
],
"type": {
"kind": "NON_NULL",
@@ -23224,6 +26509,128 @@
},
{
"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",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
"name": "GroupMember",
"description": "Represents a Group Membership",
"fields": [
@@ -23521,6 +26928,74 @@
"possibleTypes": null
},
{
+ "kind": "OBJECT",
+ "name": "GroupReleaseStats",
+ "description": "Contains release-related statistics about a group",
+ "fields": [
+ {
+ "name": "releasesCount",
+ "description": "Total number of releases in all descendant projects of the group. Will always return `null` if `group_level_release_statistics` feature flag is disabled",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "releasesPercentage",
+ "description": "Percentage of the group's descendant projects that have at least one release. Will always return `null` if `group_level_release_statistics` feature flag is disabled",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "GroupStats",
+ "description": "Contains statistics about a group",
+ "fields": [
+ {
+ "name": "releaseStats",
+ "description": "Statistics related to releases within the group",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "GroupReleaseStats",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
"kind": "ENUM",
"name": "HealthStatus",
"description": "Health status of an issue or epic",
@@ -23550,6 +27025,462 @@
"possibleTypes": null
},
{
+ "kind": "INPUT_OBJECT",
+ "name": "HttpIntegrationCreateInput",
+ "description": "Autogenerated input type of HttpIntegrationCreate",
+ "fields": null,
+ "inputFields": [
+ {
+ "name": "projectPath",
+ "description": "The project to create the integration in",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "name",
+ "description": "The name of the integration",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "active",
+ "description": "Whether the integration is receiving alerts",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "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": "HttpIntegrationCreatePayload",
+ "description": "Autogenerated return type of HttpIntegrationCreate",
+ "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": "integration",
+ "description": "The HTTP integration",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "AlertManagementHttpIntegration",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "INPUT_OBJECT",
+ "name": "HttpIntegrationDestroyInput",
+ "description": "Autogenerated input type of HttpIntegrationDestroy",
+ "fields": null,
+ "inputFields": [
+ {
+ "name": "id",
+ "description": "The id of the integration to remove",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "AlertManagementHttpIntegrationID",
+ "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": "HttpIntegrationDestroyPayload",
+ "description": "Autogenerated return type of HttpIntegrationDestroy",
+ "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": "integration",
+ "description": "The HTTP integration",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "AlertManagementHttpIntegration",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "INPUT_OBJECT",
+ "name": "HttpIntegrationResetTokenInput",
+ "description": "Autogenerated input type of HttpIntegrationResetToken",
+ "fields": null,
+ "inputFields": [
+ {
+ "name": "id",
+ "description": "The id of the integration to mutate",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "AlertManagementHttpIntegrationID",
+ "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": "HttpIntegrationResetTokenPayload",
+ "description": "Autogenerated return type of HttpIntegrationResetToken",
+ "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": "integration",
+ "description": "The HTTP integration",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "AlertManagementHttpIntegration",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "INPUT_OBJECT",
+ "name": "HttpIntegrationUpdateInput",
+ "description": "Autogenerated input type of HttpIntegrationUpdate",
+ "fields": null,
+ "inputFields": [
+ {
+ "name": "id",
+ "description": "The id of the integration to mutate",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "AlertManagementHttpIntegrationID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "name",
+ "description": "The name of the integration",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "active",
+ "description": "Whether the integration is receiving alerts",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "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": "HttpIntegrationUpdatePayload",
+ "description": "Autogenerated return type of HttpIntegrationUpdate",
+ "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": "integration",
+ "description": "The HTTP integration",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "AlertManagementHttpIntegration",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
"kind": "SCALAR",
"name": "ID",
"description": "Represents a unique identifier that is Base64 obfuscated. It is often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `\"VXNlci0xMA==\"`) or integer (such as `4`) input value will be accepted as an ID.",
@@ -24191,6 +28122,20 @@
"deprecationReason": null
},
{
+ "name": "blockedByCount",
+ "description": "Count of issues blocking this issue",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "closedAt",
"description": "Timestamp of when the issue was closed",
"args": [
@@ -24350,20 +28295,6 @@
"deprecationReason": null
},
{
- "name": "designs",
- "description": "The designs associated with this issue. Deprecated in 12.2: Use `designCollection`",
- "args": [
-
- ],
- "type": {
- "kind": "OBJECT",
- "name": "DesignCollection",
- "ofType": null
- },
- "isDeprecated": true,
- "deprecationReason": "Use `designCollection`. Deprecated in 12.2"
- },
- {
"name": "discussionLocked",
"description": "Indicates discussion is locked on the issue",
"args": [
@@ -24471,6 +28402,24 @@
"deprecationReason": null
},
{
+ "name": "emailsDisabled",
+ "description": "Indicates if a project has email notifications disabled: `true` if email notifications are disabled",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "epic",
"description": "Epic to which this issue belongs",
"args": [
@@ -24499,6 +28448,34 @@
"deprecationReason": null
},
{
+ "name": "humanTimeEstimate",
+ "description": "Human-readable time estimate of the issue",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "humanTotalTimeSpent",
+ "description": "Human-readable total time reported as spent on the issue",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "id",
"description": "ID of the issue",
"args": [
@@ -24616,6 +28593,34 @@
"deprecationReason": null
},
{
+ "name": "moved",
+ "description": "Indicates if issue got moved from other project",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "movedTo",
+ "description": "Updated Issue after it got moved to another project",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Issue",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "notes",
"description": "All notes on this noteable",
"args": [
@@ -24963,6 +28968,20 @@
"deprecationReason": null
},
{
+ "name": "updatedBy",
+ "description": "User that last updated the issue",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "User",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "upvotes",
"description": "Number of upvotes the issue has received",
"args": [
@@ -24981,6 +29000,24 @@
"deprecationReason": null
},
{
+ "name": "userDiscussionsCount",
+ "description": "Number of user discussions in the issue",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "userNotesCount",
"description": "Number of user notes of the issue",
"args": [
@@ -25159,6 +29196,24 @@
},
"isDeprecated": false,
"deprecationReason": null
+ },
+ {
+ "name": "weight",
+ "description": "Total weight of issues collection",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
}
],
"inputFields": null,
@@ -26137,7 +30192,7 @@
"description": "Global ID of the epic to be assigned to the issue, epic will be removed if absent or set to null",
"type": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "EpicID",
"ofType": null
},
"defaultValue": null
@@ -27015,6 +31070,18 @@
"description": "Published issues shown first",
"isDeprecated": false,
"deprecationReason": null
+ },
+ {
+ "name": "SLA_DUE_AT_ASC",
+ "description": "Issues with earliest SLA due time shown first",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "SLA_DUE_AT_DESC",
+ "description": "Issues with latest SLA due time shown first",
+ "isDeprecated": false,
+ "deprecationReason": null
}
],
"possibleTypes": null
@@ -27167,28 +31234,6 @@
"description": "Represents an iteration object",
"fields": [
{
- "name": "burnupTimeSeries",
- "description": "Daily scope and completed totals for burnup charts",
- "args": [
-
- ],
- "type": {
- "kind": "LIST",
- "name": null,
- "ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "BurnupChartDailyTotals",
- "ofType": null
- }
- }
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
"name": "createdAt",
"description": "Timestamp of iteration creation",
"args": [
@@ -27285,6 +31330,20 @@
"deprecationReason": null
},
{
+ "name": "report",
+ "description": "Historically accurate report about the timebox",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "TimeboxReport",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "scopedPath",
"description": "Web path of the iteration, scoped to the query parent. Only valid for Project parents. Returns null in other contexts",
"args": [
@@ -27421,7 +31480,7 @@
"interfaces": [
{
"kind": "INTERFACE",
- "name": "TimeboxBurnupTimeSeriesInterface",
+ "name": "TimeboxReportInterface",
"ofType": null
}
],
@@ -27592,6 +31651,29 @@
"possibleTypes": null
},
{
+ "kind": "ENUM",
+ "name": "IterationWildcardId",
+ "description": "Iteration ID wildcard values",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
+ {
+ "name": "NONE",
+ "description": "No iteration is assigned",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "ANY",
+ "description": "An iteration is assigned",
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "possibleTypes": null
+ },
+ {
"kind": "SCALAR",
"name": "JSON",
"description": "Represents untyped JSON",
@@ -28726,6 +32808,148 @@
"possibleTypes": null
},
{
+ "kind": "INPUT_OBJECT",
+ "name": "LabelCreateInput",
+ "description": "Autogenerated input type of LabelCreate",
+ "fields": null,
+ "inputFields": [
+ {
+ "name": "projectPath",
+ "description": "The project full path the resource is associated with",
+ "type": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "groupPath",
+ "description": "The group full path the resource is associated with",
+ "type": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "title",
+ "description": "Title of the label",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "description",
+ "description": "Description of the label",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "color",
+ "description": "The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the CSS color names in https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": "\"#428BCA\""
+ },
+ {
+ "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": "LabelCreatePayload",
+ "description": "Autogenerated return type of LabelCreate",
+ "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": "label",
+ "description": "The label after mutation",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Label",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
"kind": "OBJECT",
"name": "LabelEdge",
"description": "An edge in a connection.",
@@ -28833,7 +33057,7 @@
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "SnippetID",
"ofType": null
}
},
@@ -29892,20 +34116,6 @@
"deprecationReason": null
},
{
- "name": "mergeCommitMessage",
- "description": "Default merge commit message of the merge request. Deprecated in 11.8: Use `defaultMergeCommitMessage`",
- "args": [
-
- ],
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "isDeprecated": true,
- "deprecationReason": "Use `defaultMergeCommitMessage`. Deprecated in 11.8"
- },
- {
"name": "mergeCommitSha",
"description": "SHA of the merge request commit (set once merged)",
"args": [
@@ -30636,6 +34846,20 @@
"deprecationReason": null
},
{
+ "name": "userDiscussionsCount",
+ "description": "Number of user discussions in the merge request",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "userNotesCount",
"description": "User notes count of the merge request",
"args": [
@@ -31644,7 +35868,7 @@
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "LabelID",
"ofType": null
}
}
@@ -32929,33 +37153,21 @@
"possibleTypes": null
},
{
+ "kind": "SCALAR",
+ "name": "MetricsDashboardAnnotationID",
+ "description": "Identifier of Metrics::Dashboard::Annotation",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
"kind": "OBJECT",
"name": "Milestone",
"description": "Represents a milestone",
"fields": [
{
- "name": "burnupTimeSeries",
- "description": "Daily scope and completed totals for burnup charts",
- "args": [
-
- ],
- "type": {
- "kind": "LIST",
- "name": null,
- "ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "BurnupChartDailyTotals",
- "ofType": null
- }
- }
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
"name": "createdAt",
"description": "Timestamp of milestone creation",
"args": [
@@ -33056,6 +37268,20 @@
"deprecationReason": null
},
{
+ "name": "report",
+ "description": "Historically accurate report about the timebox",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "TimeboxReport",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "startDate",
"description": "Timestamp of the milestone start date",
"args": [
@@ -33178,7 +37404,7 @@
"interfaces": [
{
"kind": "INTERFACE",
- "name": "TimeboxBurnupTimeSeriesInterface",
+ "name": "TimeboxReportInterface",
"ofType": null
}
],
@@ -33940,6 +38166,33 @@
"deprecationReason": null
},
{
+ "name": "createCustomEmoji",
+ "description": ". Available only when feature flag `custom_emoji` is enabled",
+ "args": [
+ {
+ "name": "input",
+ "description": null,
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "CreateCustomEmojiInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CreateCustomEmojiPayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "createDiffNote",
"description": null,
"args": [
@@ -34399,6 +38652,33 @@
"deprecationReason": null
},
{
+ "name": "dastSiteValidationCreate",
+ "description": null,
+ "args": [
+ {
+ "name": "input",
+ "description": null,
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "DastSiteValidationCreateInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "DastSiteValidationCreatePayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "deleteAnnotation",
"description": null,
"args": [
@@ -34561,6 +38841,33 @@
"deprecationReason": null
},
{
+ "name": "destroyContainerRepository",
+ "description": null,
+ "args": [
+ {
+ "name": "input",
+ "description": null,
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "DestroyContainerRepositoryInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "DestroyContainerRepositoryPayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "destroyNote",
"description": null,
"args": [
@@ -34669,6 +38976,33 @@
"deprecationReason": "Use vulnerabilityDismiss. Deprecated in 13.5"
},
{
+ "name": "environmentsCanaryIngressUpdate",
+ "description": null,
+ "args": [
+ {
+ "name": "input",
+ "description": null,
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "EnvironmentsCanaryIngressUpdateInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "EnvironmentsCanaryIngressUpdatePayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "epicAddIssue",
"description": null,
"args": [
@@ -34750,6 +39084,114 @@
"deprecationReason": null
},
{
+ "name": "httpIntegrationCreate",
+ "description": null,
+ "args": [
+ {
+ "name": "input",
+ "description": null,
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "HttpIntegrationCreateInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "HttpIntegrationCreatePayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "httpIntegrationDestroy",
+ "description": null,
+ "args": [
+ {
+ "name": "input",
+ "description": null,
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "HttpIntegrationDestroyInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "HttpIntegrationDestroyPayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "httpIntegrationResetToken",
+ "description": null,
+ "args": [
+ {
+ "name": "input",
+ "description": null,
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "HttpIntegrationResetTokenInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "HttpIntegrationResetTokenPayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "httpIntegrationUpdate",
+ "description": null,
+ "args": [
+ {
+ "name": "input",
+ "description": null,
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "HttpIntegrationUpdateInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "HttpIntegrationUpdatePayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "issueMove",
"description": null,
"args": [
@@ -35101,6 +39543,33 @@
"deprecationReason": null
},
{
+ "name": "labelCreate",
+ "description": null,
+ "args": [
+ {
+ "name": "input",
+ "description": null,
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "LabelCreateInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "LabelCreatePayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "markAsSpamSnippet",
"description": null,
"args": [
@@ -35452,6 +39921,141 @@
"deprecationReason": null
},
{
+ "name": "prometheusIntegrationCreate",
+ "description": null,
+ "args": [
+ {
+ "name": "input",
+ "description": null,
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "PrometheusIntegrationCreateInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "PrometheusIntegrationCreatePayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "prometheusIntegrationResetToken",
+ "description": null,
+ "args": [
+ {
+ "name": "input",
+ "description": null,
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "PrometheusIntegrationResetTokenInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "PrometheusIntegrationResetTokenPayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "prometheusIntegrationUpdate",
+ "description": null,
+ "args": [
+ {
+ "name": "input",
+ "description": null,
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "PrometheusIntegrationUpdateInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "PrometheusIntegrationUpdatePayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "promoteToEpic",
+ "description": null,
+ "args": [
+ {
+ "name": "input",
+ "description": null,
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "PromoteToEpicInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "PromoteToEpicPayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "releaseCreate",
+ "description": null,
+ "args": [
+ {
+ "name": "input",
+ "description": null,
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "ReleaseCreateInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "ReleaseCreatePayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "removeAwardEmoji",
"description": null,
"args": [
@@ -35506,6 +40110,33 @@
"deprecationReason": null
},
{
+ "name": "repositionImageDiffNote",
+ "description": "Repositions a DiffNote on an image (a `Note` where the `position.positionType` is `\"image\"`)",
+ "args": [
+ {
+ "name": "input",
+ "description": null,
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "RepositionImageDiffNoteInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "RepositionImageDiffNotePayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "revertVulnerabilityToDetected",
"description": null,
"args": [
@@ -35560,6 +40191,114 @@
"deprecationReason": "Use DastOnDemandScanCreate. Deprecated in 13.4"
},
{
+ "name": "terraformStateDelete",
+ "description": null,
+ "args": [
+ {
+ "name": "input",
+ "description": null,
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "TerraformStateDeleteInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "TerraformStateDeletePayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "terraformStateLock",
+ "description": null,
+ "args": [
+ {
+ "name": "input",
+ "description": null,
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "TerraformStateLockInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "TerraformStateLockPayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "terraformStateUnlock",
+ "description": null,
+ "args": [
+ {
+ "name": "input",
+ "description": null,
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "TerraformStateUnlockInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "TerraformStateUnlockPayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "todoCreate",
+ "description": null,
+ "args": [
+ {
+ "name": "input",
+ "description": null,
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "TodoCreateInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "TodoCreatePayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "todoMarkDone",
"description": null,
"args": [
@@ -36822,6 +41561,12 @@
"description": "Most similar to the search query",
"isDeprecated": false,
"deprecationReason": null
+ },
+ {
+ "name": "STORAGE",
+ "description": "Sort by storage size",
+ "isDeprecated": false,
+ "deprecationReason": null
}
],
"possibleTypes": null
@@ -36905,7 +41650,17 @@
"description": "Filter by epic ID. Incompatible with epicWildcardId",
"type": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "EpicID",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "iterationTitle",
+ "description": "Filter by iteration title",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
"ofType": null
},
"defaultValue": null
@@ -37416,6 +42171,24 @@
"deprecationReason": null
},
{
+ "name": "repositionNote",
+ "description": "Indicates the user can perform `reposition_note` on this resource",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "resolveNote",
"description": "Indicates the user can perform `resolve_note` on this resource",
"args": [
@@ -38354,6 +43127,59 @@
"deprecationReason": null
},
{
+ "name": "downstream",
+ "description": "Pipelines this pipeline will trigger",
+ "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": "PipelineConnection",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "duration",
"description": "Duration of the pipeline in seconds",
"args": [
@@ -38418,6 +43244,105 @@
"deprecationReason": null
},
{
+ "name": "jobs",
+ "description": "Jobs belonging to the pipeline",
+ "args": [
+ {
+ "name": "securityReportTypes",
+ "description": "Filter jobs by the type of security report they produce",
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "SecurityReportTypeEnum",
+ "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": "CiJobConnection",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "path",
+ "description": "Relative path to the pipeline's page",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "project",
+ "description": "Project the pipeline belongs to",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Project",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "retryable",
"description": "Specifies if a pipeline can be retried",
"args": [
@@ -38468,6 +43393,20 @@
"deprecationReason": null
},
{
+ "name": "sourceJob",
+ "description": "Job where pipeline was triggered from",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CiJob",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "stages",
"description": "Stages of the pipeline",
"args": [
@@ -38571,6 +43510,20 @@
"deprecationReason": null
},
{
+ "name": "upstream",
+ "description": "Pipeline that triggered the pipeline",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Pipeline",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "user",
"description": "Pipeline user",
"args": [
@@ -39284,7 +44237,7 @@
},
{
"name": "search",
- "description": "Search criteria for filtering alerts. This will search on title, description, service, monitoring_tool.",
+ "description": "Search query for title, description, service, or monitoring_tool.",
"type": {
"kind": "SCALAR",
"name": "String",
@@ -39317,7 +44270,7 @@
"args": [
{
"name": "search",
- "description": "Search criteria for filtering alerts. This will search on title, description, service, monitoring_tool.",
+ "description": "Search query for title, description, service, or monitoring_tool.",
"type": {
"kind": "SCALAR",
"name": "String",
@@ -39388,7 +44341,7 @@
},
{
"name": "search",
- "description": "Search criteria for filtering alerts. This will search on title, description, service, monitoring_tool.",
+ "description": "Search query for title, description, service, or monitoring_tool.",
"type": {
"kind": "SCALAR",
"name": "String",
@@ -39456,6 +44409,59 @@
"deprecationReason": null
},
{
+ "name": "alertManagementIntegrations",
+ "description": "Integrations which can receive alerts for 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": "AlertManagementIntegrationConnection",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "allowMergeOnSkippedPipeline",
"description": "If `only_allow_merge_if_pipeline_succeeds` is true, indicates if merge requests of the project can also be merged with skipped jobs",
"args": [
@@ -39547,7 +44553,7 @@
"description": "Find a board by its ID",
"type": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "BoardID",
"ofType": null
},
"defaultValue": null
@@ -39682,6 +44688,20 @@
"deprecationReason": null
},
{
+ "name": "codeCoverageSummary",
+ "description": "Code coverage summary associated with the project",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CodeCoverageSummary",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "complianceFrameworks",
"description": "Compliance frameworks associated with the project",
"args": [
@@ -39763,6 +44783,69 @@
"deprecationReason": null
},
{
+ "name": "containerRepositories",
+ "description": "Container repositories of the project",
+ "args": [
+ {
+ "name": "name",
+ "description": "Filter the container repositories by their name",
+ "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": "ContainerRepositoryConnection",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "createdAt",
"description": "Timestamp of the project creation",
"args": [
@@ -39910,6 +44993,33 @@
"deprecationReason": null
},
{
+ "name": "dastSiteValidation",
+ "description": "DAST Site Validation associated with the project",
+ "args": [
+ {
+ "name": "targetUrl",
+ "description": "target URL of the DAST Site Validation",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "DastSiteValidation",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "description",
"description": "Short description of the project",
"args": [
@@ -40289,7 +45399,7 @@
},
{
"name": "assigneeId",
- "description": "ID of a user assigned to the issues, \"none\" and \"any\" values supported",
+ "description": "ID of a user assigned to the issues, \"none\" and \"any\" values are supported",
"type": {
"kind": "SCALAR",
"name": "String",
@@ -40418,6 +45528,16 @@
}
},
"defaultValue": null
+ },
+ {
+ "name": "epicId",
+ "description": "ID of an epic associated with the issues, \"none\" and \"any\" values are supported",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
}
],
"type": {
@@ -40528,7 +45648,7 @@
},
{
"name": "assigneeId",
- "description": "ID of a user assigned to the issues, \"none\" and \"any\" values supported",
+ "description": "ID of a user assigned to the issues, \"none\" and \"any\" values are supported",
"type": {
"kind": "SCALAR",
"name": "String",
@@ -40733,7 +45853,7 @@
},
{
"name": "assigneeId",
- "description": "ID of a user assigned to the issues, \"none\" and \"any\" values supported",
+ "description": "ID of a user assigned to the issues, \"none\" and \"any\" values are supported",
"type": {
"kind": "SCALAR",
"name": "String",
@@ -40864,6 +45984,16 @@
"defaultValue": null
},
{
+ "name": "epicId",
+ "description": "ID of an epic associated with the issues, \"none\" and \"any\" values are supported",
+ "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": {
@@ -42055,6 +47185,16 @@
"description": "Releases of the project",
"args": [
{
+ "name": "sort",
+ "description": "Sort releases by this criteria",
+ "type": {
+ "kind": "ENUM",
+ "name": "ReleaseSort",
+ "ofType": null
+ },
+ "defaultValue": "RELEASED_AT_DESC"
+ },
+ {
"name": "after",
"description": "Returns the elements in the list that come after the specified cursor.",
"type": {
@@ -42445,7 +47585,7 @@
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "GitlabErrorTrackingDetailedErrorID",
"ofType": null
}
},
@@ -42604,7 +47744,7 @@
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "SnippetID",
"ofType": null
}
}
@@ -44448,54 +49588,13 @@
"possibleTypes": null
},
{
- "kind": "ENUM",
- "name": "ProjectSettingEnum",
- "description": "Names of compliance frameworks that can be assigned to a Project",
- "fields": null,
- "inputFields": null,
- "interfaces": null,
- "enumValues": [
- {
- "name": "gdpr",
- "description": null,
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "hipaa",
- "description": null,
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "pci_dss",
- "description": null,
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "soc_2",
- "description": null,
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "sox",
- "description": null,
- "isDeprecated": false,
- "deprecationReason": null
- }
- ],
- "possibleTypes": null
- },
- {
"kind": "OBJECT",
"name": "ProjectStatistics",
"description": null,
"fields": [
{
"name": "buildArtifactsSize",
- "description": "Build artifacts size of the project",
+ "description": "Build artifacts size of the project in bytes",
"args": [
],
@@ -44531,7 +49630,7 @@
},
{
"name": "lfsObjectsSize",
- "description": "Large File Storage (LFS) object size of the project",
+ "description": "Large File Storage (LFS) object size of the project in bytes",
"args": [
],
@@ -44549,7 +49648,7 @@
},
{
"name": "packagesSize",
- "description": "Packages size of the project",
+ "description": "Packages size of the project in bytes",
"args": [
],
@@ -44567,7 +49666,7 @@
},
{
"name": "repositorySize",
- "description": "Repository size of the project",
+ "description": "Repository size of the project in bytes",
"args": [
],
@@ -44585,7 +49684,7 @@
},
{
"name": "snippetsSize",
- "description": "Snippets size of the project",
+ "description": "Snippets size of the project in bytes",
"args": [
],
@@ -44599,7 +49698,7 @@
},
{
"name": "storageSize",
- "description": "Storage size of the project",
+ "description": "Storage size of the project in bytes",
"args": [
],
@@ -44616,8 +49715,22 @@
"deprecationReason": null
},
{
+ "name": "uploadsSize",
+ "description": "Uploads size of the project in bytes",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Float",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "wikiSize",
- "description": "Wiki size of the project",
+ "description": "Wiki size of the project in bytes",
"args": [
],
@@ -44687,11 +49800,542 @@
"possibleTypes": null
},
{
+ "kind": "INPUT_OBJECT",
+ "name": "PrometheusIntegrationCreateInput",
+ "description": "Autogenerated input type of PrometheusIntegrationCreate",
+ "fields": null,
+ "inputFields": [
+ {
+ "name": "projectPath",
+ "description": "The project to create the integration in",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "active",
+ "description": "Whether the integration is receiving alerts",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "apiUrl",
+ "description": "Endpoint at which prometheus can be queried",
+ "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": "PrometheusIntegrationCreatePayload",
+ "description": "Autogenerated return type of PrometheusIntegrationCreate",
+ "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": "integration",
+ "description": "The newly created integration",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "AlertManagementPrometheusIntegration",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "INPUT_OBJECT",
+ "name": "PrometheusIntegrationResetTokenInput",
+ "description": "Autogenerated input type of PrometheusIntegrationResetToken",
+ "fields": null,
+ "inputFields": [
+ {
+ "name": "id",
+ "description": "The id of the integration to mutate",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "PrometheusServiceID",
+ "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": "PrometheusIntegrationResetTokenPayload",
+ "description": "Autogenerated return type of PrometheusIntegrationResetToken",
+ "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": "integration",
+ "description": "The newly created integration",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "AlertManagementPrometheusIntegration",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "INPUT_OBJECT",
+ "name": "PrometheusIntegrationUpdateInput",
+ "description": "Autogenerated input type of PrometheusIntegrationUpdate",
+ "fields": null,
+ "inputFields": [
+ {
+ "name": "id",
+ "description": "The id of the integration to mutate",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "PrometheusServiceID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "active",
+ "description": "Whether the integration is receiving alerts",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "apiUrl",
+ "description": "Endpoint at which prometheus can be queried",
+ "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": "PrometheusIntegrationUpdatePayload",
+ "description": "Autogenerated return type of PrometheusIntegrationUpdate",
+ "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": "integration",
+ "description": "The newly created integration",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "AlertManagementPrometheusIntegration",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "SCALAR",
+ "name": "PrometheusServiceID",
+ "description": "Identifier of PrometheusService",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "INPUT_OBJECT",
+ "name": "PromoteToEpicInput",
+ "description": "Autogenerated input type of PromoteToEpic",
+ "fields": null,
+ "inputFields": [
+ {
+ "name": "projectPath",
+ "description": "The project the issue to mutate is in",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "iid",
+ "description": "The IID of the issue to mutate",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "groupPath",
+ "description": "The group the promoted epic will belong to",
+ "type": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "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": "PromoteToEpicPayload",
+ "description": "Autogenerated return type of PromoteToEpic",
+ "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": "epic",
+ "description": "The epic after issue promotion",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Epic",
+ "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": "issue",
+ "description": "The issue after mutation",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Issue",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
"kind": "OBJECT",
"name": "Query",
"description": null,
"fields": [
{
+ "name": "containerRepository",
+ "description": "Find a container repository",
+ "args": [
+ {
+ "name": "id",
+ "description": "The global ID of the container repository",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ContainerRepositoryID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "ContainerRepositoryDetails",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "currentUser",
"description": "Get information about current user",
"args": [
@@ -44724,6 +50368,59 @@
"deprecationReason": null
},
{
+ "name": "devopsAdoptionSegments",
+ "description": "Get configured DevOps adoption segments on the instance",
+ "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": "DevopsAdoptionSegmentConnection",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "echo",
"description": "Text to echo back",
"args": [
@@ -44837,6 +50534,26 @@
"defaultValue": null
},
{
+ "name": "recordedAfter",
+ "description": "Measurement recorded after this date",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Time",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "recordedBefore",
+ "description": "Measurement recorded before this date",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Time",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
"name": "after",
"description": "Returns the elements in the list that come after the specified cursor.",
"type": {
@@ -45199,6 +50916,67 @@
"deprecationReason": null
},
{
+ "name": "runnerSetup",
+ "description": "Get runner setup instructions",
+ "args": [
+ {
+ "name": "platform",
+ "description": "Platform to generate the instructions for",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "architecture",
+ "description": "Architecture to generate the instructions for",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "projectId",
+ "description": "Project to register the runner for",
+ "type": {
+ "kind": "SCALAR",
+ "name": "ProjectID",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "groupId",
+ "description": "Group to register the runner for",
+ "type": {
+ "kind": "SCALAR",
+ "name": "GroupID",
+ "ofType": null
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "RunnerSetup",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "snippets",
"description": "Find Snippets visible to the current user",
"args": [
@@ -45213,7 +50991,7 @@
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "SnippetID",
"ofType": null
}
}
@@ -45235,7 +51013,7 @@
"description": "The ID of an author",
"type": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "UserID",
"ofType": null
},
"defaultValue": null
@@ -45245,7 +51023,7 @@
"description": "The ID of a project",
"type": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "ProjectID",
"ofType": null
},
"defaultValue": null
@@ -45328,7 +51106,7 @@
"description": "ID of the User",
"type": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "UserID",
"ofType": null
},
"defaultValue": null
@@ -45403,6 +51181,16 @@
"defaultValue": "created_desc"
},
{
+ "name": "search",
+ "description": "Query to search users by name, username, or primary email.",
+ "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": {
@@ -46357,9 +52145,68 @@
"possibleTypes": null
},
{
+ "kind": "INPUT_OBJECT",
+ "name": "ReleaseAssetLinkInput",
+ "description": "Fields that are available when modifying a release asset link",
+ "fields": null,
+ "inputFields": [
+ {
+ "name": "name",
+ "description": "Name of the asset link",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "url",
+ "description": "URL of the asset link",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "directAssetPath",
+ "description": "Relative path for a direct asset link",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "linkType",
+ "description": "The type of the asset link",
+ "type": {
+ "kind": "ENUM",
+ "name": "ReleaseAssetLinkType",
+ "ofType": null
+ },
+ "defaultValue": "OTHER"
+ }
+ ],
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
"kind": "ENUM",
"name": "ReleaseAssetLinkType",
- "description": "Type of the link: `other`, `runbook`, `image`, `package`; defaults to `other`",
+ "description": "Type of the link: `other`, `runbook`, `image`, `package`",
"fields": null,
"inputFields": null,
"interfaces": null,
@@ -46525,6 +52372,35 @@
"possibleTypes": null
},
{
+ "kind": "INPUT_OBJECT",
+ "name": "ReleaseAssetsInput",
+ "description": "Fields that are available when modifying release assets",
+ "fields": null,
+ "inputFields": [
+ {
+ "name": "links",
+ "description": "A list of asset links to associate to the release",
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "ReleaseAssetLinkInput",
+ "ofType": null
+ }
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
"kind": "OBJECT",
"name": "ReleaseConnection",
"description": "The connection type for Release.",
@@ -46610,6 +52486,190 @@
"possibleTypes": null
},
{
+ "kind": "INPUT_OBJECT",
+ "name": "ReleaseCreateInput",
+ "description": "Autogenerated input type of ReleaseCreate",
+ "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 to associate with the release",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "ref",
+ "description": "The commit SHA or branch name to use if creating a new tag",
+ "type": {
+ "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 (also known as \"release notes\") of the release",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "releasedAt",
+ "description": "The date when the release will be/was ready. Defaults to the current time.",
+ "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": "assets",
+ "description": "Assets associated to the release",
+ "type": {
+ "kind": "INPUT_OBJECT",
+ "name": "ReleaseAssetsInput",
+ "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": "ReleaseCreatePayload",
+ "description": "Autogenerated return type of ReleaseCreate",
+ "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": "OBJECT",
"name": "ReleaseEdge",
"description": "An edge in a connection.",
@@ -46845,6 +52905,34 @@
"description": null,
"fields": [
{
+ "name": "closedIssuesUrl",
+ "description": "HTTP URL of the issues page, filtered by this release and `state=closed`",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "closedMergeRequestsUrl",
+ "description": "HTTP URL of the merge request page , filtered by this release and `state=closed`",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "editUrl",
"description": "HTTP URL of the release's edit page",
"args": [
@@ -46859,8 +52947,22 @@
"deprecationReason": null
},
{
- "name": "issuesUrl",
- "description": "HTTP URL of the issues page filtered by this release",
+ "name": "mergedMergeRequestsUrl",
+ "description": "HTTP URL of the merge request page , filtered by this release and `state=merged`",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "openedIssuesUrl",
+ "description": "HTTP URL of the issues page, filtered by this release and `state=open`",
"args": [
],
@@ -46873,8 +52975,8 @@
"deprecationReason": null
},
{
- "name": "mergeRequestsUrl",
- "description": "HTTP URL of the merge request page filtered by this release",
+ "name": "openedMergeRequestsUrl",
+ "description": "HTTP URL of the merge request page, filtered by this release and `state=open`",
"args": [
],
@@ -46909,6 +53011,41 @@
"possibleTypes": null
},
{
+ "kind": "ENUM",
+ "name": "ReleaseSort",
+ "description": "Values for sorting releases",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
+ {
+ "name": "CREATED_DESC",
+ "description": "Created at descending order",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "CREATED_ASC",
+ "description": "Created at ascending order",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "RELEASED_AT_DESC",
+ "description": "Released at by descending order",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "RELEASED_AT_ASC",
+ "description": "Released at by ascending order",
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "possibleTypes": null
+ },
+ {
"kind": "OBJECT",
"name": "ReleaseSource",
"description": "Represents the source code attached to a release in a particular format",
@@ -47266,6 +53403,122 @@
"possibleTypes": null
},
{
+ "kind": "INPUT_OBJECT",
+ "name": "RepositionImageDiffNoteInput",
+ "description": "Autogenerated input type of RepositionImageDiffNote",
+ "fields": null,
+ "inputFields": [
+ {
+ "name": "id",
+ "description": "The global id of the DiffNote to update",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "DiffNoteID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "position",
+ "description": "The position of this note on a diff",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "UpdateDiffImagePositionInput",
+ "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": "RepositionImageDiffNotePayload",
+ "description": "Autogenerated return type of RepositionImageDiffNote",
+ "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": "note",
+ "description": "The note after mutation",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Note",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
"kind": "OBJECT",
"name": "Repository",
"description": null,
@@ -48274,6 +54527,24 @@
"deprecationReason": null
},
{
+ "name": "uploadsSize",
+ "description": "The uploads size in bytes",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Float",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "wikiSize",
"description": "The wiki size in bytes",
"args": [
@@ -48820,6 +55091,51 @@
},
{
"kind": "OBJECT",
+ "name": "RunnerSetup",
+ "description": null,
+ "fields": [
+ {
+ "name": "installInstructions",
+ "description": "Instructions for installing the runner on the specified architecture",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "registerInstructions",
+ "description": "Instructions for registering the runner",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
"name": "SastCiConfiguration",
"description": "Represents a CI configuration of SAST",
"fields": [
@@ -50231,6 +56547,59 @@
},
{
"kind": "ENUM",
+ "name": "SecurityReportTypeEnum",
+ "description": null,
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
+ {
+ "name": "SAST",
+ "description": "SAST scan report",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "DAST",
+ "description": "DAST scan report",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "DEPENDENCY_SCANNING",
+ "description": "DEPENDENCY SCANNING scan report",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "CONTAINER_SCANNING",
+ "description": "CONTAINER SCANNING scan report",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "SECRET_DETECTION",
+ "description": "SECRET DETECTION scan report",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "COVERAGE_FUZZING",
+ "description": "COVERAGE FUZZING scan report",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "API_FUZZING",
+ "description": "API FUZZING scan report",
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "possibleTypes": null
+ },
+ {
+ "kind": "ENUM",
"name": "SecurityScannerType",
"description": "The type of the security scanner",
"fields": null,
@@ -51186,7 +57555,7 @@
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "GitlabErrorTrackingDetailedErrorID",
"ofType": null
}
},
@@ -51213,7 +57582,7 @@
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "GitlabErrorTrackingDetailedErrorID",
"ofType": null
}
},
@@ -52036,6 +58405,12 @@
"deprecationReason": null
},
{
+ "name": "GITHUB_SERVICE",
+ "description": null,
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "HANGOUTS_CHAT_SERVICE",
"description": null,
"isDeprecated": false,
@@ -52054,6 +58429,12 @@
"deprecationReason": null
},
{
+ "name": "JENKINS_SERVICE",
+ "description": null,
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "JIRA_SERVICE",
"description": null,
"isDeprecated": false,
@@ -52148,18 +58529,6 @@
"description": null,
"isDeprecated": false,
"deprecationReason": null
- },
- {
- "name": "GITHUB_SERVICE",
- "description": null,
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "JENKINS_SERVICE",
- "description": null,
- "isDeprecated": false,
- "deprecationReason": null
}
],
"possibleTypes": null
@@ -52414,7 +58783,7 @@
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "SnippetID",
"ofType": null
}
},
@@ -53281,6 +59650,16 @@
"possibleTypes": null
},
{
+ "kind": "SCALAR",
+ "name": "SnippetID",
+ "description": "Identifier of Snippet",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
"kind": "OBJECT",
"name": "SnippetPermissions",
"description": null,
@@ -53402,6 +59781,251 @@
"possibleTypes": null
},
{
+ "kind": "OBJECT",
+ "name": "SnippetRepositoryRegistry",
+ "description": "Represents the Geo sync and verification state of a snippet repository",
+ "fields": [
+ {
+ "name": "createdAt",
+ "description": "Timestamp when the SnippetRepositoryRegistry was created",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Time",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "id",
+ "description": "ID of the SnippetRepositoryRegistry",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "lastSyncFailure",
+ "description": "Error message during sync of the SnippetRepositoryRegistry",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "lastSyncedAt",
+ "description": "Timestamp of the most recent successful sync of the SnippetRepositoryRegistry",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Time",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "retryAt",
+ "description": "Timestamp after which the SnippetRepositoryRegistry should be resynced",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Time",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "retryCount",
+ "description": "Number of consecutive failed sync attempts of the SnippetRepositoryRegistry",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "snippetRepositoryId",
+ "description": "ID of the Snippet Repository",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "state",
+ "description": "Sync state of the SnippetRepositoryRegistry",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "ENUM",
+ "name": "RegistryState",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "SnippetRepositoryRegistryConnection",
+ "description": "The connection type for SnippetRepositoryRegistry.",
+ "fields": [
+ {
+ "name": "edges",
+ "description": "A list of edges.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "SnippetRepositoryRegistryEdge",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "nodes",
+ "description": "A list of nodes.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "SnippetRepositoryRegistry",
+ "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": "SnippetRepositoryRegistryEdge",
+ "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": "SnippetRepositoryRegistry",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
"kind": "ENUM",
"name": "Sort",
"description": "Common sort values",
@@ -53909,6 +60533,20 @@
"deprecationReason": null
},
{
+ "name": "latestVersion",
+ "description": "The latest version of the Terraform state",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "TerraformStateVersion",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "lockedAt",
"description": "Timestamp the Terraform state was locked",
"args": [
@@ -53986,6 +60624,24 @@
"description": "The connection type for TerraformState.",
"fields": [
{
+ "name": "count",
+ "description": "Total count of collection",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "edges",
"description": "A list of edges.",
"args": [
@@ -54048,6 +60704,94 @@
"possibleTypes": null
},
{
+ "kind": "INPUT_OBJECT",
+ "name": "TerraformStateDeleteInput",
+ "description": "Autogenerated input type of TerraformStateDelete",
+ "fields": null,
+ "inputFields": [
+ {
+ "name": "id",
+ "description": "Global ID of the Terraform state",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "TerraformStateID",
+ "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": "TerraformStateDeletePayload",
+ "description": "Autogenerated return type of TerraformStateDelete",
+ "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": "TerraformStateEdge",
"description": "An edge in a connection.",
@@ -54093,6 +60837,287 @@
"possibleTypes": null
},
{
+ "kind": "SCALAR",
+ "name": "TerraformStateID",
+ "description": "Identifier of Terraform::State",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "INPUT_OBJECT",
+ "name": "TerraformStateLockInput",
+ "description": "Autogenerated input type of TerraformStateLock",
+ "fields": null,
+ "inputFields": [
+ {
+ "name": "id",
+ "description": "Global ID of the Terraform state",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "TerraformStateID",
+ "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": "TerraformStateLockPayload",
+ "description": "Autogenerated return type of TerraformStateLock",
+ "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": "TerraformStateUnlockInput",
+ "description": "Autogenerated input type of TerraformStateUnlock",
+ "fields": null,
+ "inputFields": [
+ {
+ "name": "id",
+ "description": "Global ID of the Terraform state",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "TerraformStateID",
+ "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": "TerraformStateUnlockPayload",
+ "description": "Autogenerated return type of TerraformStateUnlock",
+ "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": "TerraformStateVersion",
+ "description": null,
+ "fields": [
+ {
+ "name": "createdAt",
+ "description": "Timestamp the version was created",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Time",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "createdByUser",
+ "description": "The user that created this version",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "User",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "id",
+ "description": "ID of the Terraform state version",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "job",
+ "description": "The job that created this version",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CiJob",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "updatedAt",
+ "description": "Timestamp the version was updated",
+ "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": "OBJECT",
"name": "TerraformStateVersionRegistry",
"description": "Represents the Geo sync and verification state of a terraform state version",
@@ -54564,9 +61589,113 @@
"possibleTypes": null
},
{
- "kind": "INTERFACE",
- "name": "TimeboxBurnupTimeSeriesInterface",
- "description": null,
+ "kind": "OBJECT",
+ "name": "TimeReportStats",
+ "description": "Represents the time report stats for timeboxes",
+ "fields": [
+ {
+ "name": "complete",
+ "description": "Completed issues metrics",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "TimeboxMetrics",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "incomplete",
+ "description": "Incomplete issues metrics",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "TimeboxMetrics",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "total",
+ "description": "Total issues metrics",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "TimeboxMetrics",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "TimeboxMetrics",
+ "description": "Represents measured stats metrics for timeboxes",
+ "fields": [
+ {
+ "name": "count",
+ "description": "The count metric",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "weight",
+ "description": "The weight metric",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "TimeboxReport",
+ "description": "Represents a historically accurate report about the timebox",
"fields": [
{
"name": "burnupTimeSeries",
@@ -54589,6 +61718,47 @@
},
"isDeprecated": false,
"deprecationReason": null
+ },
+ {
+ "name": "stats",
+ "description": "Represents the time report stats for the timebox",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "TimeReportStats",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "INTERFACE",
+ "name": "TimeboxReportInterface",
+ "description": null,
+ "fields": [
+ {
+ "name": "report",
+ "description": "Historically accurate report about the timebox",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "TimeboxReport",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
}
],
"inputFields": null,
@@ -54652,24 +61822,6 @@
"description": null,
"fields": [
{
- "name": "date",
- "description": "Timestamp of when the time tracked was spent at. Deprecated in 12.10: Use `spentAt`",
- "args": [
-
- ],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "Time",
- "ofType": null
- }
- },
- "isDeprecated": true,
- "deprecationReason": "Use `spentAt`. Deprecated in 12.10"
- },
- {
"name": "issue",
"description": "The issue that logged time was added to",
"args": [
@@ -55155,6 +62307,108 @@
"possibleTypes": null
},
{
+ "kind": "INPUT_OBJECT",
+ "name": "TodoCreateInput",
+ "description": "Autogenerated input type of TodoCreate",
+ "fields": null,
+ "inputFields": [
+ {
+ "name": "targetId",
+ "description": "The global ID of the to-do item's parent. Issues, merge requests, designs and epics are supported",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "TodoableID",
+ "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": "TodoCreatePayload",
+ "description": "Autogenerated return type of TodoCreate",
+ "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": "todo",
+ "description": "The to-do created",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Todo",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
"kind": "OBJECT",
"name": "TodoEdge",
"description": "An edge in a connection.",
@@ -55481,7 +62735,7 @@
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "TodoID",
"ofType": null
}
}
@@ -55640,6 +62894,16 @@
"possibleTypes": null
},
{
+ "kind": "SCALAR",
+ "name": "TodoableID",
+ "description": "Identifier of Todoable",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
"kind": "INPUT_OBJECT",
"name": "TodosMarkAllDoneInput",
"description": "Autogenerated input type of TodosMarkAllDone",
@@ -55748,7 +63012,7 @@
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "TodoID",
"ofType": null
}
}
@@ -56828,7 +64092,7 @@
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "ListID",
"ofType": null
}
},
@@ -57735,7 +64999,7 @@
"description": "The ID of the parent epic. NULL when removing the association",
"type": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "EpicID",
"ofType": null
},
"defaultValue": null
@@ -58270,7 +65534,7 @@
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "SnippetID",
"ofType": null
}
},
@@ -58576,7 +65840,7 @@
"description": "The global ID of the project the authored merge requests should be in. Incompatible with projectPath.",
"type": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "ProjectID",
"ofType": null
},
"defaultValue": null
@@ -58781,7 +66045,7 @@
"description": "The global ID of the project the authored merge requests should be in. Incompatible with projectPath.",
"type": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "ProjectID",
"ofType": null
},
"defaultValue": null
@@ -58874,6 +66138,20 @@
"deprecationReason": null
},
{
+ "name": "groupCount",
+ "description": "Group count for the user. Available only when feature flag `user_group_counts` is enabled",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "groupMemberships",
"description": "Group memberships of the user",
"args": [
@@ -59030,7 +66308,7 @@
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "SnippetID",
"ofType": null
}
}
@@ -59634,6 +66912,24 @@
"description": null,
"fields": [
{
+ "name": "availability",
+ "description": "User availability status",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "AvailabilityEnum",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "emoji",
"description": "String representation of emoji",
"args": [
@@ -59744,7 +67040,7 @@
{
"kind": "OBJECT",
"name": "VulnerabilitiesCountByDay",
- "description": "Represents the count of vulnerabilities by severity on a particular day",
+ "description": "Represents the count of vulnerabilities by severity on a particular day. This data is retained for 365 days",
"fields": [
{
"name": "critical",
@@ -59901,7 +67197,7 @@
{
"kind": "OBJECT",
"name": "VulnerabilitiesCountByDayAndSeverity",
- "description": "Represents the number of vulnerabilities for a particular severity on a particular day",
+ "description": "Represents the number of vulnerabilities for a particular severity on a particular day. This data is retained for 365 days",
"fields": [
{
"name": "count",
diff --git a/doc/api/graphql/reference/index.md b/doc/api/graphql/reference/index.md
index dca00fc1286..c46f12bcdcd 100644
--- a/doc/api/graphql/reference/index.md
+++ b/doc/api/graphql/reference/index.md
@@ -15,6 +15,8 @@ fields and methods on a model are available via GraphQL.
CAUTION: **Caution:**
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
@@ -72,10 +74,12 @@ Describes an alert from the project's Alert Management.
| Field | Type | Description |
| ----- | ---- | ----------- |
+| `assignees` | UserConnection | Assignees of the alert |
| `createdAt` | Time | Timestamp the alert was created |
| `description` | String | Description of the alert |
| `details` | JSON | Alert details |
| `detailsUrl` | String! | The URL of the alert detail page |
+| `discussions` | DiscussionConnection! | All discussions on this noteable |
| `endedAt` | Time | Timestamp the alert ended |
| `environment` | Environment | Environment for the alert |
| `eventCount` | Int | Number of events of this alert |
@@ -84,6 +88,7 @@ Describes an alert from the project's Alert Management.
| `issueIid` | ID | Internal ID of the GitLab issue attached to the alert |
| `metricsDashboardUrl` | String | URL for metrics embed for the alert |
| `monitoringTool` | String | Monitoring tool the alert came from |
+| `notes` | NoteConnection! | All notes on this noteable |
| `prometheusAlert` | PrometheusAlert | The alert condition for Prometheus |
| `runbook` | String | Runbook for the alert as defined in alert details |
| `service` | String | Service the alert came from |
@@ -91,6 +96,7 @@ Describes an alert from the project's Alert Management.
| `startedAt` | Time | Timestamp the alert was raised |
| `status` | AlertManagementStatus | Status of the alert |
| `title` | String | Title of the alert |
+| `todos` | TodoConnection | Todos of the current user for the alert |
| `updatedAt` | Time | Timestamp the alert was last updated |
### AlertManagementAlertStatusCountsType
@@ -106,6 +112,34 @@ Represents total number of alerts for the represented categories.
| `resolved` | Int | Number of alerts with status RESOLVED for the project |
| `triggered` | Int | Number of alerts with status TRIGGERED for the project |
+### AlertManagementHttpIntegration
+
+An endpoint and credentials used to accept alerts for a project.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `active` | Boolean | Whether the endpoint is currently accepting alerts |
+| `apiUrl` | String | URL at which Prometheus metrics can be queried to populate the metrics dashboard |
+| `id` | ID! | ID of the integration |
+| `name` | String | Name of the integration |
+| `token` | String | Token used to authenticate alert notification requests |
+| `type` | AlertManagementIntegrationType! | Type of integration |
+| `url` | String | Endpoint which accepts alert notifications |
+
+### AlertManagementPrometheusIntegration
+
+An endpoint and credentials used to accept Prometheus alerts for a project.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `active` | Boolean | Whether the endpoint is currently accepting alerts |
+| `apiUrl` | String | URL at which Prometheus metrics can be queried to populate the metrics dashboard |
+| `id` | ID! | ID of the integration |
+| `name` | String | Name of the integration |
+| `token` | String | Token used to authenticate alert notification requests |
+| `type` | AlertManagementIntegrationType! | Type of integration |
+| `url` | String | Endpoint which accepts alert notifications |
+
### AlertSetAssigneesPayload
Autogenerated return type of AlertSetAssignees.
@@ -203,9 +237,12 @@ 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. |
| `id` | ID! | ID (global ID) of the board |
+| `labels` | LabelConnection | Labels of the board |
+| `lists` | BoardListConnection | Lists of the board |
| `milestone` | Milestone | The board milestone. |
| `name` | String | Name of the board |
| `weight` | Int | Weight of the board. |
@@ -217,12 +254,15 @@ Represents an epic on an issue board.
| Field | Type | Description |
| ----- | ---- | ----------- |
| `author` | User! | Author of the epic |
+| `children` | EpicConnection | Children (sub-epics) of the epic |
| `closedAt` | Time | Timestamp of when the epic was closed |
| `confidential` | Boolean | Indicates if the epic is confidential |
| `createdAt` | Time | Timestamp of when the epic was created |
+| `currentUserTodos` | TodoConnection! | Todos for the current user |
| `descendantCounts` | EpicDescendantCount | Number of open and closed descendant epics and issues |
| `descendantWeightSum` | EpicDescendantWeights | Total weight of open and closed issues in the epic and its descendants |
| `description` | String | Description of the epic |
+| `discussions` | DiscussionConnection! | All discussions on this noteable |
| `downvotes` | Int! | Number of downvotes the epic has received |
| `dueDate` | Time | Due date of the epic |
| `dueDateFixed` | Time | Fixed due date of the epic |
@@ -235,7 +275,11 @@ Represents an epic on an issue board.
| `healthStatus` | EpicHealthStatus | Current health status of the epic |
| `id` | ID! | ID of the epic |
| `iid` | ID! | Internal ID of the epic |
+| `issues` | EpicIssueConnection | A list of issues associated with the epic |
+| `labels` | LabelConnection | Labels assigned to the epic |
+| `notes` | NoteConnection! | All notes on this noteable |
| `parent` | Epic | Parent epic of the epic |
+| `participants` | UserConnection | List of participants for the epic |
| `reference` | String! | Internal reference of the epic. Returned in shortened format by default |
| `relationPath` | String | URI path of the epic-issue relationship |
| `relativePosition` | Int | The relative position of the epic in the epic tree |
@@ -248,6 +292,8 @@ Represents an epic on an issue board.
| `title` | String | Title of the epic |
| `updatedAt` | Time | Timestamp of when the epic was updated |
| `upvotes` | Int! | Number of upvotes the epic has received |
+| `userDiscussionsCount` | Int! | Number of user discussions in the epic |
+| `userNotesCount` | Int! | Number of user notes of the epic |
| `userPermissions` | EpicPermissions! | Permissions for the current user on the resource |
| `userPreferences` | BoardEpicUserPreferences | User preferences for the epic on the issue board |
| `webPath` | String! | Web path of the epic |
@@ -270,6 +316,7 @@ Represents a list for an issue board.
| `assignee` | User | Assignee in the list |
| `collapsed` | Boolean | Indicates if list is collapsed for this user |
| `id` | ID! | ID (global ID) of the list |
+| `issues` | IssueConnection | Board issues |
| `issuesCount` | Int | Count of issues in the list |
| `label` | Label | Label of the list |
| `limitMetric` | ListLimitMetric | The current limit metric for the list |
@@ -325,6 +372,7 @@ Represents the total number of issues and their weights for a particular day.
| Field | Type | Description |
| ----- | ---- | ----------- |
| `detailedStatus` | DetailedStatus | Detailed status of the group |
+| `jobs` | CiJobConnection | Jobs in group |
| `name` | String | Name of the job group |
| `size` | Int | Size of the group |
@@ -334,6 +382,8 @@ Represents the total number of issues and their weights for a particular day.
| ----- | ---- | ----------- |
| `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 |
| `scheduledAt` | Time | Schedule for the build |
### CiStage
@@ -341,6 +391,7 @@ Represents the total number of issues and their weights for a particular day.
| Field | Type | Description |
| ----- | ---- | ----------- |
| `detailedStatus` | DetailedStatus | Detailed status of the stage |
+| `groups` | CiGroupConnection | Group of jobs for the stage |
| `name` | String | Name of the stage |
### ClusterAgent
@@ -351,6 +402,7 @@ Represents the total number of issues and their weights for a particular day.
| `id` | ID! | ID of the cluster agent |
| `name` | String | Name of the cluster agent |
| `project` | Project | The project this cluster agent is associated with |
+| `tokens` | ClusterAgentTokenConnection | Tokens associated with the cluster agent |
| `updatedAt` | Time | Timestamp the cluster agent was updated |
### ClusterAgentDeletePayload
@@ -390,6 +442,27 @@ Autogenerated return type of ClusterAgentTokenDelete.
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
+### CodeCoverageActivity
+
+Represents the code coverage activity for a group.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `averageCoverage` | Float | Average percentage of the different code coverage results available for the group. |
+| `coverageCount` | Int | Number of different code coverage results available for the group. |
+| `date` | Date! | Date when the code coverage was created. |
+| `projectCount` | Int | Number of projects with code coverage results for the group. |
+
+### CodeCoverageSummary
+
+Represents the code coverage summary for a project.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `averageCoverage` | Float | Average percentage of the different code coverage results available for the project. |
+| `coverageCount` | Int | Number of different code coverage results available. |
+| `lastUpdatedOn` | Date | Latest date when the code coverage was created for the project. |
+
### Commit
| Field | Type | Description |
@@ -401,8 +474,8 @@ Autogenerated return type of ClusterAgentTokenDelete.
| `description` | String | Description of the commit message |
| `descriptionHtml` | String | The GitLab Flavored Markdown rendering of `description` |
| `id` | ID! | ID (global ID) of the commit |
-| `latestPipeline` **{warning-solid}** | Pipeline | **Deprecated:** Use `pipelines`. Deprecated in 12.5 |
| `message` | String | Raw commit message |
+| `pipelines` | PipelineConnection | Pipelines of the commit ordered latest first |
| `sha` | String! | SHA1 ID of the commit |
| `signatureHtml` | String | Rendered HTML of the commit signature |
| `title` | String | Title of the commit message |
@@ -426,7 +499,7 @@ Represents a ComplianceFramework associated with a Project.
| Field | Type | Description |
| ----- | ---- | ----------- |
-| `name` | ProjectSettingEnum! | Name of the compliance framework |
+| `name` | String! | Name of the compliance framework |
### ConfigureSastPayload
@@ -455,6 +528,59 @@ A tag expiration policy designed to keep only the images that matter most.
| `olderThan` | ContainerExpirationPolicyOlderThanEnum | Tags older that this will expire |
| `updatedAt` | Time! | Timestamp of when the container expiration policy was updated |
+### ContainerRepository
+
+A container repository.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `canDelete` | Boolean! | Can the current user delete the container repository. |
+| `createdAt` | Time! | Timestamp when the container repository was created. |
+| `expirationPolicyCleanupStatus` | ContainerRepositoryCleanupStatus | The tags cleanup status for the container repository. |
+| `expirationPolicyStartedAt` | Time | Timestamp when the cleanup done by the expiration policy was started on the container repository. |
+| `id` | ID! | ID of the container repository. |
+| `location` | String! | URL of the container repository. |
+| `name` | String! | Name of the container repository. |
+| `path` | String! | Path of the container repository. |
+| `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. |
+
+### ContainerRepositoryDetails
+
+Details of a container repository.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `canDelete` | Boolean! | Can the current user delete the container repository. |
+| `createdAt` | Time! | Timestamp when the container repository was created. |
+| `expirationPolicyCleanupStatus` | ContainerRepositoryCleanupStatus | The tags cleanup status for the container repository. |
+| `expirationPolicyStartedAt` | Time | Timestamp when the cleanup done by the expiration policy was started on the container repository. |
+| `id` | ID! | ID of the container repository. |
+| `location` | String! | URL of the container repository. |
+| `name` | String! | Name of the container repository. |
+| `path` | String! | Path of the container repository. |
+| `status` | ContainerRepositoryStatus | Status of the container repository. |
+| `tags` | ContainerRepositoryTagConnection | Tags of the container repository |
+| `tagsCount` | Int! | Number of tags associated with this image. |
+| `updatedAt` | Time! | Timestamp when the container repository was updated. |
+
+### ContainerRepositoryTag
+
+A tag from a container repository.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `canDelete` | Boolean! | Can the current user delete this tag. |
+| `createdAt` | Time! | Timestamp when the tag was created. |
+| `digest` | String! | Digest of the tag. |
+| `location` | String! | URL of the tag. |
+| `name` | String! | Name of the tag. |
+| `path` | String! | Path of the tag. |
+| `revision` | String! | Revision of the tag. |
+| `shortRevision` | String! | Short revision of the tag. |
+| `totalSize` | Int! | The size of the tag. |
+
### CreateAlertIssuePayload
Autogenerated return type of CreateAlertIssue.
@@ -507,6 +633,16 @@ Autogenerated return type of CreateClusterAgent.
| `clusterAgent` | ClusterAgent | Cluster agent created after mutation |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
+### CreateCustomEmojiPayload
+
+Autogenerated return type of CreateCustomEmoji.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
+| `customEmoji` | CustomEmoji | The new custom emoji |
+| `errors` | String! => Array | Errors encountered during execution of the mutation. |
+
### CreateDiffNotePayload
Autogenerated return type of CreateDiffNote.
@@ -598,6 +734,17 @@ Autogenerated return type of CreateTestCase.
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
| `testCase` | Issue | The test case created |
+### CustomEmoji
+
+A custom emoji uploaded by user.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `external` | Boolean! | Whether the emoji is an external link |
+| `id` | CustomEmojiID! | The ID of the emoji |
+| `name` | String! | The name of the emoji |
+| `url` | String! | The link to file of the emoji |
+
### DastOnDemandScanCreatePayload
Autogenerated return type of DastOnDemandScanCreate.
@@ -615,8 +762,8 @@ Represents a DAST scanner profile.
| Field | Type | Description |
| ----- | ---- | ----------- |
| `editPath` | String | Relative web path to the edit page of a scanner profile |
-| `globalId` | DastScannerProfileID! | ID of the DAST scanner profile |
-| `id` **{warning-solid}** | ID! | **Deprecated:** Use `global_id`. Deprecated in 13.4 |
+| `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. |
| `showDebugMessages` | Boolean! | Indicates if debug messages should be included in DAST console output. True to include the debug messages. |
@@ -632,8 +779,8 @@ 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` | DastScannerProfileID | ID of the scanner profile. |
-| `id` **{warning-solid}** | ID | **Deprecated:** Use `global_id`. Deprecated in 13.4 |
+| `globalId` **{warning-solid}** | DastScannerProfileID | **Deprecated:** Use `id`. Deprecated in 13.6 |
+| `id` | DastScannerProfileID | ID of the scanner profile. |
### DastScannerProfileDeletePayload
@@ -716,6 +863,26 @@ Autogenerated return type of DastSiteTokenCreate.
| `status` | DastSiteProfileValidationStatusEnum | The current validation status of the target. |
| `token` | String | Token string. |
+### DastSiteValidation
+
+Represents a DAST Site Validation.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `id` | DastSiteValidationID! | ID of the site validation |
+| `status` | DastSiteProfileValidationStatusEnum! | The status of the validation |
+
+### DastSiteValidationCreatePayload
+
+Autogenerated return type of DastSiteValidationCreate.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
+| `errors` | String! => Array | Errors encountered during execution of the mutation. |
+| `id` | DastSiteValidationID | ID of the site validation. |
+| `status` | DastSiteProfileValidationStatusEnum | The current validation status. |
+
### DeleteAnnotationPayload
Autogenerated return type of DeleteAnnotation.
@@ -741,7 +908,9 @@ A single design.
| Field | Type | Description |
| ----- | ---- | ----------- |
+| `currentUserTodos` | TodoConnection! | Todos for the current user |
| `diffRefs` | DiffRefs! | The diff refs for this design |
+| `discussions` | DiscussionConnection! | All discussions on this noteable |
| `event` | DesignVersionEvent! | How this design was changed in the current version |
| `filename` | String! | The filename of the design |
| `fullPath` | String! | The full path to the design file |
@@ -749,8 +918,10 @@ A single design.
| `image` | String! | The URL of the full-sized image |
| `imageV432x230` | String | The URL of the design resized to fit within the bounds of 432x230. This will be `null` if the image has not been generated |
| `issue` | Issue! | The issue the design belongs to |
+| `notes` | NoteConnection! | All notes on this noteable |
| `notesCount` | Int! | The total count of user-created notes for this design |
| `project` | Project! | The project the design belongs to |
+| `versions` | DesignVersionConnection! | All versions related to this design ordered newest first |
### DesignAtVersion
@@ -780,9 +951,11 @@ A collection of designs.
| `copyState` | DesignCollectionCopyState | Copy state of the design collection |
| `design` | Design | Find a specific design |
| `designAtVersion` | DesignAtVersion | Find a design as of a version |
+| `designs` | DesignConnection! | All designs for the design collection |
| `issue` | Issue! | Issue associated with the design collection |
| `project` | Project! | Project associated with the design collection |
| `version` | DesignVersion | A specific version |
+| `versions` | DesignVersionConnection! | All versions related to all designs, ordered newest first |
### DesignManagement
@@ -829,6 +1002,8 @@ A specific version in which designs were added, modified or deleted.
| Field | Type | Description |
| ----- | ---- | ----------- |
| `designAtVersion` | DesignAtVersion! | A particular design as of this version, provided it is visible at this version |
+| `designs` | DesignConnection! | All designs that were changed in the version |
+| `designsAtVersion` | DesignAtVersionConnection! | All designs that are visible at this version, as of this version |
| `id` | ID! | ID of the design version |
| `sha` | ID! | SHA of the design version |
@@ -852,6 +1027,16 @@ 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. |
+### DestroyContainerRepositoryPayload
+
+Autogenerated return type of DestroyContainerRepository.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
+| `containerRepository` | ContainerRepository! | The container repository policy after scheduling the deletion. |
+| `errors` | String! => Array | Errors encountered during execution of the mutation. |
+
### DestroyNotePayload
Autogenerated return type of DestroyNote.
@@ -886,6 +1071,16 @@ Autogenerated return type of DestroySnippet.
| `text` | String | Text of the status |
| `tooltip` | String | Tooltip associated with the status |
+### DevopsAdoptionSegment
+
+Segment.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `groups` | GroupConnection | Assigned groups |
+| `id` | ID! | ID of the segment |
+| `name` | String! | Name of the segment |
+
### DiffPosition
| Field | Type | Description |
@@ -937,6 +1132,7 @@ Aggregated summary of changes.
| ----- | ---- | ----------- |
| `createdAt` | Time! | Timestamp of the discussion's creation |
| `id` | ID! | ID of this discussion |
+| `notes` | NoteConnection! | All notes in the discussion |
| `replyId` | ID! | ID used to reply to this discussion |
| `resolvable` | Boolean! | Indicates if the object can be resolved |
| `resolved` | Boolean! | Indicates if the object is resolved |
@@ -973,9 +1169,18 @@ Describes where code is deployed for a project.
| `latestOpenedMostSevereAlert` | AlertManagementAlert | The most severe open alert for the environment. If multiple alerts have equal severity, the most recent is returned |
| `metricsDashboard` | MetricsDashboard | Metrics dashboard schema for the environment |
| `name` | String! | Human-readable name of the environment |
-| `path` | String | The path to the environment. Will always return null if `expose_environment_path_in_alert_details` feature flag is disabled |
+| `path` | String! | The path to the environment. |
| `state` | String! | State of the environment, for example: available/stopped |
+### EnvironmentsCanaryIngressUpdatePayload
+
+Autogenerated return type of EnvironmentsCanaryIngressUpdate.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
+| `errors` | String! => Array | Errors encountered during execution of the mutation. |
+
### Epic
Represents an epic.
@@ -983,12 +1188,15 @@ Represents an epic.
| Field | Type | Description |
| ----- | ---- | ----------- |
| `author` | User! | Author of the epic |
+| `children` | EpicConnection | Children (sub-epics) of the epic |
| `closedAt` | Time | Timestamp of when the epic was closed |
| `confidential` | Boolean | Indicates if the epic is confidential |
| `createdAt` | Time | Timestamp of when the epic was created |
+| `currentUserTodos` | TodoConnection! | Todos for the current user |
| `descendantCounts` | EpicDescendantCount | Number of open and closed descendant epics and issues |
| `descendantWeightSum` | EpicDescendantWeights | Total weight of open and closed issues in the epic and its descendants |
| `description` | String | Description of the epic |
+| `discussions` | DiscussionConnection! | All discussions on this noteable |
| `downvotes` | Int! | Number of downvotes the epic has received |
| `dueDate` | Time | Due date of the epic |
| `dueDateFixed` | Time | Fixed due date of the epic |
@@ -1001,7 +1209,11 @@ Represents an epic.
| `healthStatus` | EpicHealthStatus | Current health status of the epic |
| `id` | ID! | ID of the epic |
| `iid` | ID! | Internal ID of the epic |
+| `issues` | EpicIssueConnection | A list of issues associated with the epic |
+| `labels` | LabelConnection | Labels assigned to the epic |
+| `notes` | NoteConnection! | All notes on this noteable |
| `parent` | Epic | Parent epic of the epic |
+| `participants` | UserConnection | List of participants for the epic |
| `reference` | String! | Internal reference of the epic. Returned in shortened format by default |
| `relationPath` | String | URI path of the epic-issue relationship |
| `relativePosition` | Int | The relative position of the epic in the epic tree |
@@ -1014,6 +1226,8 @@ Represents an epic.
| `title` | String | Title of the epic |
| `updatedAt` | Time | Timestamp of when the epic was updated |
| `upvotes` | Int! | Number of upvotes the epic has received |
+| `userDiscussionsCount` | Int! | Number of user discussions in the epic |
+| `userNotesCount` | Int! | Number of user notes of the epic |
| `userPermissions` | EpicPermissions! | Permissions for the current user on the resource |
| `webPath` | String! | Web path of the epic |
| `webUrl` | String! | Web URL of the epic |
@@ -1066,25 +1280,36 @@ Relationship between an epic and an issue.
| Field | Type | Description |
| ----- | ---- | ----------- |
| `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 |
| `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 |
+| `currentUserTodos` | TodoConnection! | Todos for the current user |
| `description` | String | Description of the issue |
| `descriptionHtml` | String | The GitLab Flavored Markdown rendering of `description` |
| `designCollection` | DesignCollection | Collection of design images associated with this issue |
-| `designs` **{warning-solid}** | DesignCollection | **Deprecated:** Use `designCollection`. Deprecated in 12.2 |
| `discussionLocked` | Boolean! | Indicates discussion is locked on the issue |
+| `discussions` | DiscussionConnection! | All discussions on this noteable |
| `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 |
| `epicIssueId` | ID! | ID of the epic-issue relation |
| `healthStatus` | HealthStatus | Current health status. Returns null if `save_issuable_health_status` feature flag is disabled. |
+| `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 |
+| `labels` | LabelConnection | Labels of 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 |
+| `notes` | NoteConnection! | All notes on this noteable |
+| `participants` | UserConnection | List of participants in the issue |
| `reference` | String! | Internal reference of the issue. Returned in shortened format by default |
| `relationPath` | String | URI path of the epic-issue relation |
| `relativePosition` | Int | Relative position of the issue (used for positioning in epic tree and issue boards) |
@@ -1100,7 +1325,9 @@ Relationship between an epic and an issue.
| `totalTimeSpent` | Int! | Total time reported as spent on the issue |
| `type` | IssueType | Type of the issue |
| `updatedAt` | Time! | Timestamp of when the issue was last updated |
+| `updatedBy` | User | User that last updated the issue |
| `upvotes` | Int! | Number of upvotes the issue has received |
+| `userDiscussionsCount` | Int! | Number of user discussions in the issue |
| `userNotesCount` | Int! | Number of user notes of the issue |
| `userPermissions` | IssuePermissions! | Permissions for the current user on the resource |
| `webPath` | String! | Web path of the issue |
@@ -1150,13 +1377,18 @@ Autogenerated return type of EpicTreeReorder.
| `filesMaxCapacity` | Int | The maximum concurrency of LFS/attachment backfill for this secondary node |
| `id` | ID! | ID of this GeoNode |
| `internalUrl` | String | The URL defined on the primary node that secondary nodes should use to contact it |
+| `mergeRequestDiffRegistries` | MergeRequestDiffRegistryConnection | Find merge request diff registries on this Geo node |
| `minimumReverificationInterval` | Int | The interval (in days) in which the repository verification is valid. Once expired, it will be reverified |
| `name` | String | The unique identifier for this Geo node |
+| `packageFileRegistries` | PackageFileRegistryConnection | Package file registries of the GeoNode |
| `primary` | Boolean | Indicates whether this Geo node is the primary |
| `reposMaxCapacity` | Int | The maximum concurrency of repository backfill for this secondary node |
+| `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 |
| `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 |
| `verificationMaxCapacity` | Int | The maximum concurrency of repository verification for this secondary node |
@@ -1168,7 +1400,6 @@ Autogenerated return type of EpicTreeReorder.
| `enabled` | Boolean! | Indicates whether Grafana integration is enabled |
| `grafanaUrl` | String! | URL for the Grafana host for the Grafana integration |
| `id` | ID! | Internal ID of the Grafana integration |
-| `token` **{warning-solid}** | String! | **Deprecated:** Plain text token has been masked for security reasons. Deprecated in 12.7 |
| `updatedAt` | Time! | Timestamp of the issue's last activity |
### Group
@@ -1180,38 +1411,56 @@ Autogenerated return type of EpicTreeReorder.
| `autoDevopsEnabled` | Boolean | Indicates whether Auto DevOps is enabled for all projects within this group |
| `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 |
| `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 |
| `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 |
+| `epics` | EpicConnection | Find epics |
| `epicsEnabled` | Boolean | Indicates if Epics are enabled for namespace |
| `fullName` | String! | Full name of the namespace |
| `fullPath` | ID! | Full path of the namespace |
+| `groupMembers` | GroupMemberConnection | A membership of a user within this group |
| `groupTimelogsEnabled` | Boolean | Indicates if Group timelogs are enabled for namespace |
| `id` | ID! | ID of the namespace |
| `isTemporaryStorageIncreaseEnabled` | Boolean! | Status of the temporary storage increase |
+| `issues` | IssueConnection | Issues for projects in this group |
+| `iterations` | IterationConnection | Find iterations |
| `label` | Label | A label available on this group |
+| `labels` | LabelConnection | Labels available on this group |
| `lfsEnabled` | Boolean | Indicates if Large File Storage (LFS) is enabled for namespace |
| `mentionsDisabled` | Boolean | Indicates if a group is disabled from getting mentioned |
+| `mergeRequests` | MergeRequestConnection | Merge requests for projects in this group |
+| `milestones` | MilestoneConnection | Milestones of the group |
| `name` | String! | Name of the namespace |
| `parent` | Group | Parent group |
| `path` | String! | Path of the namespace |
| `projectCreationLevel` | String | The permission level required to create projects in the group |
+| `projects` | ProjectConnection! | Projects within this namespace |
| `repositorySizeExcessProjectCount` | Int! | Number of projects in the root namespace where the repository size exceeds the limit |
| `requestAccessEnabled` | Boolean | Indicates if users can request access to namespace |
| `requireTwoFactorAuthentication` | Boolean | Indicates if all users in this group are required to set up two-factor authentication |
| `rootStorageStatistics` | RootStorageStatistics | Aggregated storage statistics of the namespace. Only available for root namespaces |
| `shareWithGroupLock` | Boolean | Indicates if sharing a project with another group within this group is prevented |
+| `stats` | GroupStats | Group statistics |
| `storageSizeLimit` | Float | Total storage limit of the root namespace in bytes |
| `subgroupCreationLevel` | String | The permission level required to create subgroups within the group |
| `temporaryStorageIncreaseEndsOn` | Time | Date until the temporary storage increase is active |
+| `timelogs` | TimelogConnection! | Time logged in issues by group members |
| `totalRepositorySize` | Float | Total repository size of all projects in the root namespace in bytes |
| `totalRepositorySizeExcess` | Float | Total excess repository size of all projects in the root namespace in bytes |
| `twoFactorGracePeriod` | Int | Time before two-factor authentication is enforced |
| `userPermissions` | GroupPermissions! | Permissions for the current user on the resource |
| `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 |
| `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 |
| `webUrl` | String! | Web URL of the group |
@@ -1237,11 +1486,70 @@ Represents a Group Membership.
| ----- | ---- | ----------- |
| `readGroup` | Boolean! | Indicates the user can perform `read_group` on this resource |
+### GroupReleaseStats
+
+Contains release-related statistics about a group.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `releasesCount` | Int | Total number of releases in all descendant projects of the group. Will always return `null` if `group_level_release_statistics` feature flag is disabled |
+| `releasesPercentage` | Int | Percentage of the group's descendant projects that have at least one release. Will always return `null` if `group_level_release_statistics` feature flag is disabled |
+
+### GroupStats
+
+Contains statistics about a group.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `releaseStats` | GroupReleaseStats | Statistics related to releases within the group |
+
+### HttpIntegrationCreatePayload
+
+Autogenerated return type of HttpIntegrationCreate.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
+| `errors` | String! => Array | Errors encountered during execution of the mutation. |
+| `integration` | AlertManagementHttpIntegration | The HTTP integration |
+
+### HttpIntegrationDestroyPayload
+
+Autogenerated return type of HttpIntegrationDestroy.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
+| `errors` | String! => Array | Errors encountered during execution of the mutation. |
+| `integration` | AlertManagementHttpIntegration | The HTTP integration |
+
+### HttpIntegrationResetTokenPayload
+
+Autogenerated return type of HttpIntegrationResetToken.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
+| `errors` | String! => Array | Errors encountered during execution of the mutation. |
+| `integration` | AlertManagementHttpIntegration | The HTTP integration |
+
+### HttpIntegrationUpdatePayload
+
+Autogenerated return type of HttpIntegrationUpdate.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
+| `errors` | String! => Array | Errors encountered during execution of the mutation. |
+| `integration` | AlertManagementHttpIntegration | The HTTP integration |
+
### InstanceSecurityDashboard
| Field | Type | Description |
| ----- | ---- | ----------- |
+| `projects` | ProjectConnection! | Projects selected in Instance Security Dashboard |
| `vulnerabilityGrades` | VulnerableProjectsByGrade! => Array | Represents vulnerable project counts for each grade |
+| `vulnerabilityScanners` | VulnerabilityScannerConnection | Vulnerability scanners reported on the vulnerabilties from projects selected in Instance Security Dashboard |
| `vulnerabilitySeveritiesCount` | VulnerabilitySeveritiesCount | Counts for each vulnerability severity from projects selected in Instance Security Dashboard |
### InstanceStatisticsMeasurement
@@ -1259,24 +1567,35 @@ Represents a recorded measurement (object count) for the Admins.
| Field | Type | Description |
| ----- | ---- | ----------- |
| `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 |
| `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 |
+| `currentUserTodos` | TodoConnection! | Todos for the current user |
| `description` | String | Description of the issue |
| `descriptionHtml` | String | The GitLab Flavored Markdown rendering of `description` |
| `designCollection` | DesignCollection | Collection of design images associated with this issue |
-| `designs` **{warning-solid}** | DesignCollection | **Deprecated:** Use `designCollection`. Deprecated in 12.2 |
| `discussionLocked` | Boolean! | Indicates discussion is locked on the issue |
+| `discussions` | DiscussionConnection! | All discussions on this noteable |
| `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. |
+| `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 |
+| `labels` | LabelConnection | Labels of 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 |
+| `notes` | NoteConnection! | All notes on this noteable |
+| `participants` | UserConnection | List of participants in the issue |
| `reference` | String! | Internal reference of the issue. Returned in shortened format by default |
| `relativePosition` | Int | Relative position of the issue (used for positioning in epic tree and issue boards) |
| `severity` | IssuableSeverity | Severity level of the incident |
@@ -1291,7 +1610,9 @@ Represents a recorded measurement (object count) for the Admins.
| `totalTimeSpent` | Int! | Total time reported as spent on the issue |
| `type` | IssueType | Type of the issue |
| `updatedAt` | Time! | Timestamp of when the issue was last updated |
+| `updatedBy` | User | User that last updated the issue |
| `upvotes` | Int! | Number of upvotes the issue has received |
+| `userDiscussionsCount` | Int! | Number of user discussions in the issue |
| `userNotesCount` | Int! | Number of user notes of the issue |
| `userPermissions` | IssuePermissions! | Permissions for the current user on the resource |
| `webPath` | String! | Web path of the issue |
@@ -1439,13 +1760,13 @@ Represents an iteration object.
| Field | Type | Description |
| ----- | ---- | ----------- |
-| `burnupTimeSeries` | BurnupChartDailyTotals! => Array | Daily scope and completed totals for burnup charts |
| `createdAt` | Time! | Timestamp of iteration creation |
| `description` | String | Description of the iteration |
| `descriptionHtml` | String | The GitLab Flavored Markdown rendering of `description` |
| `dueDate` | Time | Timestamp of the iteration due date |
| `id` | ID! | ID of the iteration |
| `iid` | ID! | Internal ID of the iteration |
+| `report` | TimeboxReport | Historically accurate report about the timebox |
| `scopedPath` | String | Web path of the iteration, scoped to the query parent. Only valid for Project parents. Returns null in other contexts |
| `scopedUrl` | String | Web URL of the iteration, scoped to the query parent. Only valid for Project parents. Returns null in other contexts |
| `startDate` | Time | Timestamp of the iteration start date |
@@ -1500,6 +1821,7 @@ Autogenerated return type of JiraImportUsers.
| Field | Type | Description |
| ----- | ---- | ----------- |
| `active` | Boolean | Indicates if the service is active |
+| `projects` | JiraProjectConnection | List of all Jira projects fetched through Jira REST API |
| `type` | String | Class name of the service |
### JiraUser
@@ -1524,6 +1846,16 @@ Autogenerated return type of JiraImportUsers.
| `textColor` | String! | Text color of the label |
| `title` | String! | Content of the label |
+### LabelCreatePayload
+
+Autogenerated return type of LabelCreate.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
+| `errors` | String! => Array | Errors encountered during execution of the mutation. |
+| `label` | Label | The label after mutation |
+
### MarkAsSpamSnippetPayload
Autogenerated return type of MarkAsSpamSnippet.
@@ -1542,11 +1874,14 @@ Autogenerated return type of MarkAsSpamSnippet.
| `approvalsLeft` | Int | Number of approvals left |
| `approvalsRequired` | Int | Number of approvals required |
| `approved` | Boolean! | Indicates if the merge request has all the required approvals. Returns true if no required approvals are configured. |
+| `approvedBy` | UserConnection | Users who approved the merge request |
+| `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 |
| `commitCount` | Int | Number of commits in the merge request |
| `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 |
| `description` | String | Description of the merge request (Markdown rendered as HTML for caching) |
| `descriptionHtml` | String | The GitLab Flavored Markdown rendering of `description` |
@@ -1555,13 +1890,14 @@ Autogenerated return type of MarkAsSpamSnippet.
| `diffStats` | DiffStats! => Array | Details about which files were changed in this merge request |
| `diffStatsSummary` | DiffStatsSummary | Summary of which files were changed in this merge request |
| `discussionLocked` | Boolean! | Indicates if comments on the merge request are locked to members only |
+| `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 |
| `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 |
| `inProgressMergeCommitSha` | String | Commit SHA of the merge request if merge is in progress |
-| `mergeCommitMessage` **{warning-solid}** | String | **Deprecated:** Use `defaultMergeCommitMessage`. Deprecated in 11.8 |
+| `labels` | LabelConnection | Labels of the merge request |
| `mergeCommitSha` | String | SHA of the merge request commit (set once merged) |
| `mergeError` | String | Error message due to a merge error |
| `mergeOngoing` | Boolean! | Indicates if a merge is currently occurring |
@@ -1570,6 +1906,9 @@ Autogenerated return type of MarkAsSpamSnippet.
| `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 |
| `project` | Project! | Alias for target_project |
| `projectId` | Int! | ID of the merge request project |
| `rebaseCommitSha` | String | Rebase commit SHA of the merge request |
@@ -1594,6 +1933,7 @@ Autogenerated return type of MarkAsSpamSnippet.
| `totalTimeSpent` | Int! | Total time reported as spent on the merge request |
| `updatedAt` | Time! | Timestamp of when the merge request was last updated |
| `upvotes` | Int! | Number of upvotes for the merge request |
+| `userDiscussionsCount` | Int | Number of user discussions in the merge request |
| `userNotesCount` | Int | User notes count of the merge request |
| `userPermissions` | MergeRequestPermissions! | Permissions for the current user on the resource |
| `webUrl` | String | Web URL of the merge request |
@@ -1721,6 +2061,7 @@ Autogenerated return type of MergeRequestUpdate.
| Field | Type | Description |
| ----- | ---- | ----------- |
+| `annotations` | MetricsDashboardAnnotationConnection | Annotations added to the dashboard |
| `path` | String | Path to a file with the dashboard definition |
| `schemaValidationWarnings` | String! => Array | Dashboard schema validation warnings |
@@ -1740,13 +2081,13 @@ Represents a milestone.
| Field | Type | Description |
| ----- | ---- | ----------- |
-| `burnupTimeSeries` | BurnupChartDailyTotals! => Array | Daily scope and completed totals for burnup charts |
| `createdAt` | Time! | Timestamp of milestone creation |
| `description` | String | Description of the milestone |
| `dueDate` | Time | Timestamp of the milestone due date |
| `groupMilestone` | Boolean! | Indicates if milestone is at group level |
| `id` | ID! | ID of the milestone |
| `projectMilestone` | Boolean! | Indicates if milestone is at project level |
+| `report` | TimeboxReport | Historically accurate report about the timebox |
| `startDate` | Time | Timestamp of the milestone start date |
| `state` | MilestoneStateEnum! | State of the milestone |
| `stats` | MilestoneStats | Milestone statistics |
@@ -1780,6 +2121,7 @@ Contains statistics about a milestone.
| `lfsEnabled` | Boolean | Indicates if Large File Storage (LFS) is enabled for namespace |
| `name` | String! | Name of the namespace |
| `path` | String! | Path of the namespace |
+| `projects` | ProjectConnection! | Projects within this namespace |
| `repositorySizeExcessProjectCount` | Int! | Number of projects in the root namespace where the repository size exceeds the limit |
| `requestAccessEnabled` | Boolean | Indicates if users can request access to namespace |
| `rootStorageStatistics` | RootStorageStatistics | Aggregated storage statistics of the namespace. Only available for root namespaces |
@@ -1829,6 +2171,7 @@ Autogenerated return type of NamespaceIncreaseStorageTemporarily.
| `awardEmoji` | Boolean! | Indicates the user can perform `award_emoji` on this resource |
| `createNote` | Boolean! | Indicates the user can perform `create_note` on this resource |
| `readNote` | Boolean! | Indicates the user can perform `read_note` on this resource |
+| `repositionNote` | Boolean! | Indicates the user can perform `reposition_note` on this resource |
| `resolveNote` | Boolean! | Indicates the user can perform `resolve_note` on this resource |
### Package
@@ -1881,16 +2224,23 @@ Information about pagination in a connection..
| `coverage` | Float | Coverage percentage |
| `createdAt` | Time! | Timestamp of the pipeline's creation |
| `detailedStatus` | DetailedStatus! | Detailed status of the pipeline |
+| `downstream` | PipelineConnection | Pipelines this pipeline will trigger |
| `duration` | Int | Duration of the pipeline in seconds |
| `finishedAt` | Time | Timestamp of the pipeline's completion |
| `id` | ID! | ID of the pipeline |
| `iid` | String! | Internal ID of the pipeline |
+| `jobs` | CiJobConnection | Jobs belonging to the pipeline |
+| `path` | String | Relative path to the pipeline's page |
+| `project` | Project | Project the pipeline belongs to |
| `retryable` | Boolean! | Specifies if a pipeline can be retried |
| `securityReportSummary` | SecurityReportSummary | Vulnerability and scanned resource counts for each security scanner of the pipeline |
| `sha` | String! | SHA of the pipeline's commit |
+| `sourceJob` | CiJob | Job where pipeline was triggered from |
+| `stages` | CiStageConnection | Stages of the pipeline |
| `startedAt` | Time | Timestamp when the pipeline was started |
| `status` | PipelineStatusEnum! | Status of the pipeline (CREATED, WAITING_FOR_RESOURCE, PREPARING, PENDING, RUNNING, FAILED, SUCCESS, CANCELED, SKIPPED, MANUAL, SCHEDULED) |
| `updatedAt` | Time! | Timestamp of the pipeline's last activity |
+| `upstream` | Pipeline | Pipeline that triggered the pipeline |
| `user` | User | Pipeline user |
| `userPermissions` | PipelinePermissions! | Permissions for the current user on the resource |
@@ -1937,19 +2287,30 @@ Autogenerated return type of PipelineRetry.
| `actualRepositorySizeLimit` | Float | Size limit for the repository in bytes |
| `alertManagementAlert` | AlertManagementAlert | A single Alert Management alert of the project |
| `alertManagementAlertStatusCounts` | AlertManagementAlertStatusCountsType | Counts of alerts by status for the project |
+| `alertManagementAlerts` | AlertManagementAlertConnection | Alert Management alerts of the project |
+| `alertManagementIntegrations` | AlertManagementIntegrationConnection | Integrations which can receive alerts for the project |
| `allowMergeOnSkippedPipeline` | Boolean | If `only_allow_merge_if_pipeline_succeeds` is true, indicates if merge requests of the project can also be merged with skipped jobs |
| `archived` | Boolean | Indicates the archived status of the project |
| `autocloseReferencedIssues` | Boolean | Indicates if issues referenced by merge requests and commits within the default branch are closed automatically |
| `avatarUrl` | String | URL to avatar image file of the project |
| `board` | Board | A single board of the project |
+| `boards` | BoardConnection | Boards of 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 |
+| `complianceFrameworks` | ComplianceFrameworkConnection | Compliance frameworks associated with the project |
| `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 |
| `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 |
| `description` | String | Short description of the project |
| `descriptionHtml` | String | The GitLab Flavored Markdown rendering of `description` |
| `environment` | Environment | A single environment of the project |
+| `environments` | EnvironmentConnection | Environments of the project |
| `forksCount` | Int! | Number of times the project has been forked |
| `fullPath` | ID! | Full path of the project |
| `grafanaIntegration` | GrafanaIntegration | Grafana integration details for the project |
@@ -1959,32 +2320,43 @@ Autogenerated return type of PipelineRetry.
| `importStatus` | String | Status of import background job 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 |
| `issuesEnabled` | Boolean | Indicates if Issues are enabled for the current user |
+| `iterations` | IterationConnection | Find iterations |
| `jiraImportStatus` | String | Status of Jira import background job of the project |
+| `jiraImports` | JiraImportConnection | Jira imports into the project |
| `jobsEnabled` | Boolean | Indicates if CI/CD pipeline jobs are enabled for the current user |
| `label` | Label | A label available on this project |
+| `labels` | LabelConnection | Labels available on this project |
| `lastActivityAt` | Time | Timestamp of the project last activity |
| `lfsEnabled` | Boolean | Indicates if the project has Large File Storage (LFS) enabled |
| `mergeRequest` | MergeRequest | A single merge request of the project |
+| `mergeRequests` | MergeRequestConnection | Merge requests of the project |
| `mergeRequestsEnabled` | Boolean | Indicates if Merge Requests are enabled for the current user |
| `mergeRequestsFfOnlyEnabled` | Boolean | Indicates if no merge commits should be created and all merges should instead be fast-forwarded, which means that merging is only allowed if the branch could be fast-forwarded. |
+| `milestones` | MilestoneConnection | Milestones of the project |
| `name` | String! | Name of the project (without namespace) |
| `nameWithNamespace` | String! | Full name of the project with its namespace |
| `namespace` | Namespace | Namespace of the project |
| `onlyAllowMergeIfAllDiscussionsAreResolved` | Boolean | Indicates if merge requests of the project can only be merged when all the discussions are resolved |
| `onlyAllowMergeIfPipelineSucceeds` | Boolean | Indicates if merge requests of the project can only be merged with successful jobs |
| `openIssuesCount` | Int | Number of open issues for the project |
+| `packages` | PackageConnection | Packages of the project |
| `path` | String! | Path of the project |
| `pipeline` | Pipeline | Build pipeline of the project |
+| `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 |
| `publicJobs` | Boolean | Indicates if there is public access to pipelines and job details of the project, including output logs and artifacts |
| `release` | Release | A single release of the project |
+| `releases` | ReleaseConnection | Releases of the project |
| `removeSourceBranchAfterMerge` | Boolean | Indicates if `Delete source branch` option should be enabled by default for all new merge requests of the project |
| `repository` | Repository | Git repository of the project |
| `repositorySizeExcess` | Float | Size of repository that exceeds the limit in bytes |
| `requestAccessEnabled` | Boolean | Indicates if users can request member access to the project |
| `requirement` | Requirement | Find a single requirement |
| `requirementStatesCount` | RequirementStatesCount | Number of requirements for the project by their state |
+| `requirements` | RequirementConnection | Find requirements |
| `sastCiConfiguration` | SastCiConfiguration | SAST CI configuration for the project |
| `securityDashboardPath` | String | Path to project's security dashboard |
| `securityScanners` | SecurityScanners | Information about security analyzers used in the project |
@@ -1992,15 +2364,21 @@ Autogenerated return type of PipelineRetry.
| `sentryErrors` | SentryErrorCollection | Paginated collection of Sentry errors on the project |
| `serviceDeskAddress` | String | E-mail address of the service desk. |
| `serviceDeskEnabled` | Boolean | Indicates if the project has service desk enabled. |
+| `services` | ServiceConnection | Project services |
| `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 |
| `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 |
| `userPermissions` | ProjectPermissions! | Permissions for the current user on the resource |
| `visibility` | String | Visibility of the project |
+| `vulnerabilities` | VulnerabilityConnection | Vulnerabilities reported on the project |
+| `vulnerabilitiesCountByDay` | VulnerabilitiesCountByDayConnection | Number of vulnerabilities per day for the project |
+| `vulnerabilityScanners` | VulnerabilityScannerConnection | Vulnerability scanners reported on the project vulnerabilties |
| `vulnerabilitySeveritiesCount` | VulnerabilitySeveritiesCount | Counts for each vulnerability severity in the project |
| `webUrl` | String | Web URL of the project |
| `wikiEnabled` | Boolean | Indicates if Wikis are enabled for the current user |
@@ -2072,14 +2450,15 @@ Represents a Project Membership.
| Field | Type | Description |
| ----- | ---- | ----------- |
-| `buildArtifactsSize` | Float! | Build artifacts size of the project |
+| `buildArtifactsSize` | Float! | Build artifacts size of the project in bytes |
| `commitCount` | Float! | Commit count of the project |
-| `lfsObjectsSize` | Float! | Large File Storage (LFS) object size of the project |
-| `packagesSize` | Float! | Packages size of the project |
-| `repositorySize` | Float! | Repository size of the project |
-| `snippetsSize` | Float | Snippets size of the project |
-| `storageSize` | Float! | Storage size of the project |
-| `wikiSize` | Float | Wiki size of the project |
+| `lfsObjectsSize` | Float! | Large File Storage (LFS) object size of the project in bytes |
+| `packagesSize` | Float! | Packages size of the project in bytes |
+| `repositorySize` | Float! | Repository size of the project in bytes |
+| `snippetsSize` | Float | Snippets size of the project in bytes |
+| `storageSize` | Float! | Storage size of the project in bytes |
+| `uploadsSize` | Float | Uploads size of the project in bytes |
+| `wikiSize` | Float | Wiki size of the project in bytes |
### PrometheusAlert
@@ -2090,6 +2469,47 @@ The alert condition for Prometheus.
| `humanizedText` | String! | The human-readable text of the alert condition |
| `id` | ID! | ID of the alert condition |
+### PrometheusIntegrationCreatePayload
+
+Autogenerated return type of PrometheusIntegrationCreate.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
+| `errors` | String! => Array | Errors encountered during execution of the mutation. |
+| `integration` | AlertManagementPrometheusIntegration | The newly created integration |
+
+### PrometheusIntegrationResetTokenPayload
+
+Autogenerated return type of PrometheusIntegrationResetToken.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
+| `errors` | String! => Array | Errors encountered during execution of the mutation. |
+| `integration` | AlertManagementPrometheusIntegration | The newly created integration |
+
+### PrometheusIntegrationUpdatePayload
+
+Autogenerated return type of PrometheusIntegrationUpdate.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
+| `errors` | String! => Array | Errors encountered during execution of the mutation. |
+| `integration` | AlertManagementPrometheusIntegration | The newly created integration |
+
+### PromoteToEpicPayload
+
+Autogenerated return type of PromoteToEpic.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
+| `epic` | Epic | The epic after issue promotion |
+| `errors` | String! => Array | Errors encountered during execution of the mutation. |
+| `issue` | Issue | The issue after mutation |
+
### Release
Represents a release.
@@ -2102,7 +2522,9 @@ Represents a release.
| `createdAt` | Time | Timestamp of when the release was created |
| `description` | String | Description (also known as "release notes") of the release |
| `descriptionHtml` | String | The GitLab Flavored Markdown rendering of `description` |
+| `evidences` | ReleaseEvidenceConnection | Evidence for the release |
| `links` | ReleaseLinks | Links of the release |
+| `milestones` | MilestoneConnection | Milestones associated to the release |
| `name` | String | Name of the release |
| `releasedAt` | Time | Timestamp of when the release was released |
| `tagName` | String | Name of the tag associated with the release |
@@ -2129,6 +2551,18 @@ A container for all assets associated with a release.
| Field | Type | Description |
| ----- | ---- | ----------- |
| `count` | Int | Number of assets of the release |
+| `links` | ReleaseAssetLinkConnection | Asset links of the release |
+| `sources` | ReleaseSourceConnection | Sources of the release |
+
+### ReleaseCreatePayload
+
+Autogenerated return type of ReleaseCreate.
+
+| 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 |
### ReleaseEvidence
@@ -2145,9 +2579,12 @@ Evidence for a release.
| Field | Type | Description |
| ----- | ---- | ----------- |
+| `closedIssuesUrl` | String | HTTP URL of the issues page, filtered by this release and `state=closed` |
+| `closedMergeRequestsUrl` | String | HTTP URL of the merge request page , filtered by this release and `state=closed` |
| `editUrl` | String | HTTP URL of the release's edit page |
-| `issuesUrl` | String | HTTP URL of the issues page filtered by this release |
-| `mergeRequestsUrl` | String | HTTP URL of the merge request page filtered by this release |
+| `mergedMergeRequestsUrl` | String | HTTP URL of the merge request page , filtered by this release and `state=merged` |
+| `openedIssuesUrl` | String | HTTP URL of the issues page, filtered by this release and `state=open` |
+| `openedMergeRequestsUrl` | String | HTTP URL of the merge request page, filtered by this release and `state=open` |
| `selfUrl` | String | HTTP URL of the release |
### ReleaseSource
@@ -2178,6 +2615,16 @@ Autogenerated return type of RemoveProjectFromSecurityDashboard.
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
+### RepositionImageDiffNotePayload
+
+Autogenerated return type of RepositionImageDiffNote.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
+| `errors` | String! => Array | Errors encountered during execution of the mutation. |
+| `note` | Note | The note after mutation |
+
### Repository
| Field | Type | Description |
@@ -2203,6 +2650,7 @@ Represents a requirement.
| `lastTestReportState` | TestReportState | Latest requirement test report state |
| `project` | Project! | Project to which the requirement belongs |
| `state` | RequirementState! | State of the requirement |
+| `testReports` | TestReportConnection | Test reports of the requirement |
| `title` | String | Title of the requirement |
| `titleHtml` | String | The GitLab Flavored Markdown rendering of `title` |
| `updatedAt` | Time! | Timestamp of when the requirement was last updated |
@@ -2250,6 +2698,7 @@ Autogenerated return type of RevertVulnerabilityToDetected.
| `repositorySize` | Float! | The Git repository size in bytes |
| `snippetsSize` | Float! | The snippets size in bytes |
| `storageSize` | Float! | The total storage in bytes |
+| `uploadsSize` | Float! | The uploads size in bytes |
| `wikiSize` | Float! | The wiki size in bytes |
### RunDASTScanPayload
@@ -2273,9 +2722,27 @@ Autogenerated return type of RunDASTScan.
| Field | Type | Description |
| ----- | ---- | ----------- |
+| `architectures` | RunnerArchitectureConnection | Runner architectures supported for the platform |
| `humanReadableName` | String! | Human readable name of the runner platform |
| `name` | String! | Name slug of the runner platform |
+### RunnerSetup
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `installInstructions` | String! | Instructions for installing the runner on the specified architecture |
+| `registerInstructions` | String | Instructions for registering the runner |
+
+### SastCiConfiguration
+
+Represents a CI configuration of SAST.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `analyzers` | SastCiConfigurationAnalyzersEntityConnection | List of analyzers entities attached to SAST configuration. |
+| `global` | SastCiConfigurationEntityConnection | List of global entities related to SAST configuration. |
+| `pipeline` | SastCiConfigurationEntityConnection | List of pipeline entities related to SAST configuration. |
+
### SastCiConfigurationAnalyzersEntity
Represents an analyzer entity in SAST CI configuration.
@@ -2286,6 +2753,7 @@ Represents an analyzer entity in SAST CI configuration.
| `enabled` | Boolean | Indicates whether an analyzer is enabled |
| `label` | String | Analyzer label used in the config UI |
| `name` | String | Name of the analyzer |
+| `variables` | SastCiConfigurationEntityConnection | List of supported variables |
### SastCiConfigurationEntity
@@ -2297,6 +2765,7 @@ Represents an entity in SAST CI configuration.
| `description` | String | Entity description that is displayed on the form. |
| `field` | String | CI keyword of entity. |
| `label` | String | Label for entity used in the form. |
+| `options` | SastCiConfigurationOptionsEntityConnection | Different possible values of the field. |
| `size` | SastUiComponentSize | Size of the UI component. |
| `type` | String | Type of the field value. |
| `value` | String | Current value of the entity. |
@@ -2339,6 +2808,7 @@ Represents a section of a summary of a security report.
| Field | Type | Description |
| ----- | ---- | ----------- |
+| `scannedResources` | ScannedResourceConnection | A list of the first 20 scanned resources |
| `scannedResourcesCount` | Int | Total number of scanned resources |
| `scannedResourcesCsvPath` | String | Path to download all the scanned resources in CSV format |
| `vulnerabilitiesCount` | Int | Total number of vulnerabilities |
@@ -2478,12 +2948,15 @@ Represents a snippet entry.
| ----- | ---- | ----------- |
| `author` | User | The owner of the snippet |
| `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 |
| `descriptionHtml` | String | The GitLab Flavored Markdown rendering of `description` |
+| `discussions` | DiscussionConnection! | All discussions on this noteable |
| `fileName` | String | File Name of the snippet |
| `httpUrlToRepo` | String | HTTP URL to the snippet repository |
-| `id` | ID! | ID of the snippet |
+| `id` | SnippetID! | ID of the snippet |
+| `notes` | NoteConnection! | All notes on this noteable |
| `project` | Project | The project the snippet is associated with |
| `rawUrl` | String! | Raw URL of the snippet |
| `sshUrlToRepo` | String | SSH URL to the snippet repository |
@@ -2537,6 +3010,21 @@ Represents how the blob content should be displayed.
| `reportSnippet` | Boolean! | Indicates the user can perform `report_snippet` on this resource |
| `updateSnippet` | Boolean! | Indicates the user can perform `update_snippet` on this resource |
+### SnippetRepositoryRegistry
+
+Represents the Geo sync and verification state of a snippet repository.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `createdAt` | Time | Timestamp when the SnippetRepositoryRegistry was created |
+| `id` | ID! | ID of the SnippetRepositoryRegistry |
+| `lastSyncFailure` | String | Error message during sync of the SnippetRepositoryRegistry |
+| `lastSyncedAt` | Time | Timestamp of the most recent successful sync of the SnippetRepositoryRegistry |
+| `retryAt` | Time | Timestamp after which the SnippetRepositoryRegistry should be resynced |
+| `retryCount` | Int | Number of consecutive failed sync attempts of the SnippetRepositoryRegistry |
+| `snippetRepositoryId` | ID! | ID of the Snippet Repository |
+| `state` | RegistryState | Sync state of the SnippetRepositoryRegistry |
+
### StatusAction
| Field | Type | Description |
@@ -2575,11 +3063,49 @@ Completion status of tasks.
| ----- | ---- | ----------- |
| `createdAt` | Time! | Timestamp the Terraform state was created |
| `id` | ID! | ID of the Terraform state |
+| `latestVersion` | TerraformStateVersion | The latest version of the Terraform state |
| `lockedAt` | Time | Timestamp the Terraform state was locked |
| `lockedByUser` | User | The user currently holding a lock on the Terraform state |
| `name` | String! | Name of the Terraform state |
| `updatedAt` | Time! | Timestamp the Terraform state was updated |
+### TerraformStateDeletePayload
+
+Autogenerated return type of TerraformStateDelete.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
+| `errors` | String! => Array | Errors encountered during execution of the mutation. |
+
+### TerraformStateLockPayload
+
+Autogenerated return type of TerraformStateLock.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
+| `errors` | String! => Array | Errors encountered during execution of the mutation. |
+
+### TerraformStateUnlockPayload
+
+Autogenerated return type of TerraformStateUnlock.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
+| `errors` | String! => Array | Errors encountered during execution of the mutation. |
+
+### TerraformStateVersion
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `createdAt` | Time! | Timestamp the version was created |
+| `createdByUser` | User | The user that created this version |
+| `id` | ID! | ID of the Terraform state version |
+| `job` | CiJob | The job that created this version |
+| `updatedAt` | Time! | Timestamp the version was updated |
+
### TerraformStateVersionRegistry
Represents the Geo sync and verification state of a terraform state version.
@@ -2606,11 +3132,38 @@ Represents a requirement test report.
| `id` | ID! | ID of the test report |
| `state` | TestReportState! | State of the test report |
+### TimeReportStats
+
+Represents the time report stats for timeboxes.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `complete` | TimeboxMetrics | Completed issues metrics |
+| `incomplete` | TimeboxMetrics | Incomplete issues metrics |
+| `total` | TimeboxMetrics | Total issues metrics |
+
+### TimeboxMetrics
+
+Represents measured stats metrics for timeboxes.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `count` | Int! | The count metric |
+| `weight` | Int! | The weight metric |
+
+### TimeboxReport
+
+Represents a historically accurate report about the timebox.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `burnupTimeSeries` | BurnupChartDailyTotals! => Array | Daily scope and completed totals for burnup charts |
+| `stats` | TimeReportStats | Represents the time report stats for the timebox |
+
### Timelog
| Field | Type | Description |
| ----- | ---- | ----------- |
-| `date` **{warning-solid}** | Time! | **Deprecated:** Use `spentAt`. Deprecated in 12.10 |
| `issue` | Issue | The issue that logged time was added to |
| `note` | Note | The note where the quick action to add the logged time was executed |
| `spentAt` | Time | Timestamp of when the time tracked was spent at |
@@ -2633,6 +3186,16 @@ Representing a todo entry.
| `state` | TodoStateEnum! | State of the todo |
| `targetType` | TodoTargetEnum! | Target type of the todo |
+### TodoCreatePayload
+
+Autogenerated return type of TodoCreate.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
+| `errors` | String! => Array | Errors encountered during execution of the mutation. |
+| `todo` | Todo | The to-do created |
+
### TodoMarkDonePayload
Autogenerated return type of TodoMarkDone.
@@ -2652,7 +3215,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}** | ID! => Array | **Deprecated:** Use todos. Deprecated in 13.2 |
+| `updatedIds` **{warning-solid}** | TodoID! => Array | **Deprecated:** Use todos. Deprecated in 13.2 |
### TodoRestorePayload
@@ -2673,7 +3236,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}** | ID! => Array | **Deprecated:** Use todos. Deprecated in 13.2 |
+| `updatedIds` **{warning-solid}** | TodoID! => Array | **Deprecated:** Use todos. Deprecated in 13.2 |
### ToggleAwardEmojiPayload
@@ -2690,7 +3253,10 @@ Autogenerated return type of ToggleAwardEmoji.
| Field | Type | Description |
| ----- | ---- | ----------- |
+| `blobs` | BlobConnection! | Blobs of the tree |
| `lastCommit` | Commit | Last commit for the tree |
+| `submodules` | SubmoduleConnection! | Sub-modules of the tree |
+| `trees` | TreeEntryConnection! | Trees of the tree |
### TreeEntry
@@ -2834,12 +3400,20 @@ Autogenerated return type of UpdateSnippet.
| Field | Type | Description |
| ----- | ---- | ----------- |
+| `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 |
+| `groupMemberships` | GroupMemberConnection | Group memberships of the user |
| `id` | ID! | ID of the user |
| `name` | String! | Human-readable name of the user |
+| `projectMemberships` | ProjectMemberConnection | Project memberships of the user |
+| `snippets` | SnippetConnection | Snippets authored by the user |
+| `starredProjects` | ProjectConnection | Projects starred by the user |
| `state` | UserState! | State of the user |
| `status` | UserStatus | User status |
+| `todos` | TodoConnection! | Todos of the user |
| `userPermissions` | UserPermissions! | Permissions for the current user on the resource |
| `username` | String! | Username of the user. Unique within this instance of GitLab |
| `webPath` | String! | Web path of the user |
@@ -2855,13 +3429,14 @@ Autogenerated return type of UpdateSnippet.
| Field | Type | Description |
| ----- | ---- | ----------- |
+| `availability` | AvailabilityEnum! | User availability status |
| `emoji` | String | String representation of emoji |
| `message` | String | User status message |
| `messageHtml` | String | HTML of the user status message |
### VulnerabilitiesCountByDay
-Represents the count of vulnerabilities by severity on a particular day.
+Represents the count of vulnerabilities by severity on a particular day. This data is retained for 365 days.
| Field | Type | Description |
| ----- | ---- | ----------- |
@@ -2876,7 +3451,7 @@ Represents the count of vulnerabilities by severity on a particular day.
### VulnerabilitiesCountByDayAndSeverity
-Represents the number of vulnerabilities for a particular severity on a particular day.
+Represents the number of vulnerabilities for a particular severity on a particular day. This data is retained for 365 days.
| Field | Type | Description |
| ----- | ---- | ----------- |
@@ -2892,9 +3467,12 @@ Represents a vulnerability.
| ----- | ---- | ----------- |
| `description` | String | Description of the vulnerability |
| `detectedAt` | Time! | Timestamp of when the vulnerability was first detected |
+| `discussions` | DiscussionConnection! | All discussions on this noteable |
| `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 |
+| `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) |
@@ -3098,6 +3676,7 @@ Represents vulnerability letter grades with associated projects.
| ----- | ---- | ----------- |
| `count` | Int! | Number of projects within this grade |
| `grade` | VulnerabilityGrade! | Grade based on the highest severity vulnerability present |
+| `projects` | ProjectConnection! | Projects within this grade |
## Enumeration types
@@ -3150,6 +3729,15 @@ Values for sorting alerts.
| `updated_asc` **{warning-solid}** | **Deprecated:** Use UPDATED_ASC. Deprecated in 13.5 |
| `updated_desc` **{warning-solid}** | **Deprecated:** Use UPDATED_DESC. Deprecated in 13.5 |
+### AlertManagementIntegrationType
+
+Values of types of integrations.
+
+| Value | Description |
+| ----- | ----------- |
+| `HTTP` | Integration with any monitoring tool |
+| `PROMETHEUS` | Prometheus integration |
+
### AlertManagementSeverity
Alert severity values.
@@ -3174,6 +3762,15 @@ Alert status values.
| `RESOLVED` | Resolved status |
| `TRIGGERED` | Triggered status |
+### AvailabilityEnum
+
+User availability status.
+
+| Value | Description |
+| ----- | ----------- |
+| `BUSY` | Busy |
+| `NOT_SET` | Not Set |
+
### BlobViewersType
Types of blob viewers.
@@ -3233,6 +3830,26 @@ Mode of a commit action.
| `SEVEN_DAYS` | 7 days until tags are automatically removed |
| `THIRTY_DAYS` | 30 days until tags are automatically removed |
+### ContainerRepositoryCleanupStatus
+
+Status of the tags cleanup of a container repository.
+
+| Value | Description |
+| ----- | ----------- |
+| `ONGOING` | The tags cleanup is ongoing. |
+| `SCHEDULED` | The tags cleanup is scheduled and is going to be executed shortly. |
+| `UNFINISHED` | The tags cleanup has been partially executed. There are still remaining tags to delete. |
+| `UNSCHEDULED` | The tags cleanup is not scheduled. This is the default state. |
+
+### ContainerRepositoryStatus
+
+Status of a container repository.
+
+| Value | Description |
+| ----- | ----------- |
+| `DELETE_FAILED` | Delete Failed status. |
+| `DELETE_SCHEDULED` | Delete Scheduled status. |
+
### DastScanTypeEnum
| Value | Description |
@@ -3249,6 +3866,13 @@ Mode of a commit action.
| `PASSED_VALIDATION` | Site validation process finished successfully |
| `PENDING_VALIDATION` | Site validation process has not started |
+### DastSiteValidationStrategyEnum
+
+| Value | Description |
+| ----- | ----------- |
+| `HEADER` | Header validation |
+| `TEXT_FILE` | Text file validation |
+
### DesignCollectionCopyState
Copy state of a DesignCollection.
@@ -3382,6 +4006,8 @@ Values for sorting issues.
| `RELATIVE_POSITION_ASC` | Relative position by ascending order |
| `SEVERITY_ASC` | Severity from less critical to more critical |
| `SEVERITY_DESC` | Severity from more critical to less critical |
+| `SLA_DUE_AT_ASC` | Issues with earliest SLA due time shown first |
+| `SLA_DUE_AT_DESC` | Issues with latest SLA due time shown first |
| `UPDATED_ASC` | Updated at ascending order |
| `UPDATED_DESC` | Updated at descending order |
| `WEIGHT_ASC` | Weight by ascending order |
@@ -3433,6 +4059,15 @@ State of a GitLab iteration.
| `started` | |
| `upcoming` | |
+### IterationWildcardId
+
+Iteration ID wildcard values.
+
+| Value | Description |
+| ----- | ----------- |
+| `ANY` | An iteration is assigned |
+| `NONE` | No iteration is assigned |
+
### ListLimitMetric
List limit metric setting.
@@ -3528,6 +4163,7 @@ Values for sorting projects.
| Value | Description |
| ----- | ----------- |
| `SIMILARITY` | Most similar to the search query |
+| `STORAGE` | Sort by storage size |
### PackageTypeEnum
@@ -3572,18 +4208,6 @@ Values for sorting projects.
| `SUCCESS` | |
| `WAITING_FOR_RESOURCE` | |
-### ProjectSettingEnum
-
-Names of compliance frameworks that can be assigned to a Project.
-
-| Value | Description |
-| ----- | ----------- |
-| `gdpr` | |
-| `hipaa` | |
-| `pci_dss` | |
-| `soc_2` | |
-| `sox` | |
-
### RegistryState
State of a Geo registry.
@@ -3597,7 +4221,7 @@ State of a Geo registry.
### ReleaseAssetLinkType
-Type of the link: `other`, `runbook`, `image`, `package`; defaults to `other`.
+Type of the link: `other`, `runbook`, `image`, `package`.
| Value | Description |
| ----- | ----------- |
@@ -3606,6 +4230,17 @@ Type of the link: `other`, `runbook`, `image`, `package`; defaults to `other`.
| `PACKAGE` | Package link type |
| `RUNBOOK` | Runbook link type |
+### ReleaseSort
+
+Values for sorting releases.
+
+| Value | Description |
+| ----- | ----------- |
+| `CREATED_ASC` | Created at ascending order |
+| `CREATED_DESC` | Created at descending order |
+| `RELEASED_AT_ASC` | Released at by ascending order |
+| `RELEASED_AT_DESC` | Released at by descending order |
+
### RequirementState
State of a requirement.
@@ -3625,6 +4260,18 @@ Size of UI component in SAST configuration page.
| `MEDIUM` | |
| `SMALL` | |
+### SecurityReportTypeEnum
+
+| Value | Description |
+| ----- | ----------- |
+| `API_FUZZING` | API FUZZING scan report |
+| `CONTAINER_SCANNING` | CONTAINER SCANNING scan report |
+| `COVERAGE_FUZZING` | COVERAGE FUZZING scan report |
+| `DAST` | DAST scan report |
+| `DEPENDENCY_SCANNING` | DEPENDENCY SCANNING scan report |
+| `SAST` | SAST scan report |
+| `SECRET_DETECTION` | SECRET DETECTION scan report |
+
### SecurityScannerType
The type of the security scanner.
diff --git a/doc/api/graphql/removed_items.md b/doc/api/graphql/removed_items.md
new file mode 100644
index 00000000000..f05b23495bb
--- /dev/null
+++ b/doc/api/graphql/removed_items.md
@@ -0,0 +1,17 @@
+# GraphQL API removed items
+
+GraphQL is a versionless API, unlike the REST API.
+Occasionally, items have to be updated or removed from the GraphQL API.
+According to our [process for removing items](index.md#deprecation-process), here are the items that have been removed.
+
+## GitLab 13.6
+
+Fields removed in [GitLab 13.6](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44866):
+
+| Field name | GraphQL type | Deprecated in | Use instead |
+| -------------------- | -------------------- | ------------- | -------------------------- |
+| `date` | `Timelog` **(STARTER)** | 12.10 | `spentAt` |
+| `designs` | `Issue`, `EpicIssue` | 12.2 | `designCollection` |
+| `latestPipeline` | `Commit` | 12.5 | `pipelines` |
+| `mergeCommitMessage` | `MergeRequest` | 11.8 | `latestMergeCommitMessage` |
+| `token` | `GrafanaIntegration` | 12.7 | None. Plaintext tokens no longer supported for security reasons. |
diff --git a/doc/api/graphql/sample_issue_boards.md b/doc/api/graphql/sample_issue_boards.md
index 4ac9317b01a..27fd1f48aec 100644
--- a/doc/api/graphql/sample_issue_boards.md
+++ b/doc/api/graphql/sample_issue_boards.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Identify issue boards with GraphQL
This page describes how you can use the GraphiQL explorer to identify
diff --git a/doc/api/group_activity_analytics.md b/doc/api/group_activity_analytics.md
index 90920d1b25c..ea2527e6c4a 100644
--- a/doc/api/group_activity_analytics.md
+++ b/doc/api/group_activity_analytics.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Group Activity Analytics API
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/26460) in GitLab 12.9.
diff --git a/doc/api/group_badges.md b/doc/api/group_badges.md
index 43e1944226d..e13b9633da9 100644
--- a/doc/api/group_badges.md
+++ b/doc/api/group_badges.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Group badges API
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17082) in GitLab 10.6.
diff --git a/doc/api/group_boards.md b/doc/api/group_boards.md
index 4ff373ce583..6158400f882 100644
--- a/doc/api/group_boards.md
+++ b/doc/api/group_boards.md
@@ -265,44 +265,17 @@ Example response:
{
"id": 1,
"name": "newboard",
+ "project": null,
+ "lists" : [],
"group": {
"id": 5,
"name": "Documentcloud",
"web_url": "http://example.com/groups/documentcloud"
},
- "milestone": {
- "id": 12
- "title": "10.0"
- },
- "lists" : [
- {
- "id" : 1,
- "label" : {
- "name" : "Testing",
- "color" : "#F0AD4E",
- "description" : null
- },
- "position" : 1
- },
- {
- "id" : 2,
- "label" : {
- "name" : "Ready",
- "color" : "#FF0000",
- "description" : null
- },
- "position" : 2
- },
- {
- "id" : 3,
- "label" : {
- "name" : "Production",
- "color" : "#FF5F00",
- "description" : null
- },
- "position" : 3
- }
- ]
+ "milestone": null,
+ "assignee" : null,
+ "labels" : [],
+ "weight" : null
}
```
diff --git a/doc/api/group_import_export.md b/doc/api/group_import_export.md
index 01d81eb62ac..5677cb51c37 100644
--- a/doc/api/group_import_export.md
+++ b/doc/api/group_import_export.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Group Import/Export API
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20353) in GitLab 12.8.
diff --git a/doc/api/group_iterations.md b/doc/api/group_iterations.md
index 62431244d78..eb6a99a430e 100644
--- a/doc/api/group_iterations.md
+++ b/doc/api/group_iterations.md
@@ -9,7 +9,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/118742) in [GitLab Starter](https://about.gitlab.com/pricing/) 13.5.
This page describes the group iterations API.
-There's a separate [project iterations API](./iterations.md) page.
+There's a separate [project iterations API](iterations.md) page.
## List group iterations
diff --git a/doc/api/group_labels.md b/doc/api/group_labels.md
index 260ee669e08..f11a4d8ccc9 100644
--- a/doc/api/group_labels.md
+++ b/doc/api/group_labels.md
@@ -26,6 +26,9 @@ GET /groups/:id/labels
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) owned by the authenticated user. |
| `with_counts` | boolean | no | Whether or not to include issue and merge request counts. Defaults to `false`. _([Introduced in GitLab 12.2](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/31543))_ |
| `include_ancestor_groups` | boolean | no | Include ancestor groups. Defaults to `true`. |
+| `include_descendant_groups` | boolean | no | Include descendant groups. Defaults to `false`. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/259024) in GitLab 13.6 |
+| `only_group_labels` | boolean | no | Toggle to include only group labels or also project labels. Defaults to `true`. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/259024) in GitLab 13.6 |
+| `search` | string | no | Keyword to filter labels by. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/259024) in GitLab 13.6 |
```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/labels?with_counts=true"
@@ -75,6 +78,8 @@ GET /groups/:id/labels/:label_id
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) owned by the authenticated user. |
| `label_id` | integer or string | yes | The ID or title of a group's label. |
| `include_ancestor_groups` | boolean | no | Include ancestor groups. Defaults to `true`. |
+| `include_descendant_groups` | boolean | no | Include descendant groups. Defaults to `false`. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/259024) in GitLab 13.6 |
+| `only_group_labels` | boolean | no | Toggle to include only group labels or also project labels. Defaults to `true`. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/259024) in GitLab 13.6 |
```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/labels/bug"
diff --git a/doc/api/group_level_variables.md b/doc/api/group_level_variables.md
index aa5f0b3db72..6997ebdede4 100644
--- a/doc/api/group_level_variables.md
+++ b/doc/api/group_level_variables.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Group-level Variables API
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/34519) in GitLab 9.5
diff --git a/doc/api/group_milestones.md b/doc/api/group_milestones.md
index 3220707e9e3..a2acf2c8fb1 100644
--- a/doc/api/group_milestones.md
+++ b/doc/api/group_milestones.md
@@ -9,7 +9,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/12819) in GitLab 9.5.
This page describes the group milestones API.
-There's a separate [project milestones API](./milestones.md) page.
+There's a separate [project milestones API](milestones.md) page.
## List group milestones
diff --git a/doc/api/groups.md b/doc/api/groups.md
index 53c92cf85ec..0a584795d21 100644
--- a/doc/api/groups.md
+++ b/doc/api/groups.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Groups API
## List groups
@@ -89,7 +95,7 @@ GET /groups?statistics=true
"parent_id": null,
"created_at": "2020-01-15T12:36:29.590Z",
"statistics": {
- "storage_size" : 212,
+ "storage_size" : 363,
"repository_size" : 33,
"wiki_size" : 100,
"lfs_objects_size" : 123,
@@ -1037,6 +1043,7 @@ GET /groups/:id/hooks/:hook_id
"pipeline_events": true,
"wiki_page_events": true,
"deployment_events": true,
+ "releases_events": true,
"enable_ssl_verification": true,
"created_at": "2012-10-12T17:04:47Z"
}
@@ -1065,6 +1072,7 @@ POST /groups/:id/hooks
| `pipeline_events` | boolean | no | Trigger hook on pipeline events |
| `wiki_page_events` | boolean | no | Trigger hook on wiki events |
| `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 |
@@ -1092,6 +1100,7 @@ PUT /groups/:id/hooks/:hook_id
| `pipeline_events` | boolean | no | Trigger hook on pipeline events |
| `wiki_events` | boolean | no | Trigger hook on wiki events |
| `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 |
@@ -1113,7 +1122,7 @@ DELETE /groups/:id/hooks/:hook_id
Group audit events can be accessed via the [Group Audit Events API](audit_events.md#group-audit-events)
-## Sync group with LDAP **(STARTER)**
+## Sync group with LDAP **(STARTER ONLY)**
Syncs the group with its linked LDAP group. Only available to group owners and administrators.
@@ -1133,7 +1142,7 @@ Please consult the [Group Members](members.md) documentation.
List, add, and delete LDAP group links.
-### List LDAP group links **(STARTER)**
+### List LDAP group links **(STARTER ONLY)**
Lists LDAP group links.
@@ -1145,7 +1154,7 @@ GET /groups/:id/ldap_group_links
| --------- | -------------- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) |
-### Add LDAP group link with CN or filter **(STARTER)**
+### Add LDAP group link with CN or filter **(STARTER ONLY)**
Adds an LDAP group link using a CN or filter. Adding a group link by filter is only supported in the Premium tier and above.
@@ -1164,7 +1173,7 @@ POST /groups/:id/ldap_group_links
NOTE: **Note:**
To define the LDAP group link, provide either a `cn` or a `filter`, but not both.
-### Delete LDAP group link **(STARTER)**
+### Delete LDAP group link **(STARTER ONLY)**
Deletes an LDAP group link. Deprecated. Will be removed in a future release.
@@ -1189,7 +1198,7 @@ DELETE /groups/:id/ldap_group_links/:provider/:cn
| `cn` | string | yes | The CN of an LDAP group |
| `provider` | string | yes | LDAP provider for the LDAP group link |
-### Delete LDAP group link with CN or filter **(STARTER)**
+### Delete LDAP group link with CN or filter **(STARTER ONLY)**
Deletes an LDAP group link using a CN or filter. Deleting by filter is only supported in the Premium tier and above.
diff --git a/doc/api/import.md b/doc/api/import.md
index e377853ade0..27f5915b206 100644
--- a/doc/api/import.md
+++ b/doc/api/import.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Import API
## Import repository from GitHub
@@ -13,10 +19,20 @@ POST /import/github
| `personal_access_token` | string | yes | GitHub personal access token |
| `repo_id` | integer | yes | GitHub repository ID |
| `new_name` | string | no | New repository name |
-| `target_namespace` | string | yes | Namespace to import repository into |
+| `target_namespace` | string | yes | Namespace to import repository into. Supports subgroups like `/namespace/subgroup`. |
+| `github_hostname` | string | no | Custom GitHub enterprise hostname. Defaults to GitHub.com if `github_hostname` is not set. |
```shell
-curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --data "personal_access_token=abc123&repo_id=12345&target_namespace=root" "https://gitlab.example.com/api/v4/import/github"
+curl --request POST \
+ --url "https://gitlab.example.com/api/v4/import/github" \
+ --header "content-type: application/json" \
+ --header "PRIVATE-TOKEN: <your_access_token>" \
+ --data '{
+ "personal_access_token": "aBc123abC12aBc123abC12abC123+_A/c123",
+ "repo_id": "12345",
+ "target_namespace": "group/subgroup",
+ "new_name": "NEW-NAME"
+}'
```
Example response:
@@ -51,7 +67,7 @@ POST /import/bitbucket_server
| `bitbucket_server_project` | string | yes | Bitbucket Project Key |
| `bitbucket_server_repo` | string | yes | Bitbucket Repository Name |
| `new_name` | string | no | New repository name |
-| `target_namespace` | string | no | Namespace to import repository into |
+| `target_namespace` | string | no | Namespace to import repository into. Supports subgroups like `/namespace/subgroup` |
```shell
curl --request POST \
diff --git a/doc/api/instance_clusters.md b/doc/api/instance_clusters.md
index 1108550eee7..bc4eca5abfd 100644
--- a/doc/api/instance_clusters.md
+++ b/doc/api/instance_clusters.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Instance clusters API
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/36001) in GitLab 13.2.
diff --git a/doc/api/invitations.md b/doc/api/invitations.md
new file mode 100644
index 00000000000..6fd2b26d80f
--- /dev/null
+++ b/doc/api/invitations.md
@@ -0,0 +1,107 @@
+---
+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
+---
+
+# Invitations API
+
+Use the Invitations API to send email to users you want to join a group or project, and to list pending
+invitations.
+
+## Valid access levels
+
+To send an invitation, you must have access to the project or group you are sending email for. Valid access
+levels are defined in the `Gitlab::Access` module. Currently, these levels are valid:
+
+- No access (`0`)
+- Guest (`10`)
+- Reporter (`20`)
+- Developer (`30`)
+- Maintainer (`40`)
+- Owner (`50`) - Only valid to set for groups
+
+CAUTION: **Caution:**
+Due to [an issue](https://gitlab.com/gitlab-org/gitlab/-/issues/219299),
+projects in personal namespaces will not show owner (`50`) permission.
+
+## Invite by email to group or project
+
+Invites a new user by email to join a group or project.
+
+```plaintext
+POST /groups/:id/invitations
+POST /projects/:id/invitations
+```
+
+| Attribute | Type | Required | Description |
+| --------- | ---- | -------- | ----------- |
+| `id` | integer/string | yes | The ID or [URL-encoded path of the project or group](README.md#namespaced-path-encoding) owned by the authenticated user |
+| `email` | integer/string | yes | The email of the new member or multiple emails separated by commas |
+| `access_level` | integer | yes | A valid access level |
+| `expires_at` | string | no | A date string in the format YEAR-MONTH-DAY |
+
+```shell
+curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --data "email=test@example.com&access_level=30" "https://gitlab.example.com/api/v4/groups/:id/invitations"
+curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --data "email=test@example.com&access_level=30" "https://gitlab.example.com/api/v4/projects/:id/invitations"
+```
+
+Example responses:
+
+When all emails were successfully sent:
+
+```json
+{ "status": "success" }
+```
+
+When there was any error sending the email:
+
+```json
+{
+ "status": "error",
+ "message": {
+ "test@example.com": "Already invited",
+ "test2@example.com": "Member already exsists"
+ }
+}
+```
+
+## List all invitations pending for a group or project
+
+Gets a list of invited group or project members viewable by the authenticated user.
+Returns invitations to direct members only, and not through inherited ancestors' groups.
+
+This function takes pagination parameters `page` and `per_page` to restrict the list of users.
+
+```plaintext
+GET /groups/:id/invitations
+GET /projects/:id/invitations
+```
+
+| Attribute | Type | Required | Description |
+| --------- | ---- | -------- | ----------- |
+| `id` | integer/string | yes | The ID or [URL-encoded path of the project or group](README.md#namespaced-path-encoding) owned by the authenticated user |
+| `page` | integer | no | Page to retrieve |
+| `per_page`| integer | no | Number of member invitations to return per page |
+| `query` | string | no | A query string to search for invited members by invite email. Query text must match email address exactly. When empty, returns all invitations. |
+
+```shell
+curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/invitations?query=member@example.org"
+curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/:id/invitations?query=member@example.org"
+```
+
+Example response:
+
+```json
+ [
+ {
+ "id": 1,
+ "invite_email": "member@example.org",
+ "invited_at": "2020-10-22T14:13:35Z",
+ "access_level": 30,
+ "expires_at": "2020-11-22T14:13:35Z",
+ "user_name": "Raymond Smith",
+ "created_by_name": "Administrator"
+ },
+]
+```
diff --git a/doc/api/issue_links.md b/doc/api/issue_links.md
index 757910d0946..41e2dd7c147 100644
--- a/doc/api/issue_links.md
+++ b/doc/api/issue_links.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Issue links API **(CORE)**
> The simple "relates to" relationship [moved](https://gitlab.com/gitlab-org/gitlab/-/issues/212329) to [GitLab Core](https://about.gitlab.com/pricing/) in 13.4.
diff --git a/doc/api/issues.md b/doc/api/issues.md
index b50ea7b42be..ad5990f4a37 100644
--- a/doc/api/issues.md
+++ b/doc/api/issues.md
@@ -55,11 +55,14 @@ GET /issues?state=opened
| `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`. _([Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13004) in GitLab 9.5)_ |
| `author_username` | string | no | Return issues created by the given `username`. Similar to `author_id` and mutually exclusive with `author_id`. |
| `confidential` | boolean | no | Filter confidential or public issues. |
-| `created_after` | datetime | no | Return issues created on or after the given time |
-| `created_before` | datetime | no | Return issues created on or before the given time |
+| `created_after` | datetime | no | Return issues created on or after the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
+| `created_before` | datetime | no | Return issues created on or before the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
| `due_date` | string | no | Return issues that have no due date (`0`) or whose due date is this week, this month, between two weeks ago and next month, or which are overdue. Accepts: `0` (no due date), `overdue`, `week`, `month`, `next_month_and_previous_two_weeks`. _(Introduced in [GitLab 13.3](https://gitlab.com/gitlab-org/gitlab/-/issues/233420))_ |
| `iids[]` | integer array | no | Return only the issues having the given `iid` |
| `in` | string | no | Modify the scope of the `search` attribute. `title`, `description`, or a string joining them with comma. Default is `title,description` |
+| `iteration_id` **(STARTER)** | integer | no | Return issues assigned to the given iteration ID. `None` returns issues that do not belong to an iteration. `Any` returns issues that belong to an iteration. Mutually exclusive with `iteration_title`. _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/118742) in [GitLab Starter](https://about.gitlab.com/pricing/) 13.6)_ |
+| `iteration_title` **(STARTER)** | string | no | Return issues assigned to the iteration with the given title. Similar to `iteration_id` and mutually exclusive with `iteration_id`. _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/118742) in [GitLab Starter](https://about.gitlab.com/pricing/) 13.6)_ |
+| `milestone` | string | no | The milestone title. `None` lists all issues with no milestone. `Any` lists all issues that have an assigned milestone. |
| `labels` | string | no | Comma-separated list of label names, issues must have all labels to be returned. `None` lists all issues with no labels. `Any` lists all issues with at least one label. `No+Label` (Deprecated) lists all issues with no labels. Predefined names are case-insensitive. |
| `milestone` | string | no | The milestone title. `None` lists all issues with no milestone. `Any` lists all issues that have an assigned milestone. |
| `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. _([Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14016) in GitLab 10.0)_ |
@@ -70,8 +73,8 @@ GET /issues?state=opened
| `search` | string | no | Search issues against their `title` and `description` |
| `sort` | string | no | Return issues sorted in `asc` or `desc` order. Default is `desc` |
| `state` | string | no | Return `all` issues or just those that are `opened` or `closed` |
-| `updated_after` | datetime | no | Return issues updated on or after the given time |
-| `updated_before` | datetime | no | Return issues updated on or before the given time |
+| `updated_after` | datetime | no | Return issues updated on or after the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
+| `updated_before` | datetime | no | Return issues updated on or before the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
| `weight` **(STARTER)** | integer | no | Return issues with the specified `weight`. `None` returns issues with no weight assigned. `Any` returns issues with a weight assigned. |
| `with_labels_details` | boolean | no | If `true`, the response returns more details for each label in labels field: `:name`, `:color`, `:description`, `:description_html`, `:text_color`. Default is `false`. The `description_html` attribute was introduced in [GitLab 12.7](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21413)|
@@ -234,8 +237,8 @@ GET /groups/:id/issues?state=opened
| `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`. _([Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13004) in GitLab 9.5)_ |
| `author_username` | string | no | Return issues created by the given `username`. Similar to `author_id` and mutually exclusive with `author_id`. |
| `confidential` | boolean | no | Filter confidential or public issues. |
-| `created_after` | datetime | no | Return issues created on or after the given time |
-| `created_before` | datetime | no | Return issues created on or before the given time |
+| `created_after` | datetime | no | Return issues created on or after the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
+| `created_before` | datetime | no | Return issues created on or before the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
| `due_date` | string | no | Return issues that have no due date (`0`) or whose due date is this week, this month, between two weeks ago and next month, or which are overdue. Accepts: `0` (no due date), `overdue`, `week`, `month`, `next_month_and_previous_two_weeks`. _(Introduced in [GitLab 13.3](https://gitlab.com/gitlab-org/gitlab/-/issues/233420))_ |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) owned by the authenticated user |
| `iids[]` | integer array | no | Return only the issues having the given `iid` |
@@ -249,8 +252,8 @@ GET /groups/:id/issues?state=opened
| `search` | string | no | Search group issues against their `title` and `description` |
| `sort` | string | no | Return issues sorted in `asc` or `desc` order. Default is `desc` |
| `state` | string | no | Return all issues or just those that are `opened` or `closed` |
-| `updated_after` | datetime | no | Return issues updated on or after the given time |
-| `updated_before` | datetime | no | Return issues updated on or before the given time |
+| `updated_after` | datetime | no | Return issues updated on or after the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
+| `updated_before` | datetime | no | Return issues updated on or before the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
| `weight` **(STARTER)** | integer | no | Return issues with the specified `weight`. `None` returns issues with no weight assigned. `Any` returns issues with a weight assigned. |
| `with_labels_details` | boolean | no | If `true`, the response returns more details for each label in labels field: `:name`, `:color`, `:description`, `:description_html`, `:text_color`. Default is `false`. The `description_html` attribute was introduced in [GitLab 12.7](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21413) |
@@ -411,8 +414,8 @@ GET /projects/:id/issues?state=opened
| `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`. _([Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13004) in GitLab 9.5)_ |
| `author_username` | string | no | Return issues created by the given `username`. Similar to `author_id` and mutually exclusive with `author_id`. |
| `confidential` | boolean | no | Filter confidential or public issues. |
-| `created_after` | datetime | no | Return issues created on or after the given time |
-| `created_before` | datetime | no | Return issues created on or before the given time |
+| `created_after` | datetime | no | Return issues created on or after the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
+| `created_before` | datetime | no | Return issues created on or before the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
| `due_date` | string | no | Return issues that have no due date (`0`) or whose due date is this week, this month, between two weeks ago and next month, or which are overdue. Accepts: `0` (no due date), `overdue`, `week`, `month`, `next_month_and_previous_two_weeks`. _(Introduced in [GitLab 13.3](https://gitlab.com/gitlab-org/gitlab/-/issues/233420))_ |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user |
| `iids[]` | integer array | no | Return only the issues having the given `iid` |
@@ -425,8 +428,8 @@ GET /projects/:id/issues?state=opened
| `search` | string | no | Search project issues against their `title` and `description` |
| `sort` | string | no | Return issues sorted in `asc` or `desc` order. Default is `desc` |
| `state` | string | no | Return all issues or just those that are `opened` or `closed` |
-| `updated_after` | datetime | no | Return issues updated on or after the given time |
-| `updated_before` | datetime | no | Return issues updated on or before the given time |
+| `updated_after` | datetime | no | Return issues updated on or after the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
+| `updated_before` | datetime | no | Return issues updated on or before the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
| `weight` **(STARTER)** | integer | no | Return issues with the specified `weight`. `None` returns issues with no weight assigned. `Any` returns issues with a weight assigned. |
| `with_labels_details` | boolean | no | If `true`, the response returns more details for each label in labels field: `:name`, `:color`, `:description`, `:description_html`, `:text_color`. Default is `false`. `description_html` was introduced in [GitLab 12.7](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21413) |
@@ -1507,10 +1510,10 @@ Example response:
}
```
-## Create a to do
+## Create a to-do item
-Manually creates a to do for the current user on an issue. If
-there already exists a to do for the user on that issue, status code `304` is
+Manually creates a to-do item for the current user on an issue. If
+there already exists a to-do item for the user on that issue, status code `304` is
returned.
```plaintext
@@ -1941,7 +1944,7 @@ GET /projects/:id/issues/:issue_iid/closed_by
| 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 |
+| `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 issue |
```shell
@@ -2081,4 +2084,4 @@ Example response:
## List issue state events
To track which state was set, who did it, and when it happened, check out
-[Resource state events API](./resource_state_events.md#issues).
+[Resource state events API](resource_state_events.md#issues).
diff --git a/doc/api/issues_statistics.md b/doc/api/issues_statistics.md
index 8e2dcc07af8..3f0b22cca4c 100644
--- a/doc/api/issues_statistics.md
+++ b/doc/api/issues_statistics.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Issues Statistics API
Every API call to issues_statistics must be authenticated.
@@ -39,10 +45,10 @@ GET /issues_statistics?confidential=true
| `iids[]` | integer array | no | Return only the issues having the given `iid` |
| `search` | string | no | Search issues against their `title` and `description` |
| `in` | string | no | Modify the scope of the `search` attribute. `title`, `description`, or a string joining them with comma. Default is `title,description` |
-| `created_after` | datetime | no | Return issues created on or after the given time |
-| `created_before` | datetime | no | Return issues created on or before the given time |
-| `updated_after` | datetime | no | Return issues updated on or after the given time |
-| `updated_before` | datetime | no | Return issues updated on or before the given time |
+| `created_after` | datetime | no | Return issues created on or after the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
+| `created_before` | datetime | no | Return issues created on or before the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
+| `updated_after` | datetime | no | Return issues updated on or after the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
+| `updated_before` | datetime | no | Return issues updated on or before the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
| `confidential` | boolean | no | Filter confidential or public issues. |
```shell
@@ -95,10 +101,10 @@ GET /groups/:id/issues_statistics?confidential=true
| `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. |
| `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 |
-| `created_before` | datetime | no | Return issues created on or before the given time |
-| `updated_after` | datetime | no | Return issues updated on or after the given time |
-| `updated_before` | datetime | no | Return issues updated on or before the given time |
+| `created_after` | datetime | no | Return issues created on or after the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
+| `created_before` | datetime | no | Return issues created on or before the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
+| `updated_after` | datetime | no | Return issues updated on or after the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
+| `updated_before` | datetime | no | Return issues updated on or before the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
| `confidential` | boolean | no | Filter confidential or public issues. |
```shell
@@ -151,10 +157,10 @@ GET /projects/:id/issues_statistics?confidential=true
| `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. |
| `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 |
-| `created_before` | datetime | no | Return issues created on or before the given time |
-| `updated_after` | datetime | no | Return issues updated on or after the given time |
-| `updated_before` | datetime | no | Return issues updated on or before the given time |
+| `created_after` | datetime | no | Return issues created on or after the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
+| `created_before` | datetime | no | Return issues created on or before the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
+| `updated_after` | datetime | no | Return issues updated on or after the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
+| `updated_before` | datetime | no | Return issues updated on or before the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
| `confidential` | boolean | no | Filter confidential or public issues. |
```shell
diff --git a/doc/api/iterations.md b/doc/api/iterations.md
index 53a6bb00f23..9f1585eed79 100644
--- a/doc/api/iterations.md
+++ b/doc/api/iterations.md
@@ -9,7 +9,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/118742) in [GitLab Starter](https://about.gitlab.com/pricing/) 13.5.
This page describes the project iterations API.
-There's a separate [group iterations API](./group_iterations.md) page.
+There's a separate [group iterations API](group_iterations.md) page.
As of GitLab 13.5, we don't have project-level iterations, but you can use this endpoint to fetch the iterations of the project's ancestor groups.
diff --git a/doc/api/job_artifacts.md b/doc/api/job_artifacts.md
index f5510f6ee91..54085e6f508 100644
--- a/doc/api/job_artifacts.md
+++ b/doc/api/job_artifacts.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Job Artifacts API
## Get job artifacts
diff --git a/doc/api/labels.md b/doc/api/labels.md
index 30290f18653..acc80badd11 100644
--- a/doc/api/labels.md
+++ b/doc/api/labels.md
@@ -24,6 +24,7 @@ GET /projects/:id/labels
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user |
| `with_counts` | boolean | no | Whether or not to include issue and merge request counts. Defaults to `false`. _([Introduced in GitLab 12.2](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/31543))_ |
| `include_ancestor_groups` | boolean | no | Include ancestor groups. Defaults to `true`. |
+| `search` | string | no | Keyword to filter labels by. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/259024) in GitLab 13.6 |
```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/labels?with_counts=true"
@@ -248,9 +249,12 @@ An older endpoint `PUT /projects/:id/labels` with `name` or `label_id` in the pa
## Promote a project label to a group label
-> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/25218) in GitLab 12.3.
+> - [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/25218) in GitLab 12.3.
+> - In [GitLab 13.6 and later](https://gitlab.com/gitlab-org/gitlab/-/issues/231472), promoting a
+> project label keeps that label's ID and changes it into a group label. Previously, promoting a
+> project label created a new group label with a new ID and deleted the old label.
-Promotes a project label to a group label.
+Promotes a project label to a group label. The label keeps its ID.
```plaintext
PUT /projects/:id/labels/:label_id/promote
diff --git a/doc/api/license.md b/doc/api/license.md
index dcdf019059b..8c92a46a975 100644
--- a/doc/api/license.md
+++ b/doc/api/license.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# License **(CORE ONLY)**
To interact with license endpoints, you need to authenticate yourself as an
diff --git a/doc/api/lint.md b/doc/api/lint.md
index c82e0845f99..24de4a24ff1 100644
--- a/doc/api/lint.md
+++ b/doc/api/lint.md
@@ -36,7 +36,20 @@ Example responses:
```json
{
"status": "valid",
- "errors": []
+ "errors": [],
+ "warnings": []
+ }
+ ```
+
+- Valid content with warnings:
+
+ ```json
+ {
+ "status": "valid",
+ "errors": [],
+ "warnings": ["jobs:job may allow multiple pipelines to run for a single action due to
+ `rules:when` clause with no `workflow:rules` - read more:
+ https://docs.gitlab.com/ee/ci/troubleshooting.html#pipeline-warnings"]
}
```
@@ -47,7 +60,8 @@ Example responses:
"status": "invalid",
"errors": [
"variables config should be a hash of key value pairs"
- ]
+ ],
+ "warnings": []
}
```
@@ -99,6 +113,54 @@ Example response:
}
```
+## Validate a CI YAML configuration with a namespace
+
+> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/231352) in GitLab 13.6.
+
+Checks if CI/CD YAML configuration is valid. This endpoint has namespace
+specific context.
+
+```plaintext
+POST /projects/:id/ci/lint
+```
+
+| Attribute | Type | Required | Description |
+| ---------- | ------- | -------- | -------- |
+| `content` | string | yes | The CI/CD configuration content. |
+| `dry_run` | boolean | no | Run [pipeline creation simulation](../ci/lint.md#pipeline-simulation), or only do static check. This is false by default. |
+
+Example request:
+
+```shell
+curl --header "Content-Type: application/json" "https://gitlab.example.com/api/v4/projects/:id/ci/lint" --data '{"content": "{ \"image\": \"ruby:2.6\", \"services\": [\"postgres\"], \"before_script\": [\"bundle install\", \"bundle exec rake db:create\"], \"variables\": {\"DB_NAME\": \"postgres\"}, \"types\": [\"test\", \"deploy\", \"notify\"], \"rspec\": { \"script\": \"rake spec\", \"tags\": [\"ruby\", \"postgres\"], \"only\": [\"branches\"]}}"}'
+```
+
+Example responses:
+
+- Valid configuration:
+
+ ```json
+ {
+ "valid": true,
+ "merged_yaml": "---\n:test_job:\n :script: echo 1\n",
+ "errors": [],
+ "warnings": []
+ }
+ ```
+
+- Invalid configuration:
+
+ ```json
+ {
+ "valid": false,
+ "merged_yaml": "---\n:test_job:\n :script: echo 1\n",
+ "errors": [
+ "jobs config should contain at least one visible job"
+ ],
+ "warnings": []
+ }
+ ```
+
## Validate a project's CI configuration
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/231352) in GitLab 13.5.
diff --git a/doc/api/managed_licenses.md b/doc/api/managed_licenses.md
index 984cfa92d3a..f7f6fbfbc47 100644
--- a/doc/api/managed_licenses.md
+++ b/doc/api/managed_licenses.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Managed Licenses API **(ULTIMATE)**
## List managed licenses
diff --git a/doc/api/members.md b/doc/api/members.md
index 4440b70c512..d616dfdd85c 100644
--- a/doc/api/members.md
+++ b/doc/api/members.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Group and project members API
## Valid access levels
diff --git a/doc/api/merge_requests.md b/doc/api/merge_requests.md
index 194f48c6e84..44c59fd497b 100644
--- a/doc/api/merge_requests.md
+++ b/doc/api/merge_requests.md
@@ -55,10 +55,10 @@ Parameters:
| `labels` | string | no | Return merge requests matching a comma separated list of labels. `None` lists all merge requests with no labels. `Any` lists all merge requests with at least one label. `No+Label` (Deprecated) lists all merge requests with no labels. Predefined names are case-insensitive. |
| `with_labels_details` | boolean | no | If `true`, response will return more details for each label in labels field: `:name`, `:color`, `:description`, `:description_html`, `:text_color`. Default is `false`. Introduced in [GitLab 12.7](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21413) |
| `with_merge_status_recheck` | boolean | no | If `true`, this projection requests (but does not guarantee) that the `merge_status` field be recalculated asynchronously. Default is `false`. Introduced in [GitLab 13.0](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31890) |
-| `created_after` | datetime | no | Return merge requests created on or after the given time |
-| `created_before` | datetime | no | Return merge requests created on or before the given time |
-| `updated_after` | datetime | no | Return merge requests updated on or after the given time |
-| `updated_before` | datetime | no | Return merge requests updated on or before the given time |
+| `created_after` | datetime | no | Return merge requests created on or after the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
+| `created_before` | datetime | no | Return merge requests created on or before the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
+| `updated_after` | datetime | no | Return merge requests updated on or after the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
+| `updated_before` | datetime | no | Return merge requests updated on or before the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
| `scope` | string | no | Return merge requests for the given scope: `created_by_me`, `assigned_to_me` or `all`. Defaults to `created_by_me`<br> For versions before 11.0, use the now deprecated `created-by-me` or `assigned-to-me` scopes instead. |
| `author_id` | integer | no | Returns merge requests created by the given user `id`. Mutually exclusive with `author_username`. Combine with `scope=all` or `scope=assigned_to_me`
| `author_username` | string | no | Returns merge requests created by the given `username`. Mutually exclusive with `author_id`. _([Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13060) in GitLab 12.10)_ | |
@@ -72,9 +72,9 @@ Parameters:
| `in` | string | no | Modify the scope of the `search` attribute. `title`, `description`, or a string joining them with comma. Default is `title,description` |
| `wip` | string | no | Filter merge requests against their `wip` status. `yes` to return *only* WIP merge requests, `no` to return *non* WIP merge requests |
| `not` | Hash | no | Return merge requests that do not match the parameters supplied. Accepts: `labels`, `milestone`, `author_id`, `author_username`, `assignee_id`, `assignee_username`, `my_reaction_emoji` |
-| `environment` | string | no | Returns merge requests deployed to the given environment
-| `deployed_before` | datetime | no | Return merge requests deployed before the given date/time
-| `deployed_after` | datetime | no | Return merge requests deployed after the given date/time
+| `environment` | string | no | Returns merge requests deployed to the given environment. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
+| `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:**
[Starting in GitLab 13.0](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31890),
@@ -246,10 +246,10 @@ Parameters:
| `labels` | string | no | Return merge requests matching a comma separated list of labels. `None` lists all merge requests with no labels. `Any` lists all merge requests with at least one label. `No+Label` (Deprecated) lists all merge requests with no labels. Predefined names are case-insensitive. |
| `with_labels_details` | boolean | no | If `true`, response will return more details for each label in labels field: `:name`, `:color`, `:description`, `:description_html`, `:text_color`. Default is `false`. Introduced in [GitLab 12.7](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21413) |
| `with_merge_status_recheck` | boolean | no | If `true`, this projection requests (but does not guarantee) that the `merge_status` field be recalculated asynchronously. Default is `false`. Introduced in [GitLab 13.0](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31890) |
-| `created_after` | datetime | no | Return merge requests created on or after the given time |
-| `created_before` | datetime | no | Return merge requests created on or before the given time |
-| `updated_after` | datetime | no | Return merge requests updated on or after the given time |
-| `updated_before` | datetime | no | Return merge requests updated on or before the given time |
+| `created_after` | datetime | no | Return merge requests created on or after the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
+| `created_before` | datetime | no | Return merge requests created on or before the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
+| `updated_after` | datetime | no | Return merge requests updated on or after the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
+| `updated_before` | datetime | no | Return merge requests updated on or before the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
| `scope` | string | no | Return merge requests for the given scope: `created_by_me`, `assigned_to_me` or `all`.<br> For versions before 11.0, use the now deprecated `created-by-me` or `assigned-to-me` scopes instead.<br> _([Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13060) in GitLab 9.5. [Changed to snake_case](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/18935) in GitLab 11.0)_ |
| `author_id` | integer | no | Returns merge requests created by the given user `id`. Mutually exclusive with `author_username`. _([Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13060) in GitLab 9.5)_
| `author_username` | string | no | Returns merge requests created by the given `username`. Mutually exclusive with `author_id`. _([Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13060) in GitLab 12.10)_ | |
@@ -410,10 +410,10 @@ Parameters:
| `labels` | string | no | Return merge requests matching a comma separated list of labels. `None` lists all merge requests with no labels. `Any` lists all merge requests with at least one label. `No+Label` (Deprecated) lists all merge requests with no labels. Predefined names are case-insensitive. |
| `with_labels_details` | boolean | no | If `true`, response will return more details for each label in labels field: `:name`, `:color`, `:description`, `:description_html`, `:text_color`. Default is `false`. Introduced in [GitLab 12.7](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21413)|
| `with_merge_status_recheck` | boolean | no | If `true`, this projection requests (but does not guarantee) that the `merge_status` field be recalculated asynchronously. Default is `false`. Introduced in [GitLab 13.0](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31890) |
-| `created_after` | datetime | no | Return merge requests created on or after the given time |
-| `created_before` | datetime | no | Return merge requests created on or before the given time |
-| `updated_after` | datetime | no | Return merge requests updated on or after the given time |
-| `updated_before` | datetime | no | Return merge requests updated on or before the given time |
+| `created_after` | datetime | no | Return merge requests created on or after the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
+| `created_before` | datetime | no | Return merge requests created on or before the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
+| `updated_after` | datetime | no | Return merge requests updated on or after the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
+| `updated_before` | datetime | no | Return merge requests updated on or before the given time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
| `scope` | string | no | Return merge requests for the given scope: `created_by_me`, `assigned_to_me` or `all`.<br> |
| `author_id` | integer | no | Returns merge requests created by the given user `id`. Mutually exclusive with `author_username`. _([Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13060) in GitLab 9.5)_
| `author_username` | string | no | Returns merge requests created by the given `username`. Mutually exclusive with `author_id`. _([Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13060) in GitLab 12.10)_ | |
@@ -787,10 +787,17 @@ Shows information about the merge request including its files and changes.
GET /projects/:id/merge_requests/:merge_request_iid/changes
```
+[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46190) in GitLab 13.6,
+diffs associated with the set of changes will have the same size limitations applied as other diffs
+returned by the API or viewed via the UI. When these limits impact the results, the `overflow`
+field will contain a value of `true`. Diff data without these limits applied can be retrieved by
+adding the `access_raw_diffs` parameter, however, it will be slower and more resource-intensive.
+
Parameters:
-- `id` (required) - The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user
-- `merge_request_iid` (required) - The internal ID of the merge request
+- `id` (required) - The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user.
+- `merge_request_iid` (required) - The internal ID of the merge request.
+- `access_raw_diffs` (optional) - Retrieve change diffs without size limitations.
```json
{
@@ -884,7 +891,8 @@ Parameters:
"renamed_file": false,
"deleted_file": false
}
- ]
+ ],
+ "overflow": false
}
```
@@ -2089,10 +2097,10 @@ the `approvals_before_merge` parameter:
}
```
-## Create a to do
+## Create a to-do item
-Manually creates a to do for the current user on a merge request.
-If there already exists a to do for the user on that merge request,
+Manually creates a to-do item for the current user on a merge request.
+If there already exists a to-do item for the user on that merge request,
status code `304` is returned.
```plaintext
@@ -2464,4 +2472,4 @@ For approvals, please see [Merge Request Approvals](merge_request_approvals.md)
## List merge request state events
To track which state was set, who did it, and when it happened, check out
-[Resource state events API](./resource_state_events.md#merge-requests).
+[Resource state events API](resource_state_events.md#merge-requests).
diff --git a/doc/api/milestones.md b/doc/api/milestones.md
index 7b26dbadad4..161b3b81499 100644
--- a/doc/api/milestones.md
+++ b/doc/api/milestones.md
@@ -7,7 +7,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
# Project milestones API
This page describes the project milestones API.
-There's a separate [group milestones API](./group_milestones.md) page.
+There's a separate [group milestones API](group_milestones.md) page.
## List project milestones
diff --git a/doc/api/namespaces.md b/doc/api/namespaces.md
index 0792c6d4a3b..f61400dfddb 100644
--- a/doc/api/namespaces.md
+++ b/doc/api/namespaces.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Namespaces API
Usernames and groupnames fall under a special category called namespaces.
diff --git a/doc/api/notes.md b/doc/api/notes.md
index aaff28757bb..70aa4923b97 100644
--- a/doc/api/notes.md
+++ b/doc/api/notes.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
+---
+
# Notes API
Notes are comments on:
diff --git a/doc/api/notification_settings.md b/doc/api/notification_settings.md
index 8442e371a56..cbe5aa46a5d 100644
--- a/doc/api/notification_settings.md
+++ b/doc/api/notification_settings.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Notification settings API
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/5632) in GitLab 8.12.
diff --git a/doc/api/oauth2.md b/doc/api/oauth2.md
index 5fbb7913ff4..b1c81ff20b6 100644
--- a/doc/api/oauth2.md
+++ b/doc/api/oauth2.md
@@ -1,3 +1,10 @@
+---
+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/technica l-writing/#designated-technical-writers
+---
+
# GitLab as an OAuth2 provider
This document covers using the [OAuth2](https://oauth.net/2/) protocol to allow
@@ -28,12 +35,24 @@ During registration, by enabling proper scopes, you can limit the range of
resources which the `application` can access. Upon creation, you'll obtain the
`application` credentials: _Application ID_ and _Client Secret_ - **keep them secure**.
-CAUTION: **Important:**
-OAuth specification advises sending the `state` parameter with each request to
-`/oauth/authorize`. We highly recommended sending a unique value with each request
-and validate it against the one in the redirect request. This is important in
-order to prevent [CSRF attacks](https://wiki.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)).
-The `state` parameter really should have been a requirement in the standard!
+### Prevent CSRF attacks
+
+To [protect redirect-based flows](https://tools.ietf.org/id/draft-ietf-oauth-security-topics-13.html#rec_redirect),
+the OAuth specification recommends the use of "One-time use CSRF tokens carried in the state
+parameter, which are securely bound to the user agent", with each request to the
+`/oauth/authorize` endpoint. This can prevent
+[CSRF attacks](https://wiki.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)).
+
+### Use HTTPS in production
+
+For production, please use HTTPS for your `redirect_uri`.
+For development, GitLab allows insecure HTTP redirect URIs.
+
+As OAuth2 bases its security entirely on the transport layer, you should not use unprotected
+URIs. For more information, see the [OAuth 2.0 RFC](https://tools.ietf.org/html/rfc6749#section-3.1.2.1)
+and the [OAuth 2.0 Threat Model RFC](https://tools.ietf.org/html/rfc6819#section-4.4.2.1).
+These factors are particularly important when using the
+[Implicit grant flow](#implicit-grant-flow), where actual credentials are included in the `redirect_uri`.
In the following sections you will find detailed instructions on how to obtain
authorization with each flow.
diff --git a/doc/api/packages.md b/doc/api/packages.md
index d4e69b9bc66..8124b081506 100644
--- a/doc/api/packages.md
+++ b/doc/api/packages.md
@@ -93,9 +93,10 @@ GET /groups/:id/packages
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/packages?exclude_subgroups=true"
```
-CAUTION: **Deprecation:**
-> The `build_info` attribute in the response is deprecated in favour of `pipeline`.
-> Introduced [GitLab 12.10](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28040).
+> **Deprecation:**
+>
+> The `pipeline` attribute in the response is deprecated in favor of `pipelines`, which was [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44348) in GitLab 13.6. Both are available until 13.7.
+> The `build_info` attribute in the response is deprecated in favor of `pipeline`, which was [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28040) in GitLab 12.10.
Example response:
@@ -111,19 +112,21 @@ Example response:
"delete_api_path": "/namespace1/project1/-/packages/1"
},
"created_at": "2019-11-27T03:37:38.711Z",
- "pipeline": {
- "id": 123,
- "status": "pending",
- "ref": "new-pipeline",
- "sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a",
- "web_url": "https://example.com/foo/bar/pipelines/47",
- "created_at": "2016-08-11T11:28:34.085Z",
- "updated_at": "2016-08-11T11:32:35.169Z",
- "user": {
- "name": "Administrator",
- "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon"
+ "pipelines": [
+ {
+ "id": 123,
+ "status": "pending",
+ "ref": "new-pipeline",
+ "sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a",
+ "web_url": "https://example.com/foo/bar/pipelines/47",
+ "created_at": "2016-08-11T11:28:34.085Z",
+ "updated_at": "2016-08-11T11:32:35.169Z",
+ "user": {
+ "name": "Administrator",
+ "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon"
+ }
}
- }
+ ]
},
{
"id": 2,
@@ -135,19 +138,21 @@ Example response:
"delete_api_path": "/namespace1/project1/-/packages/1"
},
"created_at": "2019-11-27T03:37:38.711Z",
- "pipeline": {
- "id": 123,
- "status": "pending",
- "ref": "new-pipeline",
- "sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a",
- "web_url": "https://example.com/foo/bar/pipelines/47",
- "created_at": "2016-08-11T11:28:34.085Z",
- "updated_at": "2016-08-11T11:32:35.169Z",
- "user": {
- "name": "Administrator",
- "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon"
+ "pipelines": [
+ {
+ "id": 123,
+ "status": "pending",
+ "ref": "new-pipeline",
+ "sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a",
+ "web_url": "https://example.com/foo/bar/pipelines/47",
+ "created_at": "2016-08-11T11:28:34.085Z",
+ "updated_at": "2016-08-11T11:32:35.169Z",
+ "user": {
+ "name": "Administrator",
+ "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon"
+ }
}
- }
+ ]
}
]
```
@@ -178,9 +183,10 @@ GET /projects/:id/packages/:package_id
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/:id/packages/:package_id"
```
-CAUTION: **Deprecation:**
-> The `build_info` attribute in the response is deprecated in favour of `pipeline`.
-> Introduced [GitLab 12.10](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28040).
+> **Deprecation:**
+>
+> The `pipeline` attribute in the response is deprecated in favor of `pipelines`, which was [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44348) in GitLab 13.6. Both are available until 13.7.
+> The `build_info` attribute in the response is deprecated in favor of `pipeline`, which was [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28040) in GitLab 12.10.
Example response:
@@ -195,37 +201,41 @@ Example response:
"delete_api_path": "/namespace1/project1/-/packages/1"
},
"created_at": "2019-11-27T03:37:38.711Z",
- "pipeline": {
- "id": 123,
- "status": "pending",
- "ref": "new-pipeline",
- "sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a",
- "web_url": "https://example.com/foo/bar/pipelines/47",
- "created_at": "2016-08-11T11:28:34.085Z",
- "updated_at": "2016-08-11T11:32:35.169Z",
- "user": {
- "name": "Administrator",
- "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon"
+ "pipelines": [
+ {
+ "id": 123,
+ "status": "pending",
+ "ref": "new-pipeline",
+ "sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a",
+ "web_url": "https://example.com/foo/bar/pipelines/47",
+ "created_at": "2016-08-11T11:28:34.085Z",
+ "updated_at": "2016-08-11T11:32:35.169Z",
+ "user": {
+ "name": "Administrator",
+ "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon"
+ }
}
- },
+ ],
"versions": [
{
"id":2,
"version":"2.0-SNAPSHOT",
"created_at":"2020-04-28T04:42:11.573Z",
- "pipeline": {
- "id": 234,
- "status": "pending",
- "ref": "new-pipeline",
- "sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a",
- "web_url": "https://example.com/foo/bar/pipelines/58",
- "created_at": "2016-08-11T11:28:34.085Z",
- "updated_at": "2016-08-11T11:32:35.169Z",
- "user": {
- "name": "Administrator",
- "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon"
+ "pipelines": [
+ {
+ "id": 234,
+ "status": "pending",
+ "ref": "new-pipeline",
+ "sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a",
+ "web_url": "https://example.com/foo/bar/pipelines/58",
+ "created_at": "2016-08-11T11:28:34.085Z",
+ "updated_at": "2016-08-11T11:32:35.169Z",
+ "user": {
+ "name": "Administrator",
+ "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon"
+ }
}
- }
+ ]
}
]
}
@@ -266,7 +276,22 @@ Example response:
"file_name": "my-app-1.5-20181107.152550-1.jar",
"size": 2421,
"file_md5": "58e6a45a629910c6ff99145a688971ac",
- "file_sha1": "ebd193463d3915d7e22219f52740056dfd26cbfe"
+ "file_sha1": "ebd193463d3915d7e22219f52740056dfd26cbfe",
+ "pipelines": [
+ {
+ "id": 123,
+ "status": "pending",
+ "ref": "new-pipeline",
+ "sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a",
+ "web_url": "https://example.com/foo/bar/pipelines/47",
+ "created_at": "2016-08-11T11:28:34.085Z",
+ "updated_at": "2016-08-11T11:32:35.169Z",
+ "user": {
+ "name": "Administrator",
+ "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon"
+ }
+ }
+ ]
},
{
"id": 26,
diff --git a/doc/api/personal_access_tokens.md b/doc/api/personal_access_tokens.md
index 43310570fe8..f7cbaeba438 100644
--- a/doc/api/personal_access_tokens.md
+++ b/doc/api/personal_access_tokens.md
@@ -1,10 +1,17 @@
-# Personal access tokens API **(ULTIMATE)**
+---
+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
+---
+
+# Personal access tokens API
You can read more about [personal access tokens](../user/profile/personal_access_tokens.md#personal-access-tokens).
## List personal access tokens
-> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/227264) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 13.3.
+> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/227264) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 13.3.
+> - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/270200) to [GitLab Core](https://about.gitlab.com/pricing/) in 13.6.
Get a list of personal access tokens.
@@ -86,3 +93,7 @@ curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://git
- `204: No Content` if successfully revoked.
- `400 Bad Request` if not revoked successfully.
+
+## Create a personal access token (admin only)
+
+See the [Users API documentation](users.md#create-a-personal-access-token-admin-only) for information on creating a personal access token.
diff --git a/doc/api/pipelines.md b/doc/api/pipelines.md
index 95a7787e029..145a0a5ab7e 100644
--- a/doc/api/pipelines.md
+++ b/doc/api/pipelines.md
@@ -39,8 +39,8 @@ GET /projects/:id/pipelines
| `yaml_errors`| boolean | no | Returns pipelines with invalid configurations |
| `name`| string | no | The name of the user who triggered pipelines |
| `username`| string | no | The username of the user who triggered pipelines |
-| `updated_after` | datetime | no | Return pipelines updated after the specified date. Format: ISO 8601 YYYY-MM-DDTHH:MM:SSZ |
-| `updated_before` | datetime | no | Return pipelines updated before the specified date. Format: ISO 8601 YYYY-MM-DDTHH:MM:SSZ |
+| `updated_after` | datetime | no | Return pipelines updated after the specified date. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`). |
+| `updated_before` | datetime | no | Return pipelines updated before the specified date. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`). |
| `order_by`| string | no | Order pipelines by `id`, `status`, `ref`, `updated_at` or `user_id` (default: `id`) |
| `sort` | string | no | Sort pipelines in `asc` or `desc` order (default: `desc`) |
diff --git a/doc/api/project_repository_storage_moves.md b/doc/api/project_repository_storage_moves.md
index b490b6235b1..c1ba421e73e 100644
--- a/doc/api/project_repository_storage_moves.md
+++ b/doc/api/project_repository_storage_moves.md
@@ -9,7 +9,7 @@ type: reference
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31285) in GitLab 13.0.
-Project repositories can be moved between storages. This can be useful when
+Project repositories including wiki and design repositories can be moved between storages. This can be useful when
[migrating to Gitaly Cluster](../administration/gitaly/praefect.md#migrate-existing-repositories-to-gitaly-cluster),
for example.
@@ -22,10 +22,19 @@ of `state` are:
- `finished`
- `failed`
- `replicated`
-- `cleanup_failed`
+- `cleanup failed`
+
+To ensure data integrity, projects are put in a temporary read-only state for the
+duration of the move. During this time, users receive a `The repository is temporarily
+read-only. Please try again later.` message if they try to push new commits.
This API requires you to [authenticate yourself](README.md#authentication) as an administrator.
+## Limitations
+
+- The repositories associated with snippets [can't be moved with the API](https://gitlab.com/groups/gitlab-org/-/epics/3393).
+- Group-level wikis [can't be moved with the API](https://gitlab.com/gitlab-org/gitlab/-/issues/219003).
+
## Retrieve all project repository storage moves
```plaintext
@@ -185,6 +194,14 @@ Example response:
## Schedule a repository storage move for a project
+> - [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:**
+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.
+
```plaintext
POST /projects/:project_id/repository_storage_moves
```
@@ -194,12 +211,12 @@ Parameters:
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `project_id` | integer | yes | ID of the project |
-| `destination_storage_name` | string | no | Name of the destination storage shard. If not provided the storage will be selected automatically. |
+| `destination_storage_name` | string | no | Name of the destination storage shard. In [GitLab 13.5 and later](https://gitlab.com/gitlab-org/gitaly/-/issues/3209), 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" \
+curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \
--data '{"destination_storage_name":"storage2"}' "https://gitlab.example.com/api/v4/projects/1/repository_storage_moves"
```
diff --git a/doc/api/project_snippets.md b/doc/api/project_snippets.md
index cc8bb20b003..7955050e716 100644
--- a/doc/api/project_snippets.md
+++ b/doc/api/project_snippets.md
@@ -17,7 +17,7 @@ Constants for snippet visibility levels are:
| visibility | Description |
| ---------- | ----------- |
| `private` | The snippet is visible only the snippet creator |
-| `internal` | The snippet is visible for any logged in user |
+| `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:**
diff --git a/doc/api/projects.md b/doc/api/projects.md
index f6ed905cda1..1c162e0bbd3 100644
--- a/doc/api/projects.md
+++ b/doc/api/projects.md
@@ -13,62 +13,61 @@ This is determined by the `visibility` field in the project.
Values for the project visibility level are:
-- `private`:
- Project access must be granted explicitly for each user.
-- `internal`:
- The project can be cloned by any logged in user.
-- `public`:
- The project can be accessed without any authentication.
+- `private`: project access must be granted explicitly for each user.
+- `internal`: the project can be cloned by any signed-in user except [external users](../user/permissions.md#external-users).
+- `public`: the project can be accessed without any authentication.
## Project merge method
There are three options for `merge_method` to choose from:
-- `merge`:
- A merge commit is created for every merge, and merging is allowed as long as there are no conflicts.
-- `rebase_merge`:
- A merge commit is created for every merge, but merging is only allowed if fast-forward merge is possible.
- This way you could make sure that if this merge request would build, after merging to target branch it would also build.
-- `ff`:
- No merge commits are created and all merges are fast-forwarded, which means that merging is only allowed if the branch could be fast-forwarded.
+- `merge`: a merge commit is created for every merge, and merging is allowed if
+ there are no conflicts.
+- `rebase_merge`: a merge commit is created for every merge, but merging is only
+ allowed if fast-forward merge is possible. This way you could make sure that
+ if this merge request would build, after merging to target branch it would
+ also build.
+- `ff`: no merge commits are created and all merges are fast-forwarded, which
+ means that merging is only allowed if the branch could be fast-forwarded.
## List all projects
Get a list of all visible projects across GitLab for the authenticated user.
-When accessed without authentication, only public projects with "simple" fields are returned.
+When accessed without authentication, only public projects with _simple_ fields
+are returned.
```plaintext
GET /projects
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `archived` | boolean | no | Limit by archived status |
-| `id_after` | integer | no | Limit results to projects with IDs greater than the specified ID |
-| `id_before` | integer | no | Limit results to projects with IDs less than the specified ID |
-| `last_activity_after` | datetime | no | Limit results to projects with last_activity after specified time. Format: ISO 8601 YYYY-MM-DDTHH:MM:SSZ |
-| `last_activity_before` | datetime | no | Limit results to projects with last_activity before specified time. Format: ISO 8601 YYYY-MM-DDTHH:MM:SSZ |
-| `membership` | boolean | no | Limit by projects that the current user is a member of |
-| `min_access_level` | integer | no | Limit by current user minimal [access level](members.md#valid-access-levels) |
-| `order_by` | string | 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` |
-| `owned` | boolean | no | Limit by projects explicitly owned by the current user |
-| `repository_checksum_failed` | boolean | no | **(PREMIUM)** 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 | no | Limit results to projects stored on repository_storage. Available for admins only. |
-| `search_namespaces` | boolean | no | Include ancestor namespaces when matching search criteria. Default is `false` |
-| `search` | string | no | Return list of projects matching the search criteria |
-| `simple` | boolean | no | Return only limited fields for each project. This is a no-op without authentication as then _only_ simple fields are returned. |
-| `sort` | string | no | Return projects sorted in `asc` or `desc` order. Default is `desc` |
-| `starred` | boolean | no | Limit by projects starred by the current user |
-| `statistics` | boolean | no | Include project statistics |
-| `visibility` | string | no | Limit by visibility `public`, `internal`, or `private` |
-| `wiki_checksum_failed` | boolean | no | **(PREMIUM)** Limit projects where the wiki checksum calculation has failed ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6137) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.2) |
-| `with_custom_attributes` | boolean | no | Include [custom attributes](custom_attributes.md) in response (admins only) |
-| `with_issues_enabled` | boolean | no | Limit by enabled issues feature |
-| `with_merge_requests_enabled` | boolean | no | Limit by enabled merge requests feature |
-| `with_programming_language` | string | no | Limit by projects which use the given programming language |
-
-NOTE: **Note:**
-This endpoint supports [keyset pagination](README.md#keyset-based-pagination) for selected `order_by` options.
+| Attribute | Type | Required | Description |
+|--------------------------------------------|----------|------------------------|-------------|
+| `archived` | boolean | **{dotted-circle}** No | Limit by archived status. |
+| `id_after` | integer | **{dotted-circle}** No | Limit results to projects with IDs greater than the specified ID. |
+| `id_before` | integer | **{dotted-circle}** No | Limit results to projects with IDs less than the specified ID. |
+| `last_activity_after` | datetime | **{dotted-circle}** No | Limit results to projects with last_activity after specified time. Format: ISO 8601 YYYY-MM-DDTHH:MM:SSZ |
+| `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`. |
+| `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)_ |
+| `search_namespaces` | boolean | **{dotted-circle}** No | Include ancestor namespaces when matching search criteria. Default is `false`. |
+| `search` | string | **{dotted-circle}** No | Return list of projects matching the search criteria. |
+| `simple` | boolean | **{dotted-circle}** No | Return only limited fields for each project. This is a no-op without authentication as then _only_ simple fields are returned. |
+| `sort` | string | **{dotted-circle}** No | Return projects sorted in `asc` or `desc` order. Default is `desc`. |
+| `starred` | boolean | **{dotted-circle}** No | Limit by projects starred by the current user. |
+| `statistics` | boolean | **{dotted-circle}** No | Include project statistics. |
+| `visibility` | string | **{dotted-circle}** No | Limit by visibility `public`, `internal`, or `private`. |
+| `wiki_checksum_failed` **(PREMIUM)** | boolean | **{dotted-circle}** No | Limit projects where the wiki checksum calculation has failed ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6137) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.2). |
+| `with_custom_attributes` | boolean | **{dotted-circle}** No | Include [custom attributes](custom_attributes.md) in response. _(admins only)_ |
+| `with_issues_enabled` | boolean | **{dotted-circle}** No | Limit by enabled issues feature. |
+| `with_merge_requests_enabled` | boolean | **{dotted-circle}** No | Limit by enabled merge requests feature. |
+| `with_programming_language` | string | **{dotted-circle}** No | Limit by projects which use the given programming language. |
+
+This endpoint supports [keyset pagination](README.md#keyset-based-pagination)
+for selected `order_by` options.
When `simple=true` or the user is unauthenticated this returns something like:
@@ -297,11 +296,12 @@ When the user is authenticated and `simple` is not set this returns something li
```
NOTE: **Note:**
-For users on 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.
+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.
-Users on GitLab [Starter, Bronze, or higher](https://about.gitlab.com/pricing/) can also see
-the `approvals_before_merge` parameter:
+Users of GitLab [Starter, Bronze, or higher](https://about.gitlab.com/pricing/)
+can also see the `approvals_before_merge` parameter:
```json
[
@@ -322,44 +322,45 @@ GET /projects?custom_attributes[key]=value&custom_attributes[other_key]=other_va
### Pagination limits
-In GitLab 13.0 and later, [offset-based pagination](README.md#offset-based-pagination) is
-[limited to 50,000 records](https://gitlab.com/gitlab-org/gitlab/-/issues/34565).
-[Keyset pagination](README.md#keyset-based-pagination) is required to retrieve projects
-beyond this limit.
+In GitLab 13.0 and later, [offset-based pagination](README.md#offset-based-pagination)
+is [limited to 50,000 records](https://gitlab.com/gitlab-org/gitlab/-/issues/34565).
+[Keyset pagination](README.md#keyset-based-pagination) is required to retrieve
+projects beyond this limit.
-Note that keyset pagination only supports `order_by=id`. Other sorting options are not available.
+Keyset pagination supports only `order_by=id`. Other sorting options aren't available.
## List user projects
-Get a list of visible projects owned by the given user. When accessed without authentication, only public projects are returned.
+Get a list of visible projects owned by the given user. When accessed without
+authentication, only public projects are returned.
+
+This endpoint supports [keyset pagination](README.md#keyset-based-pagination)
+for selected `order_by` options.
```plaintext
GET /users/:user_id/projects
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `user_id` | string | yes | The ID or username of the user |
-| `archived` | boolean | no | Limit by archived status |
-| `visibility` | string | no | Limit by visibility `public`, `internal`, or `private` |
-| `order_by` | string | no | Return projects ordered by `id`, `name`, `path`, `created_at`, `updated_at`, or `last_activity_at` fields. Default is `created_at` |
-| `sort` | string | no | Return projects sorted in `asc` or `desc` order. Default is `desc` |
-| `search` | string | no | Return list of projects matching the search criteria |
-| `simple` | boolean | no | Return only limited fields for each project. This is a no-op without authentication as then _only_ simple fields are returned. |
-| `owned` | boolean | no | Limit by projects explicitly owned by the current user |
-| `membership` | boolean | no | Limit by projects that the current user is a member of |
-| `starred` | boolean | no | Limit by projects starred by the current user |
-| `statistics` | boolean | no | Include project statistics |
-| `with_custom_attributes` | boolean | no | Include [custom attributes](custom_attributes.md) in response (admins only) |
-| `with_issues_enabled` | boolean | no | Limit by enabled issues feature |
-| `with_merge_requests_enabled` | boolean | no | Limit by enabled merge requests feature |
-| `with_programming_language` | string | no | Limit by projects which use the given programming language |
-| `min_access_level` | integer | no | Limit by current user minimal [access level](members.md#valid-access-levels) |
-| `id_after` | integer | no | Limit results to projects with IDs greater than the specified ID |
-| `id_before` | integer | no | Limit results to projects with IDs less than the specified ID |
-
-NOTE: **Note:**
-This endpoint supports [keyset pagination](README.md#keyset-based-pagination) for selected `order_by` options.
+| Attribute | Type | Required | Description |
+|-------------------------------|---------|------------------------|-------------|
+| `archived` | boolean | **{dotted-circle}** No | Limit by archived status. |
+| `id_after` | integer | **{dotted-circle}** No | Limit results to projects with IDs greater than the specified ID. |
+| `id_before` | integer | **{dotted-circle}** No | Limit results to projects with IDs less than the specified ID. |
+| `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. Default is `created_at`. |
+| `owned` | boolean | **{dotted-circle}** No | Limit by projects explicitly owned by the current user. |
+| `search` | string | **{dotted-circle}** No | Return list of projects matching the search criteria. |
+| `simple` | boolean | **{dotted-circle}** No | Return only limited fields for each project. This is a no-op without authentication as then _only_ simple fields are returned. |
+| `sort` | string | **{dotted-circle}** No | Return projects sorted in `asc` or `desc` order. Default is `desc`. |
+| `starred` | boolean | **{dotted-circle}** No | Limit by projects starred by the current user. |
+| `statistics` | boolean | **{dotted-circle}** No | Include project statistics. |
+| `user_id` | string | **{check-circle}** Yes | The ID or username of the user. |
+| `visibility` | string | **{dotted-circle}** No | Limit by visibility `public`, `internal`, or `private`. |
+| `with_custom_attributes` | boolean | **{dotted-circle}** No | Include [custom attributes](custom_attributes.md) in response. _(admins only)_ |
+| `with_issues_enabled` | boolean | **{dotted-circle}** No | Limit by enabled issues feature. |
+| `with_merge_requests_enabled` | boolean | **{dotted-circle}** No | Limit by enabled merge requests feature. |
+| `with_programming_language` | string | **{dotted-circle}** No | Limit by projects which use the given programming language. |
```json
[
@@ -554,29 +555,30 @@ This endpoint supports [keyset pagination](README.md#keyset-based-pagination) fo
## List projects starred by a user
-Get a list of visible projects owned by the given user. When accessed without authentication, only public projects are returned.
+Get a list of visible projects owned by the given user. When accessed without
+authentication, only public projects are returned.
```plaintext
GET /users/:user_id/starred_projects
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `user_id` | string | yes | The ID or username of the user. |
-| `archived` | boolean | no | Limit by archived status. |
-| `visibility` | string | no | Limit by visibility `public`, `internal`, or `private`. |
-| `order_by` | string | no | Return projects ordered by `id`, `name`, `path`, `created_at`, `updated_at`, or `last_activity_at` fields. Default is `created_at`. |
-| `sort` | string | no | Return projects sorted in `asc` or `desc` order. Default is `desc`. |
-| `search` | string | no | Return list of projects matching the search criteria. |
-| `simple` | boolean | no | Return only limited fields for each project. This is a no-op without authentication as then _only_ simple fields are returned.. |
-| `owned` | boolean | no | Limit by projects explicitly owned by the current user. |
-| `membership` | boolean | no | Limit by projects that the current user is a member of. |
-| `starred` | boolean | no | Limit by projects starred by the current user. |
-| `statistics` | boolean | no | Include project statistics. |
-| `with_custom_attributes` | boolean | no | Include [custom attributes](custom_attributes.md) in response (admins only). |
-| `with_issues_enabled` | boolean | no | Limit by enabled issues feature. |
-| `with_merge_requests_enabled` | boolean | no | Limit by enabled merge requests feature. |
-| `min_access_level` | integer | no | Limit by current user minimal [access level](members.md#valid-access-levels). |
+| Attribute | Type | Required | Description |
+|-------------------------------|---------|------------------------|-------------|
+| `archived` | boolean | **{dotted-circle}** No | Limit by archived status. |
+| `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. Default is `created_at`. |
+| `owned` | boolean | **{dotted-circle}** No | Limit by projects explicitly owned by the current user. |
+| `search` | string | **{dotted-circle}** No | Return list of projects matching the search criteria. |
+| `simple` | boolean | **{dotted-circle}** No | Return only limited fields for each project. This is a no-op without authentication as then _only_ simple fields are returned.. |
+| `sort` | string | **{dotted-circle}** No | Return projects sorted in `asc` or `desc` order. Default is `desc`. |
+| `starred` | boolean | **{dotted-circle}** No | Limit by projects starred by the current user. |
+| `statistics` | boolean | **{dotted-circle}** No | Include project statistics. |
+| `user_id` | string | **{check-circle}** Yes | The ID or username of the user. |
+| `visibility` | string | **{dotted-circle}** No | Limit by visibility `public`, `internal`, or `private`. |
+| `with_custom_attributes` | boolean | **{dotted-circle}** No | Include [custom attributes](custom_attributes.md) in response. _(admins only)_ |
+| `with_issues_enabled` | boolean | **{dotted-circle}** No | Limit by enabled issues feature. |
+| `with_merge_requests_enabled` | boolean | **{dotted-circle}** No | Limit by enabled merge requests feature. |
```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/5/starred_projects"
@@ -772,12 +774,12 @@ the project is publicly accessible.
GET /projects/:id
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
-| `statistics` | boolean | no | Include project statistics |
-| `license` | boolean | no | Include project license data |
-| `with_custom_attributes` | boolean | no | Include [custom attributes](custom_attributes.md) in response (admins only) |
+| Attribute | Type | Required | Description |
+|--------------------------|----------------|------------------------|-------------|
+| `id` | integer/string | **{check-circle}** Yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
+| `license` | boolean | **{dotted-circle}** No | Include project license data. |
+| `statistics` | boolean | **{dotted-circle}** No | Include project statistics. |
+| `with_custom_attributes` | boolean | **{dotted-circle}** No | Include [custom attributes](custom_attributes.md) in response. _(admins only)_ |
```json
{
@@ -924,8 +926,8 @@ GET /projects/:id
}
```
-Users on GitLab [Starter, Bronze, or higher](https://about.gitlab.com/pricing/) can also see
-the `approvals_before_merge` parameter:
+Users on GitLab [Starter, Bronze, or higher](https://about.gitlab.com/pricing/)
+can also see the `approvals_before_merge` parameter:
```json
{
@@ -936,7 +938,9 @@ the `approvals_before_merge` parameter:
}
```
-**Note**: The `web_url` and `avatar_url` attributes on `namespace` were [introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/27427) in GitLab 11.11.
+The `web_url` and `avatar_url` attributes on `namespace` were
+[introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/27427)
+in GitLab 11.11.
If the project is a fork, and you provide a valid token to authenticate, the
`forked_from_project` field appears in the response.
@@ -995,11 +999,11 @@ Get the users list of a project.
GET /projects/:id/users
```
-| Attribute | Type | Required | Description |
-| ------------ | ------------- | -------- | ----------- |
-| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
-| `search` | string | no | Search for specific users |
-| `skip_users` | integer array | no | Filter out users with the specified IDs |
+| Attribute | Type | Required | Description |
+|--------------|----------------|------------------------|-------------|
+| `id` | integer/string | **{check-circle}** Yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
+| `search` | string | **{dotted-circle}** No | Search for specific users. |
+| `skip_users` | integer array | **{dotted-circle}** No | Filter out users with the specified IDs. |
```json
[
@@ -1024,223 +1028,223 @@ GET /projects/:id/users
## Get project events
-Please refer to the [Events API documentation](events.md#list-a-projects-visible-events).
+Refer to the [Events API documentation](events.md#list-a-projects-visible-events).
## Create project
Creates a new project owned by the authenticated user.
+If your HTTP repository isn't publicly accessible, add authentication information
+to the URL `https://username:password@gitlab.company.com/group/project.git`,
+where `password` is a public access key with the `api` scope enabled.
+
```plaintext
POST /projects
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `name` | string | yes if path is not provided | The name of the new project. Equals path if not provided. |
-| `path` | string | yes if name is not provided | Repository name for new project. Generated based on name if not provided (generated as lowercase with dashes). |
-| `namespace_id` | integer | no | Namespace for the new project (defaults to the current user's namespace) |
-| `default_branch` | string | no | `master` by default |
-| `description` | string | no | Short project description |
-| `issues_enabled` | boolean | no | (deprecated) Enable issues for this project. Use `issues_access_level` instead |
-| `merge_requests_enabled` | boolean | no | (deprecated) Enable merge requests for this project. Use `merge_requests_access_level` instead |
-| `jobs_enabled` | boolean | no | (deprecated) Enable jobs for this project. Use `builds_access_level` instead |
-| `wiki_enabled` | boolean | no | (deprecated) Enable wiki for this project. Use `wiki_access_level` instead |
-| `snippets_enabled` | boolean | no | (deprecated) Enable snippets for this project. Use `snippets_access_level` instead |
-| `issues_access_level` | string | no | One of `disabled`, `private` or `enabled` |
-| `repository_access_level` | string | no | One of `disabled`, `private` or `enabled` |
-| `merge_requests_access_level` | string | no | One of `disabled`, `private` or `enabled` |
-| `forking_access_level` | string | no | One of `disabled`, `private` or `enabled` |
-| `builds_access_level` | string | no | One of `disabled`, `private` or `enabled` |
-| `wiki_access_level` | string | no | One of `disabled`, `private` or `enabled` |
-| `snippets_access_level` | string | no | One of `disabled`, `private` or `enabled` |
-| `pages_access_level` | string | no | One of `disabled`, `private`, `enabled` or `public` |
-| `emails_disabled` | boolean | no | Disable email notifications |
-| `show_default_award_emojis` | boolean | no | Show default award emojis |
-| `resolve_outdated_diff_discussions` | boolean | no | Automatically resolve merge request diffs discussions on lines changed with a push |
-| `container_registry_enabled` | boolean | no | Enable container registry for this project |
-| `container_expiration_policy_attributes` | hash | no | Update the image cleanup policy for this project. Accepts: `cadence` (string), `keep_n` (string), `older_than` (string), `name_regex` (string), `name_regex_delete` (string), `name_regex_keep` (string), `enabled` (boolean) |
-| `shared_runners_enabled` | boolean | no | Enable shared runners for this project |
-| `visibility` | string | no | See [project visibility level](#project-visibility-level) |
-| `import_url` | string | no | URL to import repository from |
-| `public_builds` | boolean | no | If `true`, jobs can be viewed by non-project-members |
-| `only_allow_merge_if_pipeline_succeeds` | boolean | no | Set whether merge requests can only be merged with successful jobs |
-| `allow_merge_on_skipped_pipeline` | boolean | no | Set whether or not merge requests can be merged with skipped jobs |
-| `only_allow_merge_if_all_discussions_are_resolved` | boolean | no | Set whether merge requests can only be merged when all the discussions are resolved |
-| `merge_method` | string | no | Set the [merge method](#project-merge-method) used |
-| `autoclose_referenced_issues` | boolean | no | Set whether auto-closing referenced issues on default branch |
-| `remove_source_branch_after_merge` | boolean | no | Enable `Delete source branch` option by default for all new merge requests |
-| `lfs_enabled` | boolean | no | Enable LFS |
-| `request_access_enabled` | boolean | no | Allow users to request member access |
-| `tag_list` | array | no | The list of tags for a project; put array of tags, that should be finally assigned to a project |
-| `avatar` | mixed | no | Image file for avatar of the project |
-| `printing_merge_request_link_enabled` | boolean | no | Show link to create/view merge request when pushing from the command line |
-| `build_git_strategy` | string | no | The Git strategy. Defaults to `fetch` |
-| `build_timeout` | integer | no | The maximum amount of time in minutes that a job is able run (in seconds) |
-| `auto_cancel_pending_pipelines` | string | no | Auto-cancel pending pipelines (Note: this is not a boolean, but enabled/disabled |
-| `build_coverage_regex` | string | no | Test coverage parsing |
-| `ci_config_path` | string | no | The path to CI configuration file |
-| `auto_devops_enabled` | boolean | no | Enable Auto DevOps for this project |
-| `auto_devops_deploy_strategy` | string | no | Auto Deploy strategy (`continuous`, `manual` or `timed_incremental`) |
-| `repository_storage` | string | no | Which storage shard the repository is on. Available only to admins |
-| `approvals_before_merge` | integer | no | **(STARTER)** How many approvers should approve merge requests by default |
-| `external_authorization_classification_label` | string | no | **(PREMIUM)** The classification label for the project |
-| `mirror` | boolean | no | **(STARTER)** Enables pull mirroring in a project |
-| `mirror_trigger_builds` | boolean | no | **(STARTER)** Pull mirroring triggers builds |
-| `initialize_with_readme` | boolean | no | `false` by default |
-| `template_name` | string | no | When used without `use_custom_template`, name of a [built-in project template](../gitlab-basics/create-project.md#built-in-templates). When used with `use_custom_template`, name of a custom project template |
-| `template_project_id` | integer | no | **(PREMIUM)** When used with `use_custom_template`, project ID of a custom project template. This is preferable to using `template_name` since `template_name` may be ambiguous. |
-| `use_custom_template` | boolean | no | **(PREMIUM)** Use either custom [instance](../user/admin_area/custom_project_templates.md) or [group](../user/group/custom_project_templates.md) (with `group_with_project_templates_id`) project template |
-| `group_with_project_templates_id` | integer | no | **(PREMIUM)** For group-level custom templates, specifies ID of group from which all the custom project templates are sourced. Leave empty for instance-level templates. Requires `use_custom_template` to be true |
-| `packages_enabled` | boolean | no | Enable or disable packages repository feature |
-
-NOTE: **Note:**
-If your HTTP repository is not publicly accessible,
-add authentication information to the URL: `https://username:password@gitlab.company.com/group/project.git`
-where `password` is a public access key with the `api` scope enabled.
+| 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. |
+| `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`). |
+| `auto_devops_enabled` | boolean | **{dotted-circle}** No | Enable Auto DevOps for this project. |
+| `autoclose_referenced_issues` | boolean | **{dotted-circle}** No | Set whether auto-closing referenced issues on default branch. |
+| `avatar` | mixed | **{dotted-circle}** No | Image file for avatar of the project. |
+| `build_coverage_regex` | string | **{dotted-circle}** No | Test coverage parsing. |
+| `build_git_strategy` | string | **{dotted-circle}** No | The Git strategy. Defaults to `fetch`. |
+| `build_timeout` | integer | **{dotted-circle}** No | The maximum amount of time in minutes that a job is able run (in seconds). |
+| `builds_access_level` | string | **{dotted-circle}** No | One of `disabled`, `private`, or `enabled`. |
+| `ci_config_path` | string | **{dotted-circle}** No | The path to CI configuration file. |
+| `container_expiration_policy_attributes` | hash | **{dotted-circle}** No | Update the image cleanup policy for this project. Accepts: `cadence` (string), `keep_n` (string), `older_than` (string), `name_regex` (string), `name_regex_delete` (string), `name_regex_keep` (string), `enabled` (boolean). |
+| `container_registry_enabled` | boolean | **{dotted-circle}** No | Enable container registry for this project. |
+| `default_branch` | string | **{dotted-circle}** No | `master` by default. |
+| `description` | string | **{dotted-circle}** No | Short project description. |
+| `emails_disabled` | boolean | **{dotted-circle}** No | Disable email notifications. |
+| `external_authorization_classification_label` **(PREMIUM)** | string | **{dotted-circle}** No | The classification label for the project. |
+| `forking_access_level` | string | **{dotted-circle}** No | One of `disabled`, `private`, or `enabled`. |
+| `group_with_project_templates_id` **(PREMIUM)** | integer | **{dotted-circle}** No | For group-level custom templates, specifies ID of group from which all the custom project templates are sourced. Leave empty for instance-level templates. Requires `use_custom_template` to be true. |
+| `import_url` | string | **{dotted-circle}** No | URL to import repository from. |
+| `initialize_with_readme` | boolean | **{dotted-circle}** No | `false` by default. |
+| `issues_access_level` | string | **{dotted-circle}** No | One of `disabled`, `private`, or `enabled`. |
+| `issues_enabled` | boolean | **{dotted-circle}** No | _(Deprecated)_ Enable issues for this project. Use `issues_access_level` instead. |
+| `jobs_enabled` | boolean | **{dotted-circle}** No | _(Deprecated)_ Enable jobs for this project. Use `builds_access_level` instead. |
+| `lfs_enabled` | boolean | **{dotted-circle}** No | Enable LFS. |
+| `merge_method` | string | **{dotted-circle}** No | Set the [merge method](#project-merge-method) used. |
+| `merge_requests_access_level` | string | **{dotted-circle}** No | One of `disabled`, `private`, or `enabled`. |
+| `merge_requests_enabled` | boolean | **{dotted-circle}** No | _(Deprecated)_ Enable merge requests for this project. Use `merge_requests_access_level` instead. |
+| `mirror_trigger_builds` **(STARTER)** | boolean | **{dotted-circle}** No | Pull mirroring triggers builds. |
+| `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). |
+| `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. |
+| `pages_access_level` | string | **{dotted-circle}** No | One of `disabled`, `private`, `enabled`, or `public`. |
+| `requirements_access_level` | string | **{dotted-circle}** No | One of `disabled`, `private`, `enabled` or `public` |
+| `path` | string | **{check-circle}** Yes (if name isn't provided) | Repository name for new project. Generated based on name if not provided (generated as lowercase with dashes). |
+| `printing_merge_request_link_enabled` | boolean | **{dotted-circle}** No | Show link to create/view merge request when pushing from the command line. |
+| `public_builds` | boolean | **{dotted-circle}** No | If `true`, jobs can be viewed by non-project members. |
+| `remove_source_branch_after_merge` | boolean | **{dotted-circle}** No | Enable `Delete source branch` option by default for all new merge requests. |
+| `repository_access_level` | string | **{dotted-circle}** No | One of `disabled`, `private`, or `enabled`. |
+| `repository_storage` | string | **{dotted-circle}** No | Which storage shard the repository is on. _(admins only)_ |
+| `request_access_enabled` | boolean | **{dotted-circle}** No | Allow users to request member access. |
+| `resolve_outdated_diff_discussions` | boolean | **{dotted-circle}** No | Automatically resolve merge request diffs discussions on lines changed with a push. |
+| `shared_runners_enabled` | boolean | **{dotted-circle}** No | Enable shared runners for this project. |
+| `show_default_award_emojis` | boolean | **{dotted-circle}** No | Show default award emojis. |
+| `snippets_access_level` | string | **{dotted-circle}** No | One of `disabled`, `private`, or `enabled`. |
+| `snippets_enabled` | boolean | **{dotted-circle}** No | _(Deprecated)_ Enable snippets for this project. Use `snippets_access_level` instead. |
+| `tag_list` | array | **{dotted-circle}** No | The list of tags for a project; put array of tags, that should be finally assigned to a project. |
+| `template_name` | string | **{dotted-circle}** No | When used without `use_custom_template`, name of a [built-in project template](../gitlab-basics/create-project.md#built-in-templates). When used with `use_custom_template`, name of a custom project template. |
+| `template_project_id` **(PREMIUM)** | integer | **{dotted-circle}** No | When used with `use_custom_template`, project ID of a custom project template. This is preferable to using `template_name` since `template_name` may be ambiguous. |
+| `use_custom_template` **(PREMIUM)** | boolean | **{dotted-circle}** No | Use either custom [instance](../user/admin_area/custom_project_templates.md) or [group](../user/group/custom_project_templates.md) (with `group_with_project_templates_id`) project template. |
+| `visibility` | string | **{dotted-circle}** No | See [project visibility level](#project-visibility-level). |
+| `wiki_access_level` | string | **{dotted-circle}** No | One of `disabled`, `private`, or `enabled`. |
+| `wiki_enabled` | boolean | **{dotted-circle}** No | _(Deprecated)_ Enable wiki for this project. Use `wiki_access_level` instead. |
## Create project for user
Creates a new project owned by the specified user. Available only for admins.
+If your HTTP repository isn't publicly accessible, add authentication information
+to the URL `https://username:password@gitlab.company.com/group/project.git`,
+where `password` is a public access key with the `api` scope enabled.
+
```plaintext
POST /projects/user/:user_id
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `user_id` | integer | yes | The user ID of the project owner |
-| `name` | string | yes | The name of the new project |
-| `path` | string | no | Custom repository name for new project. By default generated based on name |
-| `namespace_id` | integer | no | Namespace for the new project (defaults to the current user's namespace) |
-| `description` | string | no | Short project description |
-| `issues_enabled` | boolean | no | (deprecated) Enable issues for this project. Use `issues_access_level` instead |
-| `merge_requests_enabled` | boolean | no | (deprecated) Enable merge requests for this project. Use `merge_requests_access_level` instead |
-| `jobs_enabled` | boolean | no | (deprecated) Enable jobs for this project. Use `builds_access_level` instead |
-| `wiki_enabled` | boolean | no | (deprecated) Enable wiki for this project. Use `wiki_access_level` instead |
-| `snippets_enabled` | boolean | no | (deprecated) Enable snippets for this project. Use `snippets_access_level` instead |
-| `issues_access_level` | string | no | One of `disabled`, `private` or `enabled` |
-| `repository_access_level` | string | no | One of `disabled`, `private` or `enabled` |
-| `merge_requests_access_level` | string | no | One of `disabled`, `private` or `enabled` |
-| `forking_access_level` | string | no | One of `disabled`, `private` or `enabled` |
-| `builds_access_level` | string | no | One of `disabled`, `private` or `enabled` |
-| `wiki_access_level` | string | no | One of `disabled`, `private` or `enabled` |
-| `snippets_access_level` | string | no | One of `disabled`, `private` or `enabled` |
-| `pages_access_level` | string | no | One of `disabled`, `private`, `enabled` or `public` |
-| `emails_disabled` | boolean | no | Disable email notifications |
-| `show_default_award_emojis` | boolean | no | Show default award emojis |
-| `resolve_outdated_diff_discussions` | boolean | no | Automatically resolve merge request diffs discussions on lines changed with a push |
-| `container_registry_enabled` | boolean | no | Enable container registry for this project |
-| `shared_runners_enabled` | boolean | no | Enable shared runners for this project |
-| `visibility` | string | no | See [project visibility level](#project-visibility-level) |
-| `import_url` | string | no | URL to import repository from |
-| `public_builds` | boolean | no | If `true`, jobs can be viewed by non-project-members |
-| `only_allow_merge_if_pipeline_succeeds` | boolean | no | Set whether merge requests can only be merged with successful jobs |
-| `allow_merge_on_skipped_pipeline` | boolean | no | Set whether or not merge requests can be merged with skipped jobs |
-| `only_allow_merge_if_all_discussions_are_resolved` | boolean | no | Set whether merge requests can only be merged when all the discussions are resolved |
-| `merge_method` | string | no | Set the [merge method](#project-merge-method) used |
-| `autoclose_referenced_issues` | boolean | no | Set whether auto-closing referenced issues on default branch |
-| `suggestion_commit_message` | string | no | The commit message used to apply merge request suggestions |
-| `remove_source_branch_after_merge` | boolean | no | Enable `Delete source branch` option by default for all new merge requests |
-| `lfs_enabled` | boolean | no | Enable LFS |
-| `request_access_enabled` | boolean | no | Allow users to request member access |
-| `tag_list` | array | no | The list of tags for a project; put array of tags, that should be finally assigned to a project |
-| `avatar` | mixed | no | Image file for avatar of the project |
-| `printing_merge_request_link_enabled` | boolean | no | Show link to create/view merge request when pushing from the command line |
-| `build_git_strategy` | string | no | The Git strategy. Defaults to `fetch` |
-| `build_timeout` | integer | no | The maximum amount of time in minutes that a job is able run (in seconds) |
-| `auto_cancel_pending_pipelines` | string | no | Auto-cancel pending pipelines (Note: this is not a boolean, but enabled/disabled |
-| `build_coverage_regex` | string | no | Test coverage parsing |
-| `ci_config_path` | string | no | The path to CI configuration file |
-| `auto_devops_enabled` | boolean | no | Enable Auto DevOps for this project |
-| `auto_devops_deploy_strategy` | string | no | Auto Deploy strategy (`continuous`, `manual` or `timed_incremental`) |
-| `repository_storage` | string | no | Which storage shard the repository is on. Available only to admins |
-| `approvals_before_merge` | integer | no | **(STARTER)** How many approvers should approve merge requests by default |
-| `external_authorization_classification_label` | string | no | **(PREMIUM)** The classification label for the project |
-| `mirror` | boolean | no | **(STARTER)** Enables pull mirroring in a project |
-| `mirror_trigger_builds` | boolean | no | **(STARTER)** Pull mirroring triggers builds |
-| `initialize_with_readme` | boolean | no | `false` by default |
-| `template_name` | string | no | When used without `use_custom_template`, name of a [built-in project template](../gitlab-basics/create-project.md#built-in-templates). When used with `use_custom_template`, name of a custom project template |
-| `use_custom_template` | boolean | no | **(PREMIUM)** Use either custom [instance](../user/admin_area/custom_project_templates.md) or [group](../user/group/custom_project_templates.md) (with `group_with_project_templates_id`) project template |
-| `group_with_project_templates_id` | integer | no | **(PREMIUM)** For group-level custom templates, specifies ID of group from which all the custom project templates are sourced. Leave empty for instance-level templates. Requires `use_custom_template` to be true |
-| `packages_enabled` | boolean | no | Enable or disable packages repository feature |
-
-NOTE: **Note:**
-If your HTTP repository is not publicly accessible,
-add authentication information to the URL: `https://username:password@gitlab.company.com/group/project.git`
-where `password` is a public access key with the `api` scope enabled.
+| 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. |
+| `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`). |
+| `auto_devops_enabled` | boolean | **{dotted-circle}** No | Enable Auto DevOps for this project. |
+| `autoclose_referenced_issues` | boolean | **{dotted-circle}** No | Set whether auto-closing referenced issues on default branch. |
+| `avatar` | mixed | **{dotted-circle}** No | Image file for avatar of the project. |
+| `build_coverage_regex` | string | **{dotted-circle}** No | Test coverage parsing. |
+| `build_git_strategy` | string | **{dotted-circle}** No | The Git strategy. Defaults to `fetch`. |
+| `build_timeout` | integer | **{dotted-circle}** No | The maximum amount of time in minutes that a job is able run (in seconds). |
+| `builds_access_level` | string | **{dotted-circle}** No | One of `disabled`, `private`, or `enabled`. |
+| `ci_config_path` | string | **{dotted-circle}** No | The path to CI configuration file. |
+| `container_registry_enabled` | boolean | **{dotted-circle}** No | Enable container registry for this project. |
+| `description` | string | **{dotted-circle}** No | Short project description. |
+| `emails_disabled` | boolean | **{dotted-circle}** No | Disable email notifications. |
+| `external_authorization_classification_label` **(PREMIUM)** | string | **{dotted-circle}** No | The classification label for the project. |
+| `forking_access_level` | string | **{dotted-circle}** No | One of `disabled`, `private`, or `enabled`. |
+| `group_with_project_templates_id` **(PREMIUM)** | integer | **{dotted-circle}** No | For group-level custom templates, specifies ID of group from which all the custom project templates are sourced. Leave empty for instance-level templates. Requires `use_custom_template` to be true. |
+| `import_url` | string | **{dotted-circle}** No | URL to import repository from. |
+| `initialize_with_readme` | boolean | **{dotted-circle}** No | `false` by default. |
+| `issues_access_level` | string | **{dotted-circle}** No | One of `disabled`, `private`, or `enabled`. |
+| `issues_enabled` | boolean | **{dotted-circle}** No | _(Deprecated)_ Enable issues for this project. Use `issues_access_level` instead. |
+| `jobs_enabled` | boolean | **{dotted-circle}** No | _(Deprecated)_ Enable jobs for this project. Use `builds_access_level` instead. |
+| `lfs_enabled` | boolean | **{dotted-circle}** No | Enable LFS. |
+| `merge_method` | string | **{dotted-circle}** No | Set the [merge method](#project-merge-method) used. |
+| `merge_requests_access_level` | string | **{dotted-circle}** No | One of `disabled`, `private`, or `enabled`. |
+| `merge_requests_enabled` | boolean | **{dotted-circle}** No | _(Deprecated)_ Enable merge requests for this project. Use `merge_requests_access_level` instead. |
+| `mirror_trigger_builds` **(STARTER)** | boolean | **{dotted-circle}** No | Pull mirroring triggers builds. |
+| `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). |
+| `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. |
+| `pages_access_level` | string | **{dotted-circle}** No | One of `disabled`, `private`, `enabled`, or `public`. |
+| `requirements_access_level` | string | **{dotted-circle}** No | One of `disabled`, `private`, `enabled` or `public` |
+| `path` | string | **{dotted-circle}** No | Custom repository name for new project. By default generated based on name. |
+| `printing_merge_request_link_enabled` | boolean | **{dotted-circle}** No | Show link to create/view merge request when pushing from the command line. |
+| `public_builds` | boolean | **{dotted-circle}** No | If `true`, jobs can be viewed by non-project-members. |
+| `remove_source_branch_after_merge` | boolean | **{dotted-circle}** No | Enable `Delete source branch` option by default for all new merge requests. |
+| `repository_access_level` | string | **{dotted-circle}** No | One of `disabled`, `private`, or `enabled`. |
+| `repository_storage` | string | **{dotted-circle}** No | Which storage shard the repository is on. _(admins only)_ |
+| `request_access_enabled` | boolean | **{dotted-circle}** No | Allow users to request member access. |
+| `resolve_outdated_diff_discussions` | boolean | **{dotted-circle}** No | Automatically resolve merge request diffs discussions on lines changed with a push. |
+| `shared_runners_enabled` | boolean | **{dotted-circle}** No | Enable shared runners for this project. |
+| `show_default_award_emojis` | boolean | **{dotted-circle}** No | Show default award emojis. |
+| `snippets_access_level` | string | **{dotted-circle}** No | One of `disabled`, `private`, or `enabled`. |
+| `snippets_enabled` | boolean | **{dotted-circle}** No | _(Deprecated)_ Enable snippets for this project. Use `snippets_access_level` instead. |
+| `suggestion_commit_message` | string | **{dotted-circle}** No | The commit message used to apply merge request suggestions. |
+| `tag_list` | array | **{dotted-circle}** No | The list of tags for a project; put array of tags, that should be finally assigned to a project. |
+| `template_name` | string | **{dotted-circle}** No | When used without `use_custom_template`, name of a [built-in project template](../gitlab-basics/create-project.md#built-in-templates). When used with `use_custom_template`, name of a custom project template. |
+| `use_custom_template` **(PREMIUM)** | boolean | **{dotted-circle}** No | Use either custom [instance](../user/admin_area/custom_project_templates.md) or [group](../user/group/custom_project_templates.md) (with `group_with_project_templates_id`) project template. |
+| `user_id` | integer | **{check-circle}** Yes | The user ID of the project owner. |
+| `visibility` | string | **{dotted-circle}** No | See [project visibility level](#project-visibility-level). |
+| `wiki_access_level` | string | **{dotted-circle}** No | One of `disabled`, `private`, or `enabled`. |
+| `wiki_enabled` | boolean | **{dotted-circle}** No | _(Deprecated)_ Enable wiki for this project. Use `wiki_access_level` instead. |
## Edit project
Updates an existing project.
+If your HTTP repository isn't publicly accessible, add authentication information
+to the URL `https://username:password@gitlab.company.com/group/project.git`,
+where `password` is a public access key with the `api` scope enabled.
+
```plaintext
PUT /projects/:id
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
-| `name` | string | no | The name of the project |
-| `path` | string | no | Custom repository name for the project. By default generated based on name |
-| `default_branch` | string | no | `master` by default |
-| `description` | string | no | Short project description |
-| `issues_enabled` | boolean | no | (deprecated) Enable issues for this project. Use `issues_access_level` instead |
-| `merge_requests_enabled` | boolean | no | (deprecated) Enable merge requests for this project. Use `merge_requests_access_level` instead |
-| `jobs_enabled` | boolean | no | (deprecated) Enable jobs for this project. Use `builds_access_level` instead |
-| `wiki_enabled` | boolean | no | (deprecated) Enable wiki for this project. Use `wiki_access_level` instead |
-| `snippets_enabled` | boolean | no | (deprecated) Enable snippets for this project. Use `snippets_access_level` instead |
-| `issues_access_level` | string | no | One of `disabled`, `private` or `enabled` |
-| `repository_access_level` | string | no | One of `disabled`, `private` or `enabled` |
-| `merge_requests_access_level` | string | no | One of `disabled`, `private` or `enabled` |
-| `forking_access_level` | string | no | One of `disabled`, `private` or `enabled` |
-| `builds_access_level` | string | no | One of `disabled`, `private` or `enabled` |
-| `wiki_access_level` | string | no | One of `disabled`, `private` or `enabled` |
-| `snippets_access_level` | string | no | One of `disabled`, `private` or `enabled` |
-| `pages_access_level` | string | no | One of `disabled`, `private`, `enabled` or `public` |
-| `emails_disabled` | boolean | no | Disable email notifications |
-| `show_default_award_emojis` | boolean | no | Show default award emojis |
-| `resolve_outdated_diff_discussions` | boolean | no | Automatically resolve merge request diffs discussions on lines changed with a push |
-| `container_registry_enabled` | boolean | no | Enable container registry for this project |
-| `container_expiration_policy_attributes` | hash | no | Update the image cleanup policy for this project. Accepts: `cadence` (string), `keep_n` (string), `older_than` (string), `name_regex` (string), `name_regex_delete` (string), `name_regex_keep` (string), `enabled` (boolean) |
-| `shared_runners_enabled` | boolean | no | Enable shared runners for this project |
-| `visibility` | string | no | See [project visibility level](#project-visibility-level) |
-| `import_url` | string | no | URL to import repository from |
-| `public_builds` | boolean | no | If `true`, jobs can be viewed by non-project-members |
-| `only_allow_merge_if_pipeline_succeeds` | boolean | no | Set whether merge requests can only be merged with successful jobs |
-| `allow_merge_on_skipped_pipeline` | boolean | no | Set whether or not merge requests can be merged with skipped jobs |
-| `only_allow_merge_if_all_discussions_are_resolved` | boolean | no | Set whether merge requests can only be merged when all the discussions are resolved |
-| `merge_method` | string | no | Set the [merge method](#project-merge-method) used |
-| `autoclose_referenced_issues` | boolean | no | Set whether auto-closing referenced issues on default branch |
-| `suggestion_commit_message` | string | no | The commit message used to apply merge request suggestions |
-| `remove_source_branch_after_merge` | boolean | no | Enable `Delete source branch` option by default for all new merge requests |
-| `lfs_enabled` | boolean | no | Enable LFS |
-| `request_access_enabled` | boolean | no | Allow users to request member access |
-| `tag_list` | array | no | The list of tags for a project; put array of tags, that should be finally assigned to a project |
-| `avatar` | mixed | no | Image file for avatar of the project |
-| `build_git_strategy` | string | no | The Git strategy. Defaults to `fetch` |
-| `build_timeout` | integer | no | The maximum amount of time in minutes that a job is able run (in seconds) |
-| `auto_cancel_pending_pipelines` | string | no | Auto-cancel pending pipelines (Note: this is not a boolean, but enabled/disabled |
-| `build_coverage_regex` | string | no | Test coverage parsing |
-| `ci_config_path` | string | no | The path to CI configuration file |
-| `ci_default_git_depth` | integer | no | Default number of revisions for [shallow cloning](../ci/pipelines/settings.md#git-shallow-clone) |
-| `ci_forward_deployment_enabled` | boolean | no | When a new deployment job starts, [skip older deployment jobs](../ci/pipelines/settings.md#skip-outdated-deployment-jobs) that are still pending |
-| `auto_devops_enabled` | boolean | no | Enable Auto DevOps for this project |
-| `auto_devops_deploy_strategy` | string | no | Auto Deploy strategy (`continuous`, `manual` or `timed_incremental`) |
-| `repository_storage` | string | no | Which storage shard the repository is on. Available only to admins |
-| `approvals_before_merge` | integer | no | **(STARTER)** How many approvers should approve merge request by default |
-| `external_authorization_classification_label` | string | no | **(PREMIUM)** The classification label for the project |
-| `mirror` | boolean | no | **(STARTER)** Enables pull mirroring in a project |
-| `mirror_user_id` | integer | no | **(STARTER)** User responsible for all the activity surrounding a pull mirror event. Can only be set by admins. |
-| `mirror_trigger_builds` | boolean | no | **(STARTER)** Pull mirroring triggers builds |
-| `only_mirror_protected_branches` | boolean | no | **(STARTER)** Only mirror protected branches |
-| `mirror_overwrites_diverged_branches` | boolean | no | **(STARTER)** Pull mirror overwrites diverged branches |
-| `packages_enabled` | boolean | no | Enable or disable packages repository feature |
-| `service_desk_enabled` | boolean | no | Enable or disable Service Desk feature |
-
-NOTE: **Note:**
-If your HTTP repository is not publicly accessible,
-add authentication information to the URL: `https://username:password@gitlab.company.com/group/project.git`
-where `password` is a public access key with the `api` scope enabled.
+| 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. |
+| `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`). |
+| `auto_devops_enabled` | boolean | **{dotted-circle}** No | Enable Auto DevOps for this project. |
+| `autoclose_referenced_issues` | boolean | **{dotted-circle}** No | Set whether auto-closing referenced issues on default branch. |
+| `avatar` | mixed | **{dotted-circle}** No | Image file for avatar of the project. |
+| `build_coverage_regex` | string | **{dotted-circle}** No | Test coverage parsing. |
+| `build_git_strategy` | string | **{dotted-circle}** No | The Git strategy. Defaults to `fetch`. |
+| `build_timeout` | integer | **{dotted-circle}** No | The maximum amount of time in minutes that a job is able run (in seconds). |
+| `builds_access_level` | string | **{dotted-circle}** No | One of `disabled`, `private`, or `enabled`. |
+| `ci_config_path` | string | **{dotted-circle}** No | The path to CI configuration file. |
+| `ci_default_git_depth` | integer | **{dotted-circle}** No | Default number of revisions for [shallow cloning](../ci/pipelines/settings.md#git-shallow-clone). |
+| `ci_forward_deployment_enabled` | boolean | **{dotted-circle}** No | When a new deployment job starts, [skip older deployment jobs](../ci/pipelines/settings.md#skip-outdated-deployment-jobs) that are still pending |
+| `container_expiration_policy_attributes` | hash | **{dotted-circle}** No | Update the image cleanup policy for this project. Accepts: `cadence` (string), `keep_n` (string), `older_than` (string), `name_regex` (string), `name_regex_delete` (string), `name_regex_keep` (string), `enabled` (boolean). |
+| `container_registry_enabled` | boolean | **{dotted-circle}** No | Enable container registry for this project. |
+| `default_branch` | string | **{dotted-circle}** No | `master` by default. |
+| `description` | string | **{dotted-circle}** No | Short project description. |
+| `emails_disabled` | boolean | **{dotted-circle}** No | Disable email notifications. |
+| `external_authorization_classification_label` **(PREMIUM)** | string | **{dotted-circle}** No | The classification label for the project. |
+| `forking_access_level` | string | **{dotted-circle}** No | One of `disabled`, `private`, or `enabled`. |
+| `id` | integer/string | **{check-circle}** Yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
+| `import_url` | string | **{dotted-circle}** No | URL to import repository from. |
+| `issues_access_level` | string | **{dotted-circle}** No | One of `disabled`, `private`, or `enabled`. |
+| `issues_enabled` | boolean | **{dotted-circle}** No | _(Deprecated)_ Enable issues for this project. Use `issues_access_level` instead. |
+| `jobs_enabled` | boolean | **{dotted-circle}** No | _(Deprecated)_ Enable jobs for this project. Use `builds_access_level` instead. |
+| `lfs_enabled` | boolean | **{dotted-circle}** No | Enable LFS. |
+| `merge_method` | string | **{dotted-circle}** No | Set the [merge method](#project-merge-method) used. |
+| `merge_requests_access_level` | string | **{dotted-circle}** No | One of `disabled`, `private`, or `enabled`. |
+| `merge_requests_enabled` | boolean | **{dotted-circle}** No | _(Deprecated)_ Enable merge requests for this project. Use `merge_requests_access_level` instead. |
+| `mirror_overwrites_diverged_branches` **(STARTER)** | boolean | **{dotted-circle}** No | Pull mirror overwrites diverged branches. |
+| `mirror_trigger_builds` **(STARTER)** | boolean | **{dotted-circle}** No | Pull mirroring triggers builds. |
+| `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. |
+| `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. |
+| `packages_enabled` | boolean | **{dotted-circle}** No | Enable or disable packages repository feature. |
+| `pages_access_level` | string | **{dotted-circle}** No | One of `disabled`, `private`, `enabled`, or `public`. |
+| `requirements_access_level` | string | **{dotted-circle}** No | One of `disabled`, `private`, `enabled` or `public` |
+| `path` | string | **{dotted-circle}** No | Custom repository name for the project. By default generated based on name. |
+| `public_builds` | boolean | **{dotted-circle}** No | If `true`, jobs can be viewed by non-project members. |
+| `remove_source_branch_after_merge` | boolean | **{dotted-circle}** No | Enable `Delete source branch` option by default for all new merge requests. |
+| `repository_access_level` | string | **{dotted-circle}** No | One of `disabled`, `private`, or `enabled`. |
+| `repository_storage` | string | **{dotted-circle}** No | Which storage shard the repository is on. _(admins only)_ |
+| `request_access_enabled` | boolean | **{dotted-circle}** No | Allow users to request member access. |
+| `resolve_outdated_diff_discussions` | boolean | **{dotted-circle}** No | Automatically resolve merge request diffs discussions on lines changed with a push. |
+| `service_desk_enabled` | boolean | **{dotted-circle}** No | Enable or disable Service Desk feature. |
+| `shared_runners_enabled` | boolean | **{dotted-circle}** No | Enable shared runners for this project. |
+| `show_default_award_emojis` | boolean | **{dotted-circle}** No | Show default award emojis. |
+| `snippets_access_level` | string | **{dotted-circle}** No | One of `disabled`, `private`, or `enabled`. |
+| `snippets_enabled` | boolean | **{dotted-circle}** No | _(Deprecated)_ Enable snippets for this project. Use `snippets_access_level` instead. |
+| `suggestion_commit_message` | string | **{dotted-circle}** No | The commit message used to apply merge request suggestions. |
+| `tag_list` | array | **{dotted-circle}** No | The list of tags for a project; put array of tags, that should be finally assigned to a project. |
+| `visibility` | string | **{dotted-circle}** No | See [project visibility level](#project-visibility-level). |
+| `wiki_access_level` | string | **{dotted-circle}** No | One of `disabled`, `private`, or `enabled`. |
+| `wiki_enabled` | boolean | **{dotted-circle}** No | _(Deprecated)_ Enable wiki for this project. Use `wiki_access_level` instead. |
## Fork project
@@ -1254,42 +1258,43 @@ fork of the project has completed, query the `import_status` for the new project
POST /projects/:id/fork
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
-| `namespace` | integer/string | no | (deprecated) The ID or path of the namespace that the project is forked to |
-| `namespace_id` | integer | no | The ID of the namespace that the project is forked to |
-| `namespace_path` | string | no | The path of the namespace that the project is forked to |
-| `path` | string | no | The path assigned to the resultant project after forking |
-| `name` | string | no | The name assigned to the resultant project after forking |
+| Attribute | Type | Required | Description |
+|------------------|----------------|------------------------|-------------|
+| `id` | integer/string | **{check-circle}** Yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
+| `name` | string | **{dotted-circle}** No | The name assigned to the resultant project after forking. |
+| `namespace_id` | integer | **{dotted-circle}** No | The ID of the namespace that the project is forked to. |
+| `namespace_path` | string | **{dotted-circle}** No | The path of the namespace that the project is forked to. |
+| `namespace` | integer/string | **{dotted-circle}** No | _(Deprecated)_ The ID or path of the namespace that the project is forked to. |
+| `path` | string | **{dotted-circle}** No | The path assigned to the resultant project after forking. |
## List Forks of a project
> Introduced in GitLab 10.1.
-List the projects accessible to the calling user that have an established, forked relationship with the specified project
+List the projects accessible to the calling user that have an established,
+forked relationship with the specified project
```plaintext
GET /projects/:id/forks
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
-| `archived` | boolean | no | Limit by archived status |
-| `visibility` | string | no | Limit by visibility `public`, `internal`, or `private` |
-| `order_by` | string | no | Return projects ordered by `id`, `name`, `path`, `created_at`, `updated_at`, or `last_activity_at` fields. Default is `created_at` |
-| `sort` | string | no | Return projects sorted in `asc` or `desc` order. Default is `desc` |
-| `search` | string | no | Return list of projects matching the search criteria |
-| `simple` | boolean | no | Return only limited fields for each project. This is a no-op without authentication as then _only_ simple fields are returned. |
-| `owned` | boolean | no | Limit by projects explicitly owned by the current user |
-| `membership` | boolean | no | Limit by projects that the current user is a member of |
-| `starred` | boolean | no | Limit by projects starred by the current user |
-| `statistics` | boolean | no | Include project statistics |
-| `with_custom_attributes` | boolean | no | Include [custom attributes](custom_attributes.md) in response (admins only) |
-| `with_issues_enabled` | boolean | no | Limit by enabled issues feature |
-| `with_merge_requests_enabled` | boolean | no | Limit by enabled merge requests feature |
-| `min_access_level` | integer | no | Limit by current user minimal [access level](members.md#valid-access-levels) |
+| Attribute | Type | Required | Description |
+|-------------------------------|----------------|------------------------|-------------|
+| `archived` | boolean | **{dotted-circle}** No | Limit by archived status. |
+| `id` | integer/string | **{check-circle}** Yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
+| `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. Default is `created_at`. |
+| `owned` | boolean | **{dotted-circle}** No | Limit by projects explicitly owned by the current user. |
+| `search` | string | **{dotted-circle}** No | Return list of projects matching the search criteria. |
+| `simple` | boolean | **{dotted-circle}** No | Return only limited fields for each project. This is a no-op without authentication as then _only_ simple fields are returned. |
+| `sort` | string | **{dotted-circle}** No | Return projects sorted in `asc` or `desc` order. Default is `desc`. |
+| `starred` | boolean | **{dotted-circle}** No | Limit by projects starred by the current user. |
+| `statistics` | boolean | **{dotted-circle}** No | Include project statistics. |
+| `visibility` | string | **{dotted-circle}** No | Limit by visibility `public`, `internal`, or `private`. |
+| `with_custom_attributes` | boolean | **{dotted-circle}** No | Include [custom attributes](custom_attributes.md) in response. _(admins only)_ |
+| `with_issues_enabled` | boolean | **{dotted-circle}** No | Limit by enabled issues feature. |
+| `with_merge_requests_enabled` | boolean | **{dotted-circle}** No | Limit by enabled merge requests feature. |
```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/forks"
@@ -1366,15 +1371,16 @@ Example responses:
## Star a project
-Stars a given project. Returns status code `304` if the project is already starred.
+Stars a given project. Returns status code `304` if the project is already
+starred.
```plaintext
POST /projects/:id/star
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
+| Attribute | Type | Required | Description |
+|-----------|----------------|------------------------|-------------|
+| `id` | integer/string | **{check-circle}** Yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/star"
@@ -1463,9 +1469,9 @@ Unstars a given project. Returns status code `304` if the project is not starred
POST /projects/:id/unstar
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
+| Attribute | Type | Required | Description |
+|-----------|----------------|------------------------|-------------|
+| `id` | integer/string | **{check-circle}** Yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/unstar"
@@ -1554,10 +1560,10 @@ List the users who starred the specified project.
GET /projects/:id/starrers
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
-| `search` | string | no | Search for specific users. |
+| Attribute | Type | Required | Description |
+|-----------|----------------|------------------------|-------------|
+| `id` | integer/string | **{check-circle}** Yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
+| `search` | string | **{dotted-circle}** No | Search for specific users. |
```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/starrers"
@@ -1600,9 +1606,9 @@ Get languages used in a project with percentage value.
GET /projects/:id/languages
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
+| Attribute | Type | Required | Description |
+|-----------|----------------|------------------------|-------------|
+| `id` | integer/string | **{check-circle}** Yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/languages"
@@ -1621,16 +1627,17 @@ Example response:
## Archive a project
-Archives the project if the user is either an administrator or the owner of this project. This action is
-idempotent, thus archiving an already archived project does not change the project.
+Archives the project if the user is either an administrator or the owner of this
+project. This action is idempotent, thus archiving an already archived project
+does not change the project.
```plaintext
POST /projects/:id/archive
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
+| Attribute | Type | Required | Description |
+|-----------|----------------|------------------------|-------------|
+| `id` | integer/string | **{check-circle}** Yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/archive"
@@ -1732,16 +1739,17 @@ Example response:
## Unarchive a project
-Unarchives the project if the user is either an administrator or the owner of this project. This action is
-idempotent, thus unarchiving a non-archived project does not change the project.
+Unarchives the project if the user is either an administrator or the owner of
+this project. This action is idempotent, thus unarchiving a non-archived project
+doesn't change the project.
```plaintext
POST /projects/:id/unarchive
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
+| Attribute | Type | Required | Description |
+|-----------|----------------|------------------------|-------------|
+| `id` | integer/string | **{check-circle}** Yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/unarchive"
@@ -1845,25 +1853,27 @@ Example response:
This endpoint:
-- Deletes a project including all associated resources (issues, merge requests etc).
-- From [GitLab 13.2](https://gitlab.com/gitlab-org/gitlab/-/issues/220382) on [Premium or Silver](https://about.gitlab.com/pricing/) or higher tiers,
-group admins can [configure](../user/group/index.md#enabling-delayed-project-removal) projects within a group
-to be deleted after a delayed period.
-When enabled, 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).
+- Deletes a project including all associated resources (including issues and
+ merge requests).
+- From [GitLab 13.2](https://gitlab.com/gitlab-org/gitlab/-/issues/220382) on
+ [Premium or Silver](https://about.gitlab.com/pricing/) or higher tiers, group
+ admins can [configure](../user/group/index.md#enabling-delayed-project-removal)
+ projects within a group to be deleted after a delayed period. When enabled,
+ 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:**
-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)
+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).
```plaintext
DELETE /projects/:id
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
+| Attribute | Type | Required | Description |
+|-----------|----------------|------------------------|-------------|
+| `id` | integer/string | **{check-circle}** Yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
## Restore project marked for deletion **(PREMIUM)**
@@ -1875,27 +1885,28 @@ Restores project marked for deletion.
POST /projects/:id/restore
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
+| Attribute | Type | Required | Description |
+|-----------|----------------|------------------------|-------------|
+| `id` | integer/string | **{check-circle}** Yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
## Upload a file
-Uploads a file to the specified project to be used in an issue or merge request description, or a comment.
+Uploads a file to the specified project to be used in an issue or merge request
+description, or a comment.
```plaintext
POST /projects/:id/uploads
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `file` | string | yes | The file to be uploaded |
-| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
+| Attribute | Type | Required | Description |
+|-----------|----------------|------------------------|-------------|
+| `file` | string | **{check-circle}** Yes | The file to be uploaded. |
+| `id` | integer/string | **{check-circle}** Yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
To upload a file 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 a file on your file system and be preceded
-by `@`. For example:
+cURL to post data using the header `Content-Type: multipart/form-data`. The
+`file=` parameter must point to a file on your file system and be preceded by
+`@`. For example:
```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --form "file=@dk.png" "https://gitlab.example.com/api/v4/projects/5/uploads"
@@ -1912,9 +1923,41 @@ Returned object:
}
```
->**Note**: The returned `url` is relative to the project path. The returned `full_path` is the absolute path to the file.
-In Markdown contexts, the link is automatically expanded when the format in
-`markdown` is used.
+The returned `url` is relative to the project path. The returned `full_path` is
+the absolute path to the file. In Markdown contexts, the link is expanded when
+the format in `markdown` is used.
+
+## Upload a project avatar
+
+Uploads an avatar to the specified project.
+
+```plaintext
+PUT /projects/:id
+```
+
+| Attribute | Type | Required | Description |
+|-----------|----------------|------------------------|-------------|
+| `avatar` | string | **{check-circle}** Yes | The file to be uploaded. |
+| `id` | integer/string | **{check-circle}** Yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
+
+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 `@`. For example:
+
+Example request:
+
+```shell
+curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --form "avatar=@dk.png" "https://gitlab.example.com/api/v4/projects/5"
+```
+
+Returned object:
+
+```json
+{
+ "avatar_url": "https://gitlab.example.com/uploads/-/system/project/avatar/2/dk.png"
+}
+```
## Share project with group
@@ -1924,12 +1967,12 @@ Allow to share project with group.
POST /projects/:id/share
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `expires_at` | string | no | Share expiration date in ISO 8601 format: 2016-09-26 |
-| `group_access` | integer | yes | The [access level](members.md#valid-access-levels) to grant the group |
-| `group_id` | integer | yes | The ID of the group to share with |
-| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
+| Attribute | Type | Required | Description |
+|----------------|----------------|------------------------|-------------|
+| `expires_at` | string | **{dotted-circle}** No | Share expiration date in ISO 8601 format: 2016-09-26 |
+| `group_access` | integer | **{check-circle}** Yes | The [access level](members.md#valid-access-levels) to grant the group. |
+| `group_id` | integer | **{check-circle}** Yes | The ID of the group to share with. |
+| `id` | integer/string | **{check-circle}** Yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
## Delete a shared project link within a group
@@ -1939,10 +1982,10 @@ Unshare the project from the group. Returns `204` and no content on success.
DELETE /projects/:id/share/:group_id
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `group_id` | integer | yes | The ID of the group |
-| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
+| Attribute | Type | Required | Description |
+|------------|----------------|------------------------|-------------|
+| `group_id` | integer | **{check-circle}** Yes | The ID of the group. |
+| `id` | integer/string | **{check-circle}** Yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
```shell
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/share/17"
@@ -1950,8 +1993,8 @@ curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://git
## Hooks
-Also called Project Hooks and Webhooks.
-These are different for [System Hooks](system_hooks.md) that are system wide.
+Also called Project Hooks and Webhooks. These are different for [System Hooks](system_hooks.md)
+that are system-wide.
### List project hooks
@@ -1961,9 +2004,9 @@ Get a list of project hooks.
GET /projects/:id/hooks
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
+| Attribute | Type | Required | Description |
+|-----------|----------------|------------------------|-------------|
+| `id` | integer/string | **{check-circle}** Yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
### Get project hook
@@ -1973,10 +2016,10 @@ Get a specific hook for a project.
GET /projects/:id/hooks/:hook_id
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `hook_id` | integer | yes | The ID of a project hook |
-| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
+| Attribute | Type | Required | Description |
+|-----------|----------------|------------------------|---------------------------|
+| `hook_id` | integer | **{check-circle}** Yes | The ID of a project hook. |
+| `id` | integer/string | **{check-circle}** Yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
```json
{
@@ -1995,6 +2038,7 @@ GET /projects/:id/hooks/:hook_id
"pipeline_events": true,
"wiki_page_events": true,
"deployment_events": true,
+ "releases_events": true,
"enable_ssl_verification": true,
"created_at": "2012-10-12T17:04:47Z"
}
@@ -2008,24 +2052,24 @@ Adds a hook to a specified project.
POST /projects/:id/hooks
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `confidential_issues_events` | boolean | no | Trigger hook on confidential issues events |
-| `confidential_note_events` | boolean | no | Trigger hook on confidential note events |
-| `deployment_events` | boolean | no | Trigger hook on deployment events |
-| `enable_ssl_verification` | boolean | no | Do SSL verification when triggering the hook |
-| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
-| `issues_events` | boolean | no | Trigger hook on issues events |
-| `job_events` | boolean | no | Trigger hook on job events |
-| `merge_requests_events` | boolean | no | Trigger hook on merge requests events |
-| `note_events` | boolean | no | Trigger hook on note events |
-| `pipeline_events` | boolean | no | Trigger hook on pipeline events |
-| `push_events_branch_filter` | string | no | Trigger hook on push events for matching branches only |
-| `push_events` | boolean | no | Trigger hook on push events |
-| `tag_push_events` | boolean | no | Trigger hook on tag push events |
-| `token` | string | no | Secret token to validate received payloads; this is not returned in the response |
-| `url` | string | yes | The hook URL |
-| `wiki_page_events` | boolean | no | Trigger hook on wiki events |
+| Attribute | Type | Required | Description |
+|------------------------------|----------------|------------------------|-------------|
+| `confidential_issues_events` | boolean | **{dotted-circle}** No | Trigger hook on confidential issues events. |
+| `confidential_note_events` | boolean | **{dotted-circle}** No | Trigger hook on confidential note events. |
+| `deployment_events` | boolean | **{dotted-circle}** No | Trigger hook on deployment events. |
+| `enable_ssl_verification` | boolean | **{dotted-circle}** No | Do SSL verification when triggering the hook. |
+| `id` | integer/string | **{check-circle}** Yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
+| `issues_events` | boolean | **{dotted-circle}** No | Trigger hook on issues events. |
+| `job_events` | boolean | **{dotted-circle}** No | Trigger hook on job events. |
+| `merge_requests_events` | boolean | **{dotted-circle}** No | Trigger hook on merge requests events. |
+| `note_events` | boolean | **{dotted-circle}** No | Trigger hook on note events. |
+| `pipeline_events` | boolean | **{dotted-circle}** No | Trigger hook on pipeline events. |
+| `push_events_branch_filter` | string | **{dotted-circle}** No | Trigger hook on push events for matching branches only. |
+| `push_events` | boolean | **{dotted-circle}** No | Trigger hook on push events. |
+| `tag_push_events` | boolean | **{dotted-circle}** No | Trigger hook on tag push events. |
+| `token` | string | **{dotted-circle}** No | Secret token to validate received payloads; this isn't returned in the response. |
+| `url` | string | **{check-circle}** Yes | The hook URL. |
+| `wiki_page_events` | boolean | **{dotted-circle}** No | Trigger hook on wiki events. |
### Edit project hook
@@ -2035,46 +2079,49 @@ Edits a hook for a specified project.
PUT /projects/:id/hooks/:hook_id
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `confidential_issues_events` | boolean | no | Trigger hook on confidential issues events |
-| `confidential_note_events` | boolean | no | Trigger hook on confidential note events |
-| `deployment_events` | boolean | no | Trigger hook on deployment events |
-| `enable_ssl_verification` | boolean | no | Do SSL verification when triggering the hook |
-| `hook_id` | integer | yes | The ID of the project hook |
-| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
-| `issues_events` | boolean | no | Trigger hook on issues events |
-| `job_events` | boolean | no | Trigger hook on job events |
-| `merge_requests_events` | boolean | no | Trigger hook on merge requests events |
-| `note_events` | boolean | no | Trigger hook on note events |
-| `pipeline_events` | boolean | no | Trigger hook on pipeline events |
-| `push_events_branch_filter` | string | no | Trigger hook on push events for matching branches only |
-| `push_events` | boolean | no | Trigger hook on push events |
-| `tag_push_events` | boolean | no | Trigger hook on tag push events |
-| `token` | string | no | Secret token to validate received payloads; this is not returned in the response |
-| `url` | string | yes | The hook URL |
-| `wiki_events` | boolean | no | Trigger hook on wiki events |
+| Attribute | Type | Required | Description |
+|------------------------------|----------------|------------------------|-------------|
+| `confidential_issues_events` | boolean | **{dotted-circle}** No | Trigger hook on confidential issues events. |
+| `confidential_note_events` | boolean | **{dotted-circle}** No | Trigger hook on confidential note events. |
+| `deployment_events` | boolean | **{dotted-circle}** No | Trigger hook on deployment events. |
+| `enable_ssl_verification` | boolean | **{dotted-circle}** No | Do SSL verification when triggering the hook. |
+| `hook_id` | integer | **{check-circle}** Yes | The ID of the project hook. |
+| `id` | integer/string | **{check-circle}** Yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
+| `issues_events` | boolean | **{dotted-circle}** No | Trigger hook on issues events. |
+| `job_events` | boolean | **{dotted-circle}** No | Trigger hook on job events. |
+| `merge_requests_events` | boolean | **{dotted-circle}** No | Trigger hook on merge requests events. |
+| `note_events` | boolean | **{dotted-circle}** No | Trigger hook on note events. |
+| `pipeline_events` | boolean | **{dotted-circle}** No | Trigger hook on pipeline events. |
+| `push_events_branch_filter` | string | **{dotted-circle}** No | Trigger hook on push events for matching branches only. |
+| `push_events` | boolean | **{dotted-circle}** No | Trigger hook on push events. |
+| `tag_push_events` | boolean | **{dotted-circle}** No | Trigger hook on tag push events. |
+| `token` | string | **{dotted-circle}** No | Secret token to validate received payloads; this isn't returned in the response. |
+| `url` | string | **{check-circle}** Yes | The hook URL. |
+| `wiki_events` | boolean | **{dotted-circle}** No | Trigger hook on wiki events. |
+| `releases_events` | boolean | **{dotted-circle}** No | Trigger hook on release events. |
### Delete project hook
-Removes a hook from a project. This is an idempotent method and can be called multiple times.
-Either the hook is available or not.
+Removes a hook from a project. This is an idempotent method and can be called
+multiple times. Either the hook is available or not.
```plaintext
DELETE /projects/:id/hooks/:hook_id
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `hook_id` | integer | yes | The ID of the project hook |
-| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
+| Attribute | Type | Required | Description |
+|-----------|----------------|------------------------|-------------|
+| `hook_id` | integer | **{check-circle}** Yes | The ID of the project hook. |
+| `id` | integer/string | **{check-circle}** Yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
-Note the JSON response differs if the hook is available or not. If the project hook
-is available before it's returned in the JSON response or an empty response is returned.
+Note the JSON response differs if the hook is available or not. If the project
+hook is available before it's returned in the JSON response or an empty response
+is returned.
## Fork relationship
-Allows modification of the forked relationship between existing projects. Available only for project owners and admins.
+Allows modification of the forked relationship between existing projects.
+Available only for project owners and admins.
### Create a forked from/to relation between existing projects
@@ -2082,10 +2129,10 @@ Allows modification of the forked relationship between existing projects. Availa
POST /projects/:id/fork/:forked_from_id
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `forked_from_id` | ID | yes | The ID of the project that was forked from |
-| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
+| Attribute | Type | Required | Description |
+|------------------|----------------|------------------------|-------------|
+| `forked_from_id` | ID | **{check-circle}** Yes | The ID of the project that was forked from. |
+| `id` | integer/string | **{check-circle}** Yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
### Delete an existing forked from relationship
@@ -2093,9 +2140,9 @@ POST /projects/:id/fork/:forked_from_id
DELETE /projects/:id/fork
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
+| Attribute | Type | Required | Description |
+|-----------|----------------|------------------------|-------------|
+| `id` | integer/string | **{check-circle}** Yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
## Search for projects by name
@@ -2107,11 +2154,11 @@ accessible.
GET /projects
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `order_by` | string | no | Return requests ordered by `id`, `name`, `created_at` or `last_activity_at` fields |
-| `search` | string | yes | A string contained in the project name |
-| `sort` | string | no | Return requests sorted in `asc` or `desc` order |
+| Attribute | Type | Required | Description |
+|------------|--------|------------------------|-------------|
+| `order_by` | string | **{dotted-circle}** No | Return requests ordered by `id`, `name`, `created_at` or `last_activity_at` fields. |
+| `search` | string | **{check-circle}** Yes | A string contained in the project name. |
+| `sort` | string | **{dotted-circle}** No | Return requests sorted in `asc` or `desc` order. |
```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects?search=test"
@@ -2125,23 +2172,24 @@ curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/a
POST /projects/:id/housekeeping
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `id` | integer/string | yes | The ID of the project or NAMESPACE/PROJECT_NAME |
+| Attribute | Type | Required | Description |
+|-----------|----------------|------------------------|-------------|
+| `id` | integer/string | **{check-circle}** Yes | The ID of the project or NAMESPACE/PROJECT_NAME. |
## Push Rules **(STARTER)**
### Get project push rules
-Get the [push rules](../push_rules/push_rules.md#enabling-push-rules) of a project.
+Get the [push rules](../push_rules/push_rules.md#enabling-push-rules) of a
+project.
```plaintext
GET /projects/:id/push_rule
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `id` | integer/string | yes | The ID of the project or NAMESPACE/PROJECT_NAME |
+| Attribute | Type | Required | Description |
+|-----------|----------------|------------------------|-------------|
+| `id` | integer/string | **{check-circle}** Yes | The ID of the project or NAMESPACE/PROJECT_NAME. |
```json
{
@@ -2162,8 +2210,9 @@ GET /projects/:id/push_rule
}
```
-Users on GitLab [Premium, Silver, or higher](https://about.gitlab.com/pricing/) can also see
-the `commit_committer_check` and `reject_unsigned_commits` parameters:
+Users of GitLab [Premium, Silver, or higher](https://about.gitlab.com/pricing/)
+can also see the `commit_committer_check` and `reject_unsigned_commits`
+parameters:
```json
{
@@ -2183,20 +2232,20 @@ Adds a push rule to a specified project.
POST /projects/:id/push_rule
```
-| Attribute | Type | Required | Description |
-| --------------------------------------------- | -------------- | -------- | ----------- |
-| `author_email_regex` **(STARTER)** | string | no | All commit author emails must match this, for example `@my-company.com$` |
-| `branch_name_regex` **(STARTER)** | string | no | All branch names must match this, for example `(feature|hotfix)\/*` |
-| `commit_committer_check` **(PREMIUM)** | boolean | no | Users can only push commits to this repository that were committed with one of their own verified emails. |
-| `commit_message_negative_regex` **(STARTER)** | string | no | No commit message is allowed to match this, for example `ssh\:\/\/` |
-| `commit_message_regex` **(STARTER)** | string | no | All commit messages must match this, for example `Fixed \d+\..*` |
-| `deny_delete_tag` **(STARTER)** | boolean | no | Deny deleting a tag |
-| `file_name_regex` **(STARTER)** | string | no | All committed filenames must **not** match this, for example `(jar|exe)$` |
-| `id` | integer/string | yes | The ID of the project or NAMESPACE/PROJECT_NAME |
-| `max_file_size` **(STARTER)** | integer | no | Maximum file size (MB) |
-| `member_check` **(STARTER)** | boolean | no | Restrict commits by author (email) to existing GitLab users |
-| `prevent_secrets` **(STARTER)** | boolean | no | GitLab will reject any files that are likely to contain secrets |
-| `reject_unsigned_commits` **(PREMIUM)** | boolean | no | Reject commit when it's not signed through GPG. |
+| Attribute | Type | Required | Description |
+|-----------------------------------------------|----------------|------------------------|-------------|
+| `author_email_regex` **(STARTER)** | string | **{dotted-circle}** No | All commit author emails must match this, for example `@my-company.com$`. |
+| `branch_name_regex` **(STARTER)** | string | **{dotted-circle}** No | All branch names must match this, for example `(feature|hotfix)\/*`. |
+| `commit_committer_check` **(PREMIUM)** | boolean | **{dotted-circle}** No | Users can only push commits to this repository that were committed with one of their own verified emails. |
+| `commit_message_negative_regex` **(STARTER)** | string | **{dotted-circle}** No | No commit message is allowed to match this, for example `ssh\:\/\/`. |
+| `commit_message_regex` **(STARTER)** | string | **{dotted-circle}** No | All commit messages must match this, for example `Fixed \d+\..*`. |
+| `deny_delete_tag` **(STARTER)** | boolean | **{dotted-circle}** No | Deny deleting a tag. |
+| `file_name_regex` **(STARTER)** | string | **{dotted-circle}** No | All committed filenames must **not** match this, for example `(jar|exe)$`. |
+| `id` | integer/string | **{check-circle}** Yes | The ID of the project or NAMESPACE/PROJECT_NAME. |
+| `max_file_size` **(STARTER)** | integer | **{dotted-circle}** No | Maximum file size (MB). |
+| `member_check` **(STARTER)** | boolean | **{dotted-circle}** No | Restrict commits by author (email) to existing GitLab users. |
+| `prevent_secrets` **(STARTER)** | boolean | **{dotted-circle}** No | GitLab will reject any files that are likely to contain secrets. |
+| `reject_unsigned_commits` **(PREMIUM)** | boolean | **{dotted-circle}** No | Reject commit when it's not signed through GPG. |
### Edit project push rule
@@ -2206,35 +2255,35 @@ Edits a push rule for a specified project.
PUT /projects/:id/push_rule
```
-| Attribute | Type | Required | Description |
-| --------------------------------------------- | -------------- | -------- | ----------- |
-| `author_email_regex` **(STARTER)** | string | no | All commit author emails must match this, for example `@my-company.com$` |
-| `branch_name_regex` **(STARTER)** | string | no | All branch names must match this, for example `(feature|hotfix)\/*` |
-| `commit_committer_check` **(PREMIUM)** | boolean | no | Users can only push commits to this repository that were committed with one of their own verified emails. |
-| `commit_message_negative_regex` **(STARTER)** | string | no | No commit message is allowed to match this, for example `ssh\:\/\/` |
-| `commit_message_regex` **(STARTER)** | string | no | All commit messages must match this, for example `Fixed \d+\..*` |
-| `deny_delete_tag` **(STARTER)** | boolean | no | Deny deleting a tag |
-| `file_name_regex` **(STARTER)** | string | no | All committed filenames must **not** match this, for example `(jar|exe)$` |
-| `id` | integer/string | yes | The ID of the project or NAMESPACE/PROJECT_NAME |
-| `max_file_size` **(STARTER)** | integer | no | Maximum file size (MB) |
-| `member_check` **(STARTER)** | boolean | no | Restrict commits by author (email) to existing GitLab users |
-| `prevent_secrets` **(STARTER)** | boolean | no | GitLab will reject any files that are likely to contain secrets |
-| `reject_unsigned_commits` **(PREMIUM)** | boolean | no | Reject commits when they are not GPG signed. |
+| Attribute | Type | Required | Description |
+|-----------------------------------------------|----------------|------------------------|-------------|
+| `author_email_regex` **(STARTER)** | string | **{dotted-circle}** No | All commit author emails must match this, for example `@my-company.com$`. |
+| `branch_name_regex` **(STARTER)** | string | **{dotted-circle}** No | All branch names must match this, for example `(feature|hotfix)\/*`. |
+| `commit_committer_check` **(PREMIUM)** | boolean | **{dotted-circle}** No | Users can only push commits to this repository that were committed with one of their own verified emails. |
+| `commit_message_negative_regex` **(STARTER)** | string | **{dotted-circle}** No | No commit message is allowed to match this, for example `ssh\:\/\/`. |
+| `commit_message_regex` **(STARTER)** | string | **{dotted-circle}** No | All commit messages must match this, for example `Fixed \d+\..*`. |
+| `deny_delete_tag` **(STARTER)** | boolean | **{dotted-circle}** No | Deny deleting a tag. |
+| `file_name_regex` **(STARTER)** | string | **{dotted-circle}** No | All committed filenames must **not** match this, for example `(jar|exe)$`. |
+| `id` | integer/string | **{check-circle}** Yes | The ID of the project or NAMESPACE/PROJECT_NAME. |
+| `max_file_size` **(STARTER)** | integer | **{dotted-circle}** No | Maximum file size (MB). |
+| `member_check` **(STARTER)** | boolean | **{dotted-circle}** No | Restrict commits by author (email) to existing GitLab users. |
+| `prevent_secrets` **(STARTER)** | boolean | **{dotted-circle}** No | GitLab will reject any files that are likely to contain secrets. |
+| `reject_unsigned_commits` **(PREMIUM)** | boolean | **{dotted-circle}** No | Reject commits when they are not GPG signed. |
### Delete project push rule
> Introduced in [GitLab Starter](https://about.gitlab.com/pricing/) 9.0.
-Removes a push rule from a project. This is an idempotent method and can be called multiple times.
-Either the push rule is available or not.
+Removes a push rule from a project. This is an idempotent method and can be
+called multiple times. Either the push rule is available or not.
```plaintext
DELETE /projects/:id/push_rule
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
+| Attribute | Type | Required | Description |
+|-----------|----------------|------------------------|-------------|
+| `id` | integer/string | **{check-circle}** Yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
## Transfer a project to a new namespace
@@ -2244,10 +2293,10 @@ DELETE /projects/:id/push_rule
PUT /projects/:id/transfer
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
-| `namespace` | integer/string | yes | The ID or path of the namespace to transfer to project to |
+| Attribute | Type | Required | Description |
+|-------------|----------------|------------------------|-------------|
+| `id` | integer/string | **{check-circle}** Yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
+| `namespace` | integer/string | **{check-circle}** Yes | The ID or path of the namespace to transfer to project to. |
Example request:
@@ -2376,9 +2425,9 @@ Read more in the [Project members](members.md) documentation.
POST /projects/:id/mirror/pull
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
+| Attribute | Type | Required | Description |
+|-----------|----------------|------------------------|-------------|
+| `id` | integer/string | **{check-circle}** Yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/:id/mirror/pull"
@@ -2390,7 +2439,9 @@ Read more in the [Project Badges](project_badges.md) documentation.
## Issue and merge request description templates
-The non-default [issue and merge request description templates](../user/project/description_templates.md) are managed inside the project's repository. So you can manage them via the API through the [Repositories API](repositories.md) and the [Repository Files API](repository_files.md).
+The non-default [issue and merge request description templates](../user/project/description_templates.md)
+are managed inside the project's repository. So you can manage them with the API
+through the [Repositories API](repositories.md) and the [Repository Files API](repository_files.md).
## Download snapshot of a Git repository
@@ -2402,14 +2453,14 @@ Download a snapshot of the project (or wiki, if requested) Git repository. This
snapshot is always in uncompressed [tar](https://en.wikipedia.org/wiki/Tar_(computing))
format.
-If a repository is corrupted to the point where `git clone` does not work, the
+If a repository is corrupted to the point where `git clone` doesn't work, the
snapshot may allow some of the data to be retrieved.
```plaintext
GET /projects/:id/snapshot
```
-| Attribute | Type | Required | Description |
-| --------- | ---- | -------- | ----------- |
-| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
-| `wiki` | boolean | no | Whether to download the wiki, rather than project, repository |
+| Attribute | Type | Required | Description |
+|-----------|----------------|------------------------|-------------|
+| `id` | integer/string | **{check-circle}** Yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
+| `wiki` | boolean | **{dotted-circle}** No | Whether to download the wiki, rather than project, repository. |
diff --git a/doc/api/protected_environments.md b/doc/api/protected_environments.md
index 56b399cec9b..c42d6776341 100644
--- a/doc/api/protected_environments.md
+++ b/doc/api/protected_environments.md
@@ -96,7 +96,7 @@ POST /projects/:id/protected_environments
```
```shell
-curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/protected_environments?name=staging&deploy_access_levels%5B%5D%5Buser_id%5D=1"
+curl --header 'Content-Type: application/json' --request POST --data '{"name": "production", "deploy_access_levels": [{"group_id": 9899826}]}' --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/22034114/protected_environments"
```
| Attribute | Type | Required | Description |
@@ -105,21 +105,22 @@ curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitla
| `name` | string | yes | The name of the environment. |
| `deploy_access_levels` | array | yes | Array of access levels allowed to deploy, with each described by a hash. |
-Elements in the `deploy_access_levels` array should take the
-form `{user_id: integer}`, `{group_id: integer}` or `{access_level: integer}`.
+Elements in the `deploy_access_levels` array should be one of `user_id`, `group_id` or
+`access_level`, and take the form `{user_id: integer}`, `{group_id: integer}` or
+`{access_level: integer}`.
Each user must have access to the project and each group must [have this project shared](../user/project/members/share_project_with_groups.md).
Example response:
```json
{
- "name":"staging",
+ "name":"production",
"deploy_access_levels":[
{
- "access_level":null,
- "access_level_description":"Administrator",
- "user_id":1,
- "group_id":null
+ "access_level":40,
+ "access_level_description":"protected-access-group",
+ "user_id":null,
+ "group_id":9899826
}
]
}
diff --git a/doc/api/releases/index.md b/doc/api/releases/index.md
index 4dac9f61469..7c65e9da74b 100644
--- a/doc/api/releases/index.md
+++ b/doc/api/releases/index.md
@@ -228,7 +228,7 @@ GET /projects/:id/releases/:tag_name
| 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 where the release will be created from. |
+| `tag_name` | string | yes | The Git tag the release is associated with. |
Example request:
@@ -367,7 +367,7 @@ POST /projects/:id/releases
| `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:filepath` | string | no | Optional path for a [Direct Asset link](../../user/project/releases/index.md).
+| `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`). |
@@ -508,7 +508,7 @@ POST /projects/:id/releases/:tag_name/evidence
| 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 where the release will be created from. |
+| `tag_name` | string | yes | The Git tag the release is associated with. |
Example request:
@@ -533,7 +533,7 @@ PUT /projects/:id/releases/:tag_name
| 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 where the release will be created from. |
+| `tag_name` | string | yes | The Git tag the release is associated with. |
| `name` | string | no | The release name. |
| `description` | string | no | The description of the release. You can use [Markdown](../../user/markdown.md). |
| `milestones` | array of string | no | The title of each milestone to associate with the release. [GitLab Premium](https://about.gitlab.com/pricing/) customers can specify group milestones. To remove all milestones from the release, specify `[]`. |
@@ -584,7 +584,7 @@ Example response:
"id":53,
"iid":3,
"project_id":24,
- "title":"v1.0",
+ "title":"v1.2",
"description":"Voluptate fugiat possimus quis quod aliquam expedita.",
"state":"active",
"created_at":"2019-09-01T13:00:00.256Z",
@@ -640,7 +640,7 @@ DELETE /projects/:id/releases/:tag_name
| 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 where the release will be created from. |
+| `tag_name` | string | yes | The Git tag the release is associated with. |
Example request:
diff --git a/doc/api/releases/links.md b/doc/api/releases/links.md
index 242b5eb41f5..2b33f6a4dc7 100644
--- a/doc/api/releases/links.md
+++ b/doc/api/releases/links.md
@@ -97,26 +97,29 @@ POST /projects/:id/releases/:tag_name/assets/links
| `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`. |
Example request:
```shell
curl --request POST \
- --header "PRIVATE-TOKEN: n671WNGecHugsdEDPsyo" \
- --data name="awesome-v0.2.dmg" \
- --data url="http://192.168.10.15:3000" \
- "https://gitlab.example.com/api/v4/projects/24/releases/v0.1/assets/links"
+ --header "PRIVATE-TOKEN: tkhfG7HgG-LiZd3zfdDC" \
+ --data name="hellodarwin-amd64" \
+ --data url="https://gitlab.example.com/mynamespace/hello/-/jobs/688/artifacts/raw/bin/hello-darwin-amd64" \
+ --data filepath="/bin/hellodarwin-amd64" \
+ "https://gitlab.example.com/api/v4/projects/20/releases/v1.7.0/assets/links"
```
Example response:
```json
{
- "id":1,
- "name":"awesome-v0.2.dmg",
- "url":"http://192.168.10.15:3000",
- "external":true,
+ "id":2,
+ "name":"hellodarwin-amd64",
+ "url":"https://gitlab.example.com/mynamespace/hello/-/jobs/688/artifacts/raw/bin/hello-darwin-amd64",
+ "direct_asset_url":"https://gitlab.example.com/mynamespace/hello/-/releases/v1.7.0/downloads/bin/hellodarwin-amd64",
+ "external":false,
"link_type":"other"
}
```
@@ -136,6 +139,7 @@ PUT /projects/:id/releases/:tag_name/assets/links/:link_id
| `link_id` | integer | yes | The ID of the link. |
| `name` | string | no | The name of the link. |
| `url` | string | no | 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`. |
NOTE: **Note:**
diff --git a/doc/api/resource_label_events.md b/doc/api/resource_label_events.md
index 275614a1449..b088c06b342 100644
--- a/doc/api/resource_label_events.md
+++ b/doc/api/resource_label_events.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Resource label events API
Resource label events keep track about who, when, and which label was added to, or removed from, an issuable.
diff --git a/doc/api/scim.md b/doc/api/scim.md
index 350f992779e..653d56f3e06 100644
--- a/doc/api/scim.md
+++ b/doc/api/scim.md
@@ -1,19 +1,23 @@
-# SCIM API **(SILVER ONLY)**
+---
+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
+---
-> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/9388) in [GitLab Silver](https://about.gitlab.com/pricing/) 11.10.
+# SCIM API (SYSTEM ONLY) **(SILVER ONLY)**
-The SCIM API implements the [RFC7644 protocol](https://tools.ietf.org/html/rfc7644).
+> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/9388) in [GitLab.com Silver](https://about.gitlab.com/pricing/) 11.10.
-CAUTION: **Caution:**
-This API is for internal system use for connecting with a SCIM provider. While it can be used directly, it is subject to change without notice.
+The SCIM API implements the [RFC7644 protocol](https://tools.ietf.org/html/rfc7644). As this API is for
+**system** use for SCIM provider integration, it is subject to change without notice.
-NOTE: **Note:**
-[Group SSO](../user/group/saml_sso/index.md) must be enabled for the group. For more information, see [SCIM setup documentation](../user/group/saml_sso/scim_setup.md#requirements).
+To use this API, [Group SSO](../user/group/saml_sso/index.md) must be enabled for the group.
+This API is only in use where [SCIM for Group SSO](../user/group/saml_sso/scim_setup.md) is enabled. It's a prerequisite to the creation of SCIM identities.
## Get a list of SAML users
-NOTE: **Note:**
-This endpoint is used as part of the SCIM syncing mechanism and it only returns
+This endpoint is used as part of the SCIM syncing mechanism. It only returns
a single user based on a unique ID which should match the `extern_uid` of the user.
```plaintext
diff --git a/doc/api/search.md b/doc/api/search.md
index bdf5bdd4924..8de93ce0d32 100644
--- a/doc/api/search.md
+++ b/doc/api/search.md
@@ -7,7 +7,8 @@ type: reference, api
# Search API
-> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/41763) in GitLab 10.5.
+> - [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/41763) in GitLab 10.5.
+> - [Feature flag `search_filter_by_confidential` removed](https://gitlab.com/gitlab-org/gitlab/-/issues/244923) in GitLab 13.6.
Every API call to search must be authenticated.
@@ -24,7 +25,9 @@ GET /search
| `scope` | string | yes | The scope to search in |
| `search` | string | yes | The search query |
| `state` | string | no | Filter by state. Issues and merge requests are supported; it is ignored for other scopes. |
-| `confidential` | boolean | no | Filter by confidentiality. Issues scope is supported; it is ignored for other scopes. This parameter is behind a [feature flag (`search_filter_by_confidential`)](../administration/feature_flags.md). |
+| `confidential` | boolean | no | Filter by confidentiality. Issues scope is supported; it is ignored for other scopes. |
+| `order_by` | string | no | Allowed values are `created_at` only. If this is not set, the results will either be sorted by `created_at` in descending order for basic search, or by the most relevant documents when using advanced search.|
+| `sort` | string | no | Allowed values are `asc` or `desc` only. If this is not set, the results will either be sorted by `created_at` in descending order for basic search, or by the most relevant documents when using advanced search.|
Search the expression within the specified scope. Currently these scopes are supported: projects, issues, merge_requests, milestones, snippet_titles, users.
@@ -434,7 +437,9 @@ GET /groups/:id/search
| `scope` | string | yes | The scope to search in |
| `search` | string | yes | The search query |
| `state` | string | no | Filter by state. Issues and merge requests are supported; it is ignored for other scopes. |
-| `confidential` | boolean | no | Filter by confidentiality. Issues scope is supported; it is ignored for other scopes. This parameter is behind a [feature flag (`search_filter_by_confidential`)](../administration/feature_flags.md). |
+| `confidential` | boolean | no | Filter by confidentiality. Issues scope is supported; it is ignored for other scopes. |
+| `order_by` | string | no | Allowed values are `created_at` only. If this is not set, the results will either be sorted by `created_at` in descending order for basic search, or by the most relevant documents when using advanced search.|
+| `sort` | string | no | Allowed values are `asc` or `desc` only. If this is not set, the results will either be sorted by `created_at` in descending order for basic search, or by the most relevant documents when using advanced search.|
Search the expression within the specified scope. Currently these scopes are supported: projects, issues, merge_requests, milestones, users.
@@ -814,7 +819,9 @@ GET /projects/:id/search
| `search` | string | yes | The search query |
| `ref` | string | no | The name of a repository branch or tag to search on. The project's default branch is used by default. This is only applicable for scopes: commits, blobs, and wiki_blobs. |
| `state` | string | no | Filter by state. Issues and merge requests are supported; it is ignored for other scopes. |
-| `confidential` | boolean | no | Filter by confidentiality. Issues scope is supported; it is ignored for other scopes. This parameter is behind a [feature flag (`search_filter_by_confidential`)](../administration/feature_flags.md). |
+| `confidential` | boolean | no | Filter by confidentiality. Issues scope is supported; it is ignored for other scopes. |
+| `order_by` | string | no | Allowed values are `created_at` only. If this is not set, the results will either be sorted by `created_at` in descending order for basic search, or by the most relevant documents when using advanced search.|
+| `sort` | string | no | Allowed values are `asc` or `desc` only. If this is not set, the results will either be sorted by `created_at` in descending order for basic search, or by the most relevant documents when using advanced search.|
Search the expression within the specified scope. Currently these scopes are supported: issues, merge_requests, milestones, notes, wiki_blobs, commits, blobs, users.
diff --git a/doc/api/services.md b/doc/api/services.md
index 7c01e43a4d8..a60eacef1d8 100644
--- a/doc/api/services.md
+++ b/doc/api/services.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Services API
NOTE: **Note:**
@@ -305,7 +311,7 @@ Parameters:
| --------- | ---- | -------- | ----------- |
| `webhook` | string | true | The Unify Circuit webhook. For example, `https://circuit.com/rest/v2/webhooks/incoming/...`. |
| `notify_only_broken_pipelines` | boolean | false | Send notifications for broken pipelines |
-| `branches_to_be_notified` | string | all | Branches to send notifications for. Valid options are "all", "default", "protected", and "default_and_protected" |
+| `branches_to_be_notified` | string | false | Branches to send notifications for. Valid options are "all", "default", "protected", and "default_and_protected". The default value is "default" |
| `push_events` | boolean | false | Enable notifications for push events |
| `issues_events` | boolean | false | Enable notifications for issue events |
| `confidential_issues_events` | boolean | false | Enable notifications for confidential issue events |
@@ -350,7 +356,7 @@ Parameters:
| --------- | ---- | -------- | ----------- |
| `webhook` | string | true | The Webex Teams webhook. For example, `https://api.ciscospark.com/v1/webhooks/incoming/...`. |
| `notify_only_broken_pipelines` | boolean | false | Send notifications for broken pipelines |
-| `branches_to_be_notified` | string | all | Branches to send notifications for. Valid options are "all", "default", "protected", and "default_and_protected" |
+| `branches_to_be_notified` | string | false | Branches to send notifications for. Valid options are "all", "default", "protected", and "default_and_protected". The default value is "default" |
| `push_events` | boolean | false | Enable notifications for push events |
| `issues_events` | boolean | false | Enable notifications for issue events |
| `confidential_issues_events` | boolean | false | Enable notifications for confidential issue events |
@@ -476,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 | all | Branches to send notifications for. Valid options are "all", "default", "protected", and "default_and_protected". Notifications will be always fired for tag pushes. |
+| `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" |
### Delete Emails on push service
@@ -659,7 +665,7 @@ Parameters:
| `webhook` | string | true | The Hangouts Chat webhook. For example, `https://chat.googleapis.com/v1/spaces...`. |
| `notify_only_broken_pipelines` | boolean | false | Send notifications for broken pipelines |
| `notify_only_default_branch` | boolean | false | DEPRECATED: This parameter has been replaced with `branches_to_be_notified` |
-| `branches_to_be_notified` | string | false | Branches to send notifications for. Valid options are "all", "default", "protected", and "default_and_protected" |
+| `branches_to_be_notified` | string | false | Branches to send notifications for. Valid options are "all", "default", "protected", and "default_and_protected". The default value is "default" |
| `push_events` | boolean | false | Enable notifications for push events |
| `issues_events` | boolean | false | Enable notifications for issue events |
| `confidential_issues_events` | boolean | false | Enable notifications for confidential issue events |
@@ -972,7 +978,7 @@ Parameters:
| `recipients` | string | yes | Comma-separated list of recipient email addresses |
| `add_pusher` | boolean | no | Add pusher to recipients list |
| `notify_only_broken_pipelines` | boolean | no | Notify only broken pipelines |
-| `branches_to_be_notified` | string | all | Branches to send notifications for. Valid options are "all", "default", "protected", and "default_and_protected" |
+| `branches_to_be_notified` | string | false | Branches to send notifications for. Valid options are "all", "default", "protected", and "default_and_protected. The default value is "default" |
| `notify_only_default_branch` | boolean | no | Send notifications only for the default branch ([introduced in GitLab 12.0](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/28271)) |
| `pipeline_events` | boolean | false | Enable notifications for pipeline events |
@@ -1165,7 +1171,7 @@ Parameters:
| `channel` | string | false | Default channel to use if others are not configured |
| `notify_only_broken_pipelines` | boolean | false | Send notifications for broken pipelines |
| `notify_only_default_branch` | boolean | false | DEPRECATED: This parameter has been replaced with `branches_to_be_notified` |
-| `branches_to_be_notified` | string | all | Branches to send notifications for. Valid options are "all", "default", "protected", and "default_and_protected" |
+| `branches_to_be_notified` | string | false | Branches to send notifications for. Valid options are "all", "default", "protected", and "default_and_protected". The default value is "default" |
| `commit_events` | boolean | false | Enable notifications for commit events |
| `confidential_issue_channel` | string | false | The name of the channel to receive confidential issues events notifications |
| `confidential_issues_events` | boolean | false | Enable notifications for confidential issue events |
@@ -1224,7 +1230,7 @@ Parameters:
| `webhook` | string | true | The Microsoft Teams webhook. For example, `https://outlook.office.com/webhook/...` |
| `notify_only_broken_pipelines` | boolean | false | Send notifications for broken pipelines |
| `notify_only_default_branch` | boolean | false | DEPRECATED: This parameter has been replaced with `branches_to_be_notified` |
-| `branches_to_be_notified` | string | all | Branches to send notifications for. Valid options are "all", "default", "protected", and "default_and_protected" |
+| `branches_to_be_notified` | string | false | Branches to send notifications for. Valid options are "all", "default", "protected", and "default_and_protected". The default value is "default" |
| `push_events` | boolean | false | Enable notifications for push events |
| `issues_events` | boolean | false | Enable notifications for issue events |
| `confidential_issues_events` | boolean | false | Enable notifications for confidential issue events |
@@ -1275,7 +1281,7 @@ Parameters:
| `channel` | string | false | Default channel to use if others are not configured |
| `notify_only_broken_pipelines` | boolean | false | Send notifications for broken pipelines |
| `notify_only_default_branch` | boolean | false | DEPRECATED: This parameter has been replaced with `branches_to_be_notified` |
-| `branches_to_be_notified` | string | all | Branches to send notifications for. Valid options are "all", "default", "protected", and "default_and_protected" |
+| `branches_to_be_notified` | string | false | Branches to send notifications for. Valid options are "all", "default", "protected", and "default_and_protected". The default value is "default" |
| `push_events` | boolean | false | Enable notifications for push events |
| `issues_events` | boolean | false | Enable notifications for issue events |
| `confidential_issues_events` | boolean | false | Enable notifications for confidential issue events |
diff --git a/doc/api/settings.md b/doc/api/settings.md
index 236cd10a30e..5b04ee9d368 100644
--- a/doc/api/settings.md
+++ b/doc/api/settings.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Application settings API **(CORE ONLY)**
These API calls allow you to read and modify GitLab instance
@@ -37,9 +43,9 @@ Example response:
"home_page_url" : null,
"default_snippet_visibility" : "private",
"outbound_local_requests_whitelist": [],
- "domain_whitelist" : [],
- "domain_blacklist_enabled" : false,
- "domain_blacklist" : [],
+ "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",
@@ -73,7 +79,8 @@ Example response:
"snippet_size_limit": 52428800,
"issues_create_limit": 300,
"raw_blob_request_limit": 300,
- "wiki_page_max_content_bytes": 52428800
+ "wiki_page_max_content_bytes": 52428800,
+ "require_admin_approval_after_user_signup": false
}
```
@@ -127,9 +134,9 @@ Example response:
"default_snippet_visibility": "private",
"default_group_visibility": "private",
"outbound_local_requests_whitelist": [],
- "domain_whitelist": [],
- "domain_blacklist_enabled" : false,
- "domain_blacklist" : [],
+ "domain_allowlist": [],
+ "domain_denylist_enabled" : false,
+ "domain_denylist" : [],
"external_authorization_service_enabled": true,
"external_authorization_service_url": "https://authorize.me",
"external_authorization_service_default_label": "default",
@@ -164,7 +171,8 @@ Example response:
"snippet_size_limit": 52428800,
"issues_create_limit": 300,
"raw_blob_request_limit": 300,
- "wiki_page_max_content_bytes": 52428800
+ "wiki_page_max_content_bytes": 52428800,
+ "require_admin_approval_after_user_signup": false
}
```
@@ -225,9 +233,9 @@ listed in the descriptions of the relevant settings.
| `diff_max_patch_bytes` | integer | no | Maximum diff patch size (Bytes). |
| `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_blacklist_enabled` | boolean | no | (**If enabled, requires:** `domain_blacklist`) Allows blocking sign-ups from emails from specific domains. |
-| `domain_blacklist` | 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_whitelist` | array of strings | no | Force people to use only corporate emails for sign-up. Default is `null`, meaning there is no restriction. |
+| `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_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. |
| `ed25519_key_restriction` | integer | no | The minimum allowed curve size (in bits) of an uploaded ED25519 key. Default is `0` (no restriction). `-1` disables ED25519 keys. |
@@ -325,6 +333,7 @@ listed in the descriptions of the relevant settings.
| `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` | 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. |
| `restricted_visibility_levels` | array of strings | no | Selected levels cannot be used by non-admin users for groups, projects or snippets. Can take `private`, `internal` and `public` as a parameter. Default is `null` which means there is no restriction. |
| `rsa_key_restriction` | integer | no | The minimum allowed bit length of an uploaded RSA key. Default is `0` (no restriction). `-1` disables RSA keys. |
diff --git a/doc/api/sidekiq_metrics.md b/doc/api/sidekiq_metrics.md
index caa02412a28..914f5fbf42a 100644
--- a/doc/api/sidekiq_metrics.md
+++ b/doc/api/sidekiq_metrics.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Sidekiq Metrics API **(CORE ONLY)**
> Introduced in GitLab 8.9.
diff --git a/doc/api/snippets.md b/doc/api/snippets.md
index 431d745ac84..c2812de5dd7 100644
--- a/doc/api/snippets.md
+++ b/doc/api/snippets.md
@@ -21,7 +21,7 @@ Valid values for snippet visibility levels are:
| Visibility | Description |
|:-----------|:----------------------------------------------------|
| `private` | Snippet is visible only to the snippet creator. |
-| `internal` | Snippet is visible for any logged in user. |
+| `internal` | Snippet is visible for any logged in user except [external users](../user/permissions.md#external-users). |
| `public` | Snippet can be accessed without any authentication. |
## List all snippets for a user
diff --git a/doc/api/statistics.md b/doc/api/statistics.md
index 890c6f68898..6a41a960eba 100644
--- a/doc/api/statistics.md
+++ b/doc/api/statistics.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Application statistics API
## Get current application statistics
diff --git a/doc/api/system_hooks.md b/doc/api/system_hooks.md
index 3e0d2151428..00cd88c88dd 100644
--- a/doc/api/system_hooks.md
+++ b/doc/api/system_hooks.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# System hooks API
All methods require administrator authorization.
diff --git a/doc/api/templates/dockerfiles.md b/doc/api/templates/dockerfiles.md
index e579300a2fd..fd0edfce8e5 100644
--- a/doc/api/templates/dockerfiles.md
+++ b/doc/api/templates/dockerfiles.md
@@ -1,4 +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
type: reference
---
diff --git a/doc/api/templates/gitignores.md b/doc/api/templates/gitignores.md
index 3acd666ad66..b957c582755 100644
--- a/doc/api/templates/gitignores.md
+++ b/doc/api/templates/gitignores.md
@@ -1,4 +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
type: reference
---
diff --git a/doc/api/templates/licenses.md b/doc/api/templates/licenses.md
index 4eb3c0f6111..d1044b23306 100644
--- a/doc/api/templates/licenses.md
+++ b/doc/api/templates/licenses.md
@@ -1,4 +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
type: reference
---
diff --git a/doc/api/todos.md b/doc/api/todos.md
index ab36021d694..06b99ab8c53 100644
--- a/doc/api/todos.md
+++ b/doc/api/todos.md
@@ -26,7 +26,7 @@ Parameters:
| `project_id` | integer | no | The ID of a project |
| `group_id` | integer | no | The ID of a group |
| `state` | string | no | The state of the to do. Can be either `pending` or `done` |
-| `type` | string | no | The type of a to do. Can be either `Issue`, `MergeRequest`, `DesignManagement::Design` or `AlertManagement::Alert` |
+| `type` | string | no | The type of to-do item. Can be either `Issue`, `MergeRequest`, `DesignManagement::Design` or `AlertManagement::Alert` |
```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/todos"
@@ -187,7 +187,7 @@ Example Response:
]
```
-## Mark a to do as done
+## Mark a to-do item as done
Marks a single pending to do given by its ID for the current user as done. The
to do marked as done is returned in the response.
@@ -200,7 +200,7 @@ Parameters:
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
-| `id` | integer | yes | The ID of a to do |
+| `id` | integer | yes | The ID of to-do item |
```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/todos/130/mark_as_done"
diff --git a/doc/api/users.md b/doc/api/users.md
index beaea689fb7..e1fa97765df 100644
--- a/doc/api/users.md
+++ b/doc/api/users.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Users API
## List users
@@ -1435,7 +1441,54 @@ Parameters:
| `user_id` | integer | yes | The ID of the user |
| `impersonation_token_id` | integer | yes | The ID of the impersonation token |
-### Get user activities (admin only)
+## Create a personal access token (admin only)
+
+> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/17176) in GitLab 13.6.
+> - 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:**
+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.
+
+It creates a new personal access token.
+
+```plaintext
+POST /users/:user_id/personal_access_tokens
+```
+
+| Attribute | Type | Required | Description |
+| ------------ | ------- | -------- | ------------------------------------------------------------------------------------------------------------------------ |
+| `user_id` | integer | yes | The ID of the user |
+| `name` | string | yes | The name of the personal access token |
+| `expires_at` | date | no | The expiration date of the personal access token in ISO format (`YYYY-MM-DD`) |
+| `scopes` | array | yes | The array of scopes of the personal access token (`api`, `read_user`, `read_api`, `read_repository`, `write_repository`) |
+
+```shell
+curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --data "name=mytoken" --data "expires_at=2017-04-04" --data "scopes[]=api" "https://gitlab.example.com/api/v4/users/42/personal_access_tokens"
+```
+
+Example response:
+
+```json
+{
+ "id": 3,
+ "name": "mytoken",
+ "revoked": false,
+ "created_at": "2020-10-14T11:58:53.526Z",
+ "scopes": [
+ "api"
+ ],
+ "user_id": 42,
+ "active": true,
+ "expires_at": "2020-12-31",
+ "token": "ggbfKkC4n-Lujy8jwCR2"
+}
+```
+
+## Get user activities (admin only)
NOTE: **Note:**
This API endpoint is only available on 8.15 (EE) and 9.1 (CE) and above.
@@ -1540,3 +1593,22 @@ Example response:
},
]
```
+
+## Enable or disable an administrator's ability to use the API to create personal access tokens **(CORE)**
+
+An administrator's ability to create personal access tokens through the API is
+deployed behind a feature flag that is **disabled by default**.
+[GitLab administrators with access to the GitLab Rails console](../administration/feature_flags.md)
+can enable it.
+
+To enable it:
+
+```ruby
+Feature.enable(:pat_creation_api_for_admin)
+```
+
+To disable it:
+
+```ruby
+Feature.disable(:pat_creation_api_for_admin)
+```
diff --git a/doc/api/v3_to_v4.md b/doc/api/v3_to_v4.md
index c351c14e24c..2dd4376413b 100644
--- a/doc/api/v3_to_v4.md
+++ b/doc/api/v3_to_v4.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# API V3 to API V4
In GitLab 9.0 and later, API V4 is the preferred version to be used.
diff --git a/doc/api/version.md b/doc/api/version.md
index 3c6feaae071..d1582cf63cd 100644
--- a/doc/api/version.md
+++ b/doc/api/version.md
@@ -1,3 +1,9 @@
+---
+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
+---
+
# Version API
> Introduced in GitLab 8.13.