diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-09-20 18:07:33 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-09-20 18:07:33 +0300 |
commit | 8ad0af586ed73d33493fe91a0f5204953c7e701a (patch) | |
tree | 242646920b7bb0fae8735a919514e66b15061aa6 /doc | |
parent | f80dee91829a985dbf7d07b606179e06e87166a6 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'doc')
-rw-r--r-- | doc/administration/monitoring/prometheus/gitlab_metrics.md | 58 | ||||
-rw-r--r-- | doc/administration/settings/project_integration_management.md | 97 | ||||
-rw-r--r-- | doc/api/lint.md | 154 | ||||
-rw-r--r-- | doc/api/packages/nuget.md | 31 | ||||
-rw-r--r-- | doc/ci/runners/new_creation_workflow.md | 5 | ||||
-rw-r--r-- | doc/integration/jira/configure.md | 5 | ||||
-rw-r--r-- | doc/user/packages/composer_repository/index.md | 6 | ||||
-rw-r--r-- | doc/user/packages/nuget_repository/index.md | 49 | ||||
-rw-r--r-- | doc/user/project/integrations/index.md | 104 |
9 files changed, 213 insertions, 296 deletions
diff --git a/doc/administration/monitoring/prometheus/gitlab_metrics.md b/doc/administration/monitoring/prometheus/gitlab_metrics.md index d91fd5f8156..b921195922e 100644 --- a/doc/administration/monitoring/prometheus/gitlab_metrics.md +++ b/doc/administration/monitoring/prometheus/gitlab_metrics.md @@ -37,10 +37,10 @@ The following metrics are available: | Metric | Type | Since | Description | Labels | | :--------------------------------------------------------------- | :---------- | ------: | :-------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------- | -| `gitlab_cache_misses_total` | Counter | 10.2 | Cache read miss | `controller`, `action`, `store` | -| `gitlab_cache_operation_duration_seconds` | Histogram | 10.2 | Cache access time | `operation`, `store` | -| `gitlab_cache_operations_total` | Counter | 12.2 | Cache operations by controller or action | `controller`, `action`, `operation`, `store` | -| `gitlab_cache_read_multikey_count` | Histogram | 15.7 | Count of keys in multi-key cache read operations | `controller`, `action`, `store` | +| `gitlab_cache_misses_total` | Counter | 10.2 | Cache read miss | `controller`, `action`, `store`, `endpoint_id` | +| `gitlab_cache_operation_duration_seconds` | Histogram | 10.2 | Cache access time | `operation`, `store`, `endpoint_id` | +| `gitlab_cache_operations_total` | Counter | 12.2 | Cache operations by controller or action | `controller`, `action`, `operation`, `store`, `endpoint_id` | +| `gitlab_cache_read_multikey_count` | Histogram | 15.7 | Count of keys in multi-key cache read operations | `controller`, `action`, `store`, `endpoint_id` | | `gitlab_ci_pipeline_builder_scoped_variables_duration` | Histogram | 14.5 | Time in seconds it takes to create the scoped variables for a CI/CD job | `gitlab_ci_pipeline_creation_duration_seconds` | Histogram | 13.0 | Time in seconds it takes to create a CI/CD pipeline | `gitlab` | | `gitlab_ci_pipeline_size_builds` | Histogram | 13.1 | Total number of builds within a pipeline grouped by a pipeline source | `source` | @@ -65,9 +65,9 @@ The following metrics are available: | `gitlab_transaction_cache_<key>_duration_total` | Counter | 10.2 | Counter for total time (seconds) spent in Rails cache calls (per key) | | | `gitlab_transaction_cache_count_total` | Counter | 10.2 | Counter for total Rails cache calls (aggregate) | | | `gitlab_transaction_cache_duration_total` | Counter | 10.2 | Counter for total time (seconds) spent in Rails cache calls (aggregate) | | -| `gitlab_transaction_cache_read_hit_count_total` | Counter | 10.2 | Counter for cache hits for Rails cache calls | `controller`, `action`, `store` | -| `gitlab_transaction_cache_read_miss_count_total` | Counter | 10.2 | Counter for cache misses for Rails cache calls | `controller`, `action`, `store` | -| `gitlab_transaction_duration_seconds` | Histogram | 10.2 | Duration for successful requests (`gitlab_transaction_*` metrics) | `controller`, `action` | +| `gitlab_transaction_cache_read_hit_count_total` | Counter | 10.2 | Counter for cache hits for Rails cache calls | `controller`, `action`, `store`, `endpoint_id` | +| `gitlab_transaction_cache_read_miss_count_total` | Counter | 10.2 | Counter for cache misses for Rails cache calls | `controller`, `action`, `store`, `endpoint_id` | +| `gitlab_transaction_duration_seconds` | Histogram | 10.2 | Duration for successful requests (`gitlab_transaction_*` metrics) | `controller`, `action`, `endpoint_id` | | `gitlab_transaction_event_build_found_total` | Counter | 9.4 | Counter for build found for API /jobs/request | | | `gitlab_transaction_event_build_invalid_total` | Counter | 9.4 | Counter for build invalid due to concurrency conflict for API /jobs/request | | | `gitlab_transaction_event_build_not_found_cached_total` | Counter | 9.4 | Counter for cached response of build not found for API /jobs/request | | @@ -95,20 +95,20 @@ The following metrics are available: | `gitlab_transaction_event_stuck_import_jobs_total` | Counter | 9.4 | Count of stuck import jobs | `projects_without_jid_count`, `projects_with_jid_count` | | `gitlab_transaction_event_update_build_total` | Counter | 9.4 | Counter for update build for API `/jobs/request/:id` | | | `gitlab_transaction_new_redis_connections_total` | Counter | 9.4 | Counter for new Redis connections | | -| `gitlab_transaction_rails_queue_duration_total` | Counter | 9.4 | Measures latency between GitLab Workhorse forwarding a request to Rails | `controller`, `action` | -| `gitlab_transaction_view_duration_total` | Counter | 9.4 | Duration for views | `controller`, `action`, `view` | -| `gitlab_view_rendering_duration_seconds` | Histogram | 10.2 | Duration for views (histogram) | `controller`, `action`, `view` | +| `gitlab_transaction_rails_queue_duration_total` | Counter | 9.4 | Measures latency between GitLab Workhorse forwarding a request to Rails | `controller`, `action`, `endpoint_id` | +| `gitlab_transaction_view_duration_total` | Counter | 9.4 | Duration for views | `controller`, `action`, `view`, `endpoint_id` | +| `gitlab_view_rendering_duration_seconds` | Histogram | 10.2 | Duration for views (histogram) | `controller`, `action`, `view`, `endpoint_id` | | `http_requests_total` | Counter | 9.4 | Rack request count | `method`, `status` | | `http_request_duration_seconds` | Histogram | 9.4 | HTTP response time from rack middleware for successful requests | `method` | -| `gitlab_transaction_db_count_total` | Counter | 13.1 | Counter for total number of SQL calls | `controller`, `action` | -| `gitlab_transaction_db_<role>_count_total` | Counter | 13.10 | Counter for total number of SQL calls, grouped by database roles (primary/replica) | `controller`, `action` | -| `gitlab_transaction_db_write_count_total` | Counter | 13.1 | Counter for total number of write SQL calls | `controller`, `action` | -| `gitlab_transaction_db_cached_count_total` | Counter | 13.1 | Counter for total number of cached SQL calls | `controller`, `action` | -| `gitlab_transaction_db_<role>_cached_count_total` | Counter | 13.1 | Counter for total number of cached SQL calls, grouped by database roles (primary/replica) | `controller`, `action` | -| `gitlab_transaction_db_<role>_wal_count_total` | Counter | 14.0 | Counter for total number of WAL (write ahead log location) queries, grouped by database roles (primary/replica) | `controller`, `action` | -| `gitlab_transaction_db_<role>_wal_cached_count_total` | Counter | 14.1 | Counter for total number of cached WAL (write ahead log location) queries, grouped by database roles (primary/replica)| `controller`, `action` | -| `http_elasticsearch_requests_duration_seconds` **(PREMIUM ALL)** | Histogram | 13.1 | Elasticsearch requests duration during web transactions | `controller`, `action` | -| `http_elasticsearch_requests_total` **(PREMIUM ALL)** | Counter | 13.1 | Elasticsearch requests count during web transactions | `controller`, `action` | +| `gitlab_transaction_db_count_total` | Counter | 13.1 | Counter for total number of SQL calls | `controller`, `action`, `endpoint_id` | +| `gitlab_transaction_db_<role>_count_total` | Counter | 13.10 | Counter for total number of SQL calls, grouped by database roles (primary/replica) | `controller`, `action`, `endpoint_id` | +| `gitlab_transaction_db_write_count_total` | Counter | 13.1 | Counter for total number of write SQL calls | `controller`, `action`, `endpoint_id` | +| `gitlab_transaction_db_cached_count_total` | Counter | 13.1 | Counter for total number of cached SQL calls | `controller`, `action`, `endpoint_id` | +| `gitlab_transaction_db_<role>_cached_count_total` | Counter | 13.1 | Counter for total number of cached SQL calls, grouped by database roles (primary/replica) | `controller`, `action`, `endpoint_id` | +| `gitlab_transaction_db_<role>_wal_count_total` | Counter | 14.0 | Counter for total number of WAL (write ahead log location) queries, grouped by database roles (primary/replica) | `controller`, `action`, `endpoint_id` | +| `gitlab_transaction_db_<role>_wal_cached_count_total` | Counter | 14.1 | Counter for total number of cached WAL (write ahead log location) queries, grouped by database roles (primary/replica)| `controller`, `action`, `endpoint_id` | +| `http_elasticsearch_requests_duration_seconds` **(PREMIUM ALL)** | Histogram | 13.1 | Elasticsearch requests duration during web transactions | `controller`, `action`, `endpoint_id` | +| `http_elasticsearch_requests_total` **(PREMIUM ALL)** | Counter | 13.1 | Elasticsearch requests count during web transactions | `controller`, `action`, `endpoint_id` | | `pipelines_created_total` | Counter | 9.4 | Counter of pipelines created | | | `rack_uncaught_errors_total` | Counter | 9.4 | Rack connections handling uncaught errors count | | | `user_session_logins_total` | Counter | 9.4 | Counter of how many users have logged in since GitLab was started or restarted | | @@ -137,7 +137,7 @@ The following metrics are available: | `gitlab_ci_trace_finalize_duration_seconds` | Histogram | 13.6 | Duration of build trace chunks migration to object storage | | | `gitlab_vulnerability_report_branch_comparison_real_duration_seconds` | Histogram | 15.11 | Execution duration of vulnerability report present on default branch sql query | | | `gitlab_vulnerability_report_branch_comparison_cpu_duration_seconds` | Histogram | 15.11 | Execution duration of vulnerability report present on default branch sql query | | -| `gitlab_external_http_total` | Counter | 13.8 | Total number of HTTP calls to external systems | `controller`, `action` | +| `gitlab_external_http_total` | Counter | 13.8 | Total number of HTTP calls to external systems | `controller`, `action`, `endpoint_id` | | `gitlab_external_http_duration_seconds` | Counter | 13.8 | Duration in seconds spent on each HTTP call to external systems | | | `gitlab_external_http_exception_total` | Counter | 13.8 | Total number of exceptions raised when making external HTTP calls | | | `ci_report_parser_duration_seconds` | Histogram | 13.9 | Time to parse CI/CD report artifacts | `parser` | @@ -153,18 +153,18 @@ The following metrics are available: | `gitlab_snowplow_failed_events_total` | Counter | 14.1 | Total number of GitLab Snowplow Analytics Instrumentation events emission failures | | | `gitlab_snowplow_successful_events_total` | Counter | 14.1 | Total number of GitLab Snowplow Analytics Instrumentation events emission successes | | | `gitlab_ci_build_trace_errors_total` | Counter | 14.4 | Total amount of different error types on a build trace | `error_reason` | -| `gitlab_presentable_object_cacheless_render_real_duration_seconds` | Histogram | 15.3 | Duration of real time spent caching and representing specific web request objects | `controller`, `action` | -| `cached_object_operations_total` | Counter | 15.3 | Total number of objects cached for specific web requests | `controller`, `action` | +| `gitlab_presentable_object_cacheless_render_real_duration_seconds` | Histogram | 15.3 | Duration of real time spent caching and representing specific web request objects | `controller`, `action`, `endpoint_id` | +| `cached_object_operations_total` | Counter | 15.3 | Total number of objects cached for specific web requests | `controller`, `action`, `endpoint_id` | | `redis_hit_miss_operations_total` | Counter | 15.6 | Total number of Redis cache hits and misses | `cache_hit`, `cache_identifier`, `feature_category`, `backing_resource` | | `redis_cache_generation_duration_seconds` | Histogram | 15.6 | Time to generate Redis cache | `cache_hit`, `cache_identifier`, `feature_category`, `backing_resource` | -| `gitlab_diffs_reorder_real_duration_seconds` | Histogram | 15.8 | Duration in seconds spend on reordering of diff files on diffs batch request | `controller`, `action` | -| `gitlab_diffs_collection_real_duration_seconds` | Histogram | 15.8 | Duration in seconds spent on querying merge request diff files on diffs batch request | `controller`, `action` | -| `gitlab_diffs_comparison_real_duration_seconds` | Histogram | 15.8 | Duration in seconds spent on getting comparison data on diffs batch request | `controller`, `action` | +| `gitlab_diffs_reorder_real_duration_seconds` | Histogram | 15.8 | Duration in seconds spend on reordering of diff files on diffs batch request | `controller`, `action`, `endpoint_id` | +| `gitlab_diffs_collection_real_duration_seconds` | Histogram | 15.8 | Duration in seconds spent on querying merge request diff files on diffs batch request | `controller`, `action`, `endpoint_id` | +| `gitlab_diffs_comparison_real_duration_seconds` | Histogram | 15.8 | Duration in seconds spent on getting comparison data on diffs batch request | `controller`, `action`, `endpoint_id` | | `gitlab_diffs_unfoldable_positions_real_duration_seconds` | Histogram | 15.8 | Duration in seconds spent on getting unfoldable note positions on diffs batch request | `controller`, `action` | -| `gitlab_diffs_unfold_real_duration_seconds` | Histogram | 15.8 | Duration in seconds spent on unfolding positions on diffs batch request | `controller`, `action` | -| `gitlab_diffs_write_cache_real_duration_seconds` | Histogram | 15.8 | Duration in seconds spent on caching highlighted lines and stats on diffs batch request | `controller`, `action` | -| `gitlab_diffs_highlight_cache_decorate_real_duration_seconds` | Histogram | 15.8 | Duration in seconds spent on setting highlighted lines from cache on diffs batch request | `controller`, `action` | -| `gitlab_diffs_render_real_duration_seconds` | Histogram | 15.8 | Duration in seconds spent on serializing and rendering diffs on diffs batch request | `controller`, `action` | +| `gitlab_diffs_unfold_real_duration_seconds` | Histogram | 15.8 | Duration in seconds spent on unfolding positions on diffs batch request | `controller`, `action`, `endpoint_id` | +| `gitlab_diffs_write_cache_real_duration_seconds` | Histogram | 15.8 | Duration in seconds spent on caching highlighted lines and stats on diffs batch request | `controller`, `action`, `endpoint_id` | +| `gitlab_diffs_highlight_cache_decorate_real_duration_seconds` | Histogram | 15.8 | Duration in seconds spent on setting highlighted lines from cache on diffs batch request | `controller`, `action`, `endpoint_id` | +| `gitlab_diffs_render_real_duration_seconds` | Histogram | 15.8 | Duration in seconds spent on serializing and rendering diffs on diffs batch request | `controller`, `action`, `endpoint_id` | | `gitlab_memwd_violations_total` | Counter | 15.9 | Total number of times a Ruby process violated a memory threshold | | | `gitlab_memwd_violations_handled_total` | Counter | 15.9 | Total number of times Ruby process memory violations were handled | | | `gitlab_sli_rails_request_apdex_total` | Counter | 14.4 | Total number of request Apdex measurements. For more information, see [Rails request SLIs](../../../development/application_slis/rails_request.md) | `endpoint_id`, `feature_category`, `request_urgency` | diff --git a/doc/administration/settings/project_integration_management.md b/doc/administration/settings/project_integration_management.md index ad43c70e253..32756e65eaf 100644 --- a/doc/administration/settings/project_integration_management.md +++ b/doc/administration/settings/project_integration_management.md @@ -4,7 +4,10 @@ group: Import and Integrate info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments --- -# Project integration management **(FREE SELF)** +# Project integration administration **(FREE SELF)** + +NOTE: +This page contains information about administering project integrations for self-managed instances. For user documentation, see [Project integrations](../../user/project/integrations/index.md). Project integrations can be configured and enabled by project administrators. As a GitLab instance administrator, you can set default configuration parameters for a given integration that all projects @@ -53,7 +56,7 @@ When you make further changes to the instance defaults: - Groups and projects with custom settings selected for the integration are not immediately affected and may choose to use the latest defaults at any time. -If [group-level settings](#manage-group-level-default-settings-for-a-project-integration) have also +If [group-level settings](../../user/project/integrations/index.md#manage-group-level-default-settings-for-a-project-integration) have also been configured for the same integration, projects in that group inherit the group-level settings instead of the instance-level settings. @@ -84,98 +87,10 @@ Prerequisite: - You must have administrator access to the instance. -To view projects in your instance that [use custom settings](#use-custom-settings-for-a-project-or-group-integration): +To view projects in your instance that [use custom settings](../../user/project/integrations/index.md#use-custom-settings-for-a-project-or-group-integration): 1. On the left sidebar, select **Search or go to**. 1. Select **Admin Area**. 1. Select **Settings > Integrations**. 1. Select an integration. 1. Select the **Projects using custom settings** tab. - -## Manage group-level default settings for a project integration **(FREE ALL)** - -Prerequisite: - -- You must have at least the Maintainer role for the group. - -To manage group-level default settings for a project integration: - -1. On the left sidebar, select **Search or go to** and find your group. -1. Select **Settings > Integrations**. -1. Select an integration. -1. Complete the fields. -1. Select **Save changes**. - -WARNING: -This may affect all or most of the subgroups and projects belonging to the group. Review the details below. - -If this is the first time you are setting up group-level settings for an integration: - -- The integration is enabled for all subgroups and projects belonging to the group that don't already have - this integration configured, if you have the **Enable integration** toggle turned on in the group-level - settings. -- Subgroups and projects that already have the integration configured are not affected, but can choose to use - the inherited settings at any time. - -When you make further changes to the group defaults: - -- They are immediately applied to all subgroups and projects belonging to the group that have the integration - set to use default settings. -- They are immediately applied to newer subgroups and projects, even those created after you last saved defaults for the - integration. If your group-level default setting has the **Enable integration** toggle turned on, - the integration is automatically enabled for all such subgroups and projects. -- Subgroups and projects with custom settings selected for the integration are not immediately affected and - may choose to use the latest defaults at any time. - -If [instance-level settings](#manage-instance-level-default-settings-for-a-project-integration) -have also been configured for the same integration, projects in the group inherit settings from the group. - -Only the entire settings for an integration can be inherited. Per-field inheritance -is proposed in [epic 2137](https://gitlab.com/groups/gitlab-org/-/epics/2137). - -### Remove a group-level default setting - -Prerequisite: - -- You must have at least the Maintainer role for the group. - -To remove a group-level default setting: - -1. On the left sidebar, select **Search or go to** and find your group. -1. Select **Settings > Integrations**. -1. Select an integration. -1. Select **Reset** and confirm. - -Resetting a group-level default setting removes integrations that use default settings and belong to a project or subgroup of the group. - -## Use instance-level or group-level default settings for a project integration **(FREE ALL)** - -Prerequisite: - -- You must have at least the Maintainer role for the project. - -To use instance-level or group-level default settings for a project integration: - -1. On the left sidebar, select **Search or go to** and find your project. -1. Select **Settings > Integrations**. -1. Select an integration. -1. On the right, from the dropdown list, select **Use default settings**. -1. Under **Enable integration**, ensure the **Active** checkbox is selected. -1. Complete the fields. -1. Select **Save changes**. - -## Use custom settings for a project or group integration **(FREE ALL)** - -Prerequisite: - -- You must have at least the Maintainer role for the project or group. - -To use custom settings for a project or group integration: - -1. On the left sidebar, select **Search or go to** and find your project or group. -1. Select **Settings > Integrations**. -1. Select an integration. -1. On the right, from the dropdown list, select **Use custom settings**. -1. Under **Enable integration**, ensure the **Active** checkbox is selected. -1. Complete the fields. -1. Select **Save changes**. diff --git a/doc/api/lint.md b/doc/api/lint.md index 32318b9955d..9e29e8dccb4 100644 --- a/doc/api/lint.md +++ b/doc/api/lint.md @@ -102,160 +102,6 @@ Example responses: } ``` -<!--- start_remove The following content will be removed on remove_date: '2023-08-22' --> - -## Validate the CI YAML configuration (deprecated) - -WARNING: -This endpoint was [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/381669) in GitLab 15.7 -and was [removed](https://gitlab.com/gitlab-org/gitlab/-/issues/403256) in 16.0. Use [`POST /projects/:id/ci/lint`](#validate-the-cicd-configuration-for-a-namespace) instead. - -Checks if CI/CD YAML configuration is valid. This endpoint validates basic CI/CD -configuration syntax. It doesn't have any namespace-specific context. - -Access to this endpoint does not require authentication when the instance -[allows new sign ups](../administration/settings/sign_up_restrictions.md#disable-new-sign-ups) -and: - -- Does not have an [allowlist or denylist](../administration/settings/sign_up_restrictions.md#allow-or-deny-sign-ups-using-specific-email-domains). -- Does not [require administrator approval for new sign ups](../administration/settings/sign_up_restrictions.md#require-administrator-approval-for-new-sign-ups). -- Does not have additional [sign up restrictions](../administration/settings/sign_up_restrictions.md). - -Otherwise, authentication is required. - -```plaintext -POST /ci/lint -``` - -| Attribute | Type | Required | Description | -|-----------------------|---------|----------|-------------| -| `content` | string | Yes | The CI/CD configuration content. | -| `include_merged_yaml` | boolean | No | If the [expanded CI/CD configuration](#yaml-expansion) should be included in the response. | -| `include_jobs` | boolean | No | If the list of jobs should be included in the response. Default: `false`. | - -```shell -curl --header "Content-Type: application/json" --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/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\"]}}"}' -``` - -Be sure to paste the exact contents of your GitLab CI/CD YAML configuration because YAML -is very sensitive about indentation and spacing. - -Example responses: - -- Valid content: - - ```json - { - "status": "valid", - "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"] - } - ``` - -- Invalid content: - - ```json - { - "status": "invalid", - "errors": [ - "variables config should be a hash of key value pairs" - ], - "warnings": [] - } - ``` - -- Without the content attribute: - - ```json - { - "error": "content is missing" - } - ``` - -### YAML expansion - -The CI lint returns an expanded version of the configuration. The expansion does not -work for CI configuration added with [`include: local`](../ci/yaml/index.md#includelocal), -and the [`extends:`](../ci/yaml/index.md#extends) keyword is [not fully supported](https://gitlab.com/gitlab-org/gitlab/-/issues/258843). - -Example contents of a `.gitlab-ci.yml` passed to the CI Lint API with -`include_merged_yaml` and `include_jobs` set as true: - -```yaml -include: - remote: 'https://example.com/remote.yaml' - -test: - stage: test - script: - - echo 1 -``` - -Example contents of `https://example.com/remote.yaml`: - -```yaml -another_test: - stage: test - script: - - echo 2 -``` - -Example response: - -```json -{ - "status": "valid", - "errors": [], - "merged_yaml": "---\n:another_test:\n :stage: test\n :script: echo 2\n:test:\n :stage: test\n :script: echo 1\n", - "jobs": [ - { - "name":"test", - "stage":"test", - "before_script":[], - "script":["echo 1"], - "after_script":[], - "tag_list":[], - "environment":null, - "when":"on_success", - "allow_failure":false, - "only":{ - "refs":["branches","tags"] - }, - "except":null - }, - { - "name":"another_test", - "stage":"test", - "before_script":[], - "script":["echo 2"], - "after_script":[], - "tag_list":[], - "environment":null, - "when":"on_success", - "allow_failure":false, - "only":{ - "refs":["branches","tags"] - }, - "except":null - } - ] -} -``` - -<!--- end_remove --> - ## Use jq to create and process YAML & JSON payloads To `POST` a YAML configuration to the CI Lint endpoint, it must be properly escaped and JSON encoded. diff --git a/doc/api/packages/nuget.md b/doc/api/packages/nuget.md index ee304ab28df..e28f42fa931 100644 --- a/doc/api/packages/nuget.md +++ b/doc/api/packages/nuget.md @@ -488,10 +488,29 @@ Example response: | `GET projects/:id/packages/nuget/v2/FindPackagesById()?id='<package_name>'` | Returns an OData XML document containing information about the package with the given name. | | `GET projects/:id/packages/nuget/v2/Packages(Id='<package_name>',Version='<package_version>')` | Returns an OData XML document containing information about the package with the given name and version. | +```shell +curl "https://gitlab.example.com/api/v4/projects/1/packages/nuget/v2/Packages(Id='mynugetpkg',Version='1.0.0')" +``` + +Example response: + +```xml +<entry xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xml:base="https://gitlab.example.com/api/v4/projects/1/packages/nuget/v2"> + <id>https://gitlab.example.com/api/v4/projects/1/packages/nuget/v2/Packages(Id='mynugetpkg',Version='1.0.0')</id> + <category term="V2FeedPackage" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"/> + <title type="text">mynugetpkg</title> + <content type="application/zip" src="https://gitlab.example.com/api/v4/projects/1/packages/nuget/download/mynugetpkg/1.0.0/mynugetpkg.1.0.0.nupkg"/> + <m:properties> + <d:Version>1.0.0</d:Version> + </m:properties> + </entry> +``` + NOTE: -GitLab doesn't receive an authentication token for the `Packages()` and `FindPackagesByID()` endpoints. -To not reveal the package version to unauthenticated users, the actual latest package version is not returned. Instead, a placeholder version is returned. -The latest version is obtained in the subsequent download request where the authentication token is sent. +GitLab doesn't receive an authentication token for the `Packages()` and +`FindPackagesByID()` endpoints, so the latest version of the package +cannot be returned. You must provide the version when you install +or upgrade a package with the NuGet v2 feed. ```shell curl "https://gitlab.example.com/api/v4/projects/1/packages/nuget/v2/Packages()?$filter=(tolower(Id) eq 'mynugetpkg')" @@ -501,12 +520,12 @@ Example response: ```xml <entry xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xml:base="https://gitlab.example.com/api/v4/projects/1/packages/nuget/v2"> - <id>https://gitlab.example.com/api/v4/projects/1/packages/nuget/v2/Packages(Id='mynugetpkg',Version='0.0.0-latest-version')</id> + <id>https://gitlab.example.com/api/v4/projects/1/packages/nuget/v2/Packages(Id='mynugetpkg',Version='')</id> <category term="V2FeedPackage" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"/> <title type="text">mynugetpkg</title> - <content type="application/zip" src="https://gitlab.example.com/api/v4/projects/1/packages/nuget/v2/download/mynugetpkg/latest"/> + <content type="application/zip" src="https://gitlab.example.com/api/v4/projects/1/packages/nuget/v2"/> <m:properties> - <d:Version>0.0.0-latest-version</d:Version> + <d:Version></d:Version> </m:properties> </entry> ``` diff --git a/doc/ci/runners/new_creation_workflow.md b/doc/ci/runners/new_creation_workflow.md index c4c2fbebb12..2f53f3b9bc3 100644 --- a/doc/ci/runners/new_creation_workflow.md +++ b/doc/ci/runners/new_creation_workflow.md @@ -203,3 +203,8 @@ data: NOTE: If your secret management solution doesn't allow you to set an empty string for `runner-registration-token`, you can set it to any string - it will be ignored when `runner-token` is present. + +## Known issues + +- When you use the new registration workflow to register your runners with the Helm chart, the pod name is not visible + in the runner details page. For more information, see [issue 423523](https://gitlab.com/gitlab-org/gitlab/-/issues/423523). diff --git a/doc/integration/jira/configure.md b/doc/integration/jira/configure.md index dd43c6417e8..8072ae2432f 100644 --- a/doc/integration/jira/configure.md +++ b/doc/integration/jira/configure.md @@ -22,7 +22,10 @@ Prerequisites: - Jira personal access token (GitLab 16.0 and later). You can enable the Jira issue integration by configuring your project settings in GitLab. -You can configure these settings at the [group level](../../administration/settings/project_integration_management.md#manage-group-level-default-settings-for-a-project-integration) or at the [instance level](../../administration/settings/project_integration_management.md#manage-instance-level-default-settings-for-a-project-integration) for self-managed GitLab. +You can also configure these settings at the: + +- [Group level](../../user/project/integrations/index.md#manage-group-level-default-settings-for-a-project-integration) +- [Instance level](../../administration/settings/project_integration_management.md#manage-instance-level-default-settings-for-a-project-integration) for self-managed GitLab To configure your project settings in GitLab: diff --git a/doc/user/packages/composer_repository/index.md b/doc/user/packages/composer_repository/index.md index 3c80e739465..a61df9fc6ab 100644 --- a/doc/user/packages/composer_repository/index.md +++ b/doc/user/packages/composer_repository/index.md @@ -312,11 +312,11 @@ You can install from source by pulling the Git repository directly. To do so, ei #### SSH access -> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/119739) in GitLab 16.4 [with a flag](../../../administration/feature_flags.md) named `composer_use_ssh_source_urls`. Disabled by default. +> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/119739) in GitLab 16.4 [with a flag](../../../administration/feature_flags.md) named `composer_use_ssh_source_urls`. Enabled by default. FLAG: -On self-managed GitLab, by default this feature is not available. To make it available, an administrator can -[enable the feature flag](../../../administration/feature_flags.md) named `composer_use_ssh_source_urls`. +On self-managed GitLab, by default this feature is available. To hide the feature per project, an administrator can +[disable the feature flag](../../../administration/feature_flags.md) named `composer_use_ssh_source_urls`. When you install from source, the `composer` configures an access to the project's Git repository. diff --git a/doc/user/packages/nuget_repository/index.md b/doc/user/packages/nuget_repository/index.md index 340df4a3c5f..4f8bb56bda8 100644 --- a/doc/user/packages/nuget_repository/index.md +++ b/doc/user/packages/nuget_repository/index.md @@ -492,6 +492,55 @@ dotnet add package <package_id> \ - `<package_id>` is the package ID. - `<package_version>` is the package version. Optional. +### Install a package using NuGet v2 feed + +> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/416405) in GitLab 16.5. + +Prerequisites: + +- The project-level Package Registry is a [v2 feed source](#add-a-source-with-chocolatey-cli) for Chocolatey. +- A version must be provided when installing or upgrading a package using NuGet v2 feed. + +To install a package with the Chocolatey CLI: + +```shell +choco install <package_id> -Source <source_url> -Version <package_version> +``` + +In this command: + +- `<package_id>` is the package ID. +- `<source_url>` is the URL or name of the NuGet v2 feed Package Registry. +- `<package_version>` is the package version. + +For example: + +```shell +choco install MyPackage -Source gitlab -Version 1.0.2 + +# or + +choco install MyPackage -Source "https://gitlab.example.com/api/v4/projects/<your_project_id>/packages/nuget/v2" -u <username> -p <gitlab_personal_access_token, deploy_token or job token> -Version 1.0.2 +``` + +To upgrade a package with the Chocolatey CLI: + +```shell +choco upgrade <package_id> -Source <source_url> -Version <package_version> +``` + +In this command: + +- `<package_id>` is the package ID. +- `<source_url>` is the URL or name of the NuGet v2 feed Package Registry. +- `<package_version>` is the package version. + +For example: + +```shell +choco upgrade MyPackage -Source gitlab -Version 1.0.3 +``` + ## Symbol packages > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/262081) in GitLab 14.1. diff --git a/doc/user/project/integrations/index.md b/doc/user/project/integrations/index.md index 59b5043b8f7..c62b5a3e668 100644 --- a/doc/user/project/integrations/index.md +++ b/doc/user/project/integrations/index.md @@ -6,28 +6,108 @@ info: To determine the technical writer assigned to the Stage/Group associated w # Project integrations **(FREE ALL)** -You can integrate your GitLab projects with other applications. Integrations are -like plugins, and give you the freedom to add -functionality to GitLab. +NOTE: +This page contains information about configuring project integrations on GitLab.com. For administrator documentation, see [Project integration administration](../../../administration/settings/project_integration_management.md). + +You can integrate with external applications to add functionality to GitLab. + +You can view and manage integrations at the [instance level](../../../administration/settings/project_integration_management.md#manage-instance-level-default-settings-for-a-project-integration) or the +[group level](#manage-group-level-default-settings-for-a-project-integration). +For any project, you can: + +- Inherit the instance-level or group-level settings. +- Use custom settings. + +Integration management at the instance and group level replaces service templates, which +were [removed](https://gitlab.com/gitlab-org/gitlab/-/issues/268032) in GitLab 14.0. + +## Manage group-level default settings for a project integration + +Prerequisite: + +- You must have at least the Maintainer role for the group. + +To manage group-level default settings for a project integration: + +1. On the left sidebar, select **Search or go to** and find your group. +1. Select **Settings > Integrations**. +1. Select an integration. +1. Complete the fields. +1. Select **Save changes**. + +WARNING: +This may affect all or most of the subgroups and projects belonging to the group. Review the details below. + +If this is the first time you are setting up group-level settings for an integration: + +- The integration is enabled for all subgroups and projects belonging to the group that don't already have + this integration configured, if you have the **Enable integration** toggle turned on in the group-level + settings. +- Subgroups and projects that already have the integration configured are not affected, but can choose to use + the inherited settings at any time. + +When you make further changes to the group defaults: -## View project integrations +- They are immediately applied to all subgroups and projects belonging to the group that have the integration + set to use default settings. +- They are immediately applied to newer subgroups and projects, even those created after you last saved defaults for the + integration. If your group-level default setting has the **Enable integration** toggle turned on, + the integration is automatically enabled for all such subgroups and projects. +- Subgroups and projects with custom settings selected for the integration are not immediately affected and + may choose to use the latest defaults at any time. -Prerequisites: +If [instance-level settings](../../../administration/settings/project_integration_management.md#manage-instance-level-default-settings-for-a-project-integration) +have also been configured for the same integration, projects in the group inherit settings from the group. + +Only the entire settings for an integration can be inherited. Per-field inheritance +is proposed in [epic 2137](https://gitlab.com/groups/gitlab-org/-/epics/2137). + +### Remove a group-level default setting + +Prerequisite: + +- You must have at least the Maintainer role for the group. + +To remove a group-level default setting: + +1. On the left sidebar, select **Search or go to** and find your group. +1. Select **Settings > Integrations**. +1. Select an integration. +1. Select **Reset** and confirm. + +Resetting a group-level default setting removes integrations that use default settings and belong to a project or subgroup of the group. + +## Use instance-level or group-level default settings for a project integration + +Prerequisite: - You must have at least the Maintainer role for the project. -To view the available integrations for your project: +To use instance-level or group-level default settings for a project integration: 1. On the left sidebar, select **Search or go to** and find your project. 1. Select **Settings > Integrations**. +1. Select an integration. +1. On the right, from the dropdown list, select **Use default settings**. +1. Under **Enable integration**, ensure the **Active** checkbox is selected. +1. Complete the fields. +1. Select **Save changes**. -You can also view and manage integration settings across [all projects in an instance or group](../../admin_area/settings/project_integration_management.md). -For a single project, you can choose to inherit the instance or group configuration, -or provide custom settings. +## Use custom settings for a project or group integration -NOTE: -Instance and group-based integration management replaces service templates, which -were [removed](https://gitlab.com/gitlab-org/gitlab/-/issues/268032) in GitLab 14.0. +Prerequisite: + +- You must have at least the Maintainer role for the project or group. + +To use custom settings for a project or group integration: + +1. On the left sidebar, select **Search or go to** and find your project or group. +1. Select **Settings > Integrations**. +1. Select an integration. +1. On the right, from the dropdown list, select **Use custom settings**. +1. Under **Enable integration**, ensure the **Active** checkbox is selected. +1. Complete the fields. +1. Select **Save changes**. ## Manage SSL verification |