From 17165bd2bf49aeb8bd3b76743072acf35d3eb8fc Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Wed, 11 Jun 2025 03:12:05 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- doc/api/openapi/openapi_v2.yaml | 71 +++++++++++++++++++++++++++ doc/user/project/milestones/_index.md | 6 ++- lib/tasks/tokens.rake | 2 +- spec/tasks/tokens_rake_spec.rb | 28 ++++++++++- 4 files changed, 104 insertions(+), 3 deletions(-) diff --git a/doc/api/openapi/openapi_v2.yaml b/doc/api/openapi/openapi_v2.yaml index 2e6eb11032c..55d4d39db9b 100644 --- a/doc/api/openapi/openapi_v2.yaml +++ b/doc/api/openapi/openapi_v2.yaml @@ -2278,6 +2278,77 @@ paths: tags: - groups operationId: getApiV4GroupsIdAuditEventsAuditEventId + "/api/v4/groups/{id}/saml_users": + get: + description: Get a list of SAML users of the group + produces: + - application/json + parameters: + - in: query + name: username + description: Return single user with a specific username. + type: string + required: false + - in: query + name: search + description: Search users by name, email, username. + type: string + required: false + - in: query + name: active + description: Return only active users. + type: boolean + default: false + required: false + - in: query + name: blocked + description: Return only blocked users. + type: boolean + default: false + required: false + - in: query + name: created_after + description: Return users created after the specified time. + type: string + format: date-time + required: false + - in: query + name: created_before + description: Return users created before the specified time. + type: string + format: date-time + required: false + - in: query + name: page + description: Current page number + type: integer + format: int32 + default: 1 + required: false + example: 1 + - in: query + name: per_page + description: Number of items per page + type: integer + format: int32 + default: 20 + required: false + example: 20 + - in: path + name: id + type: integer + format: int32 + required: true + responses: + '200': + description: Get a list of SAML users of the group + schema: + type: array + items: + "$ref": "#/definitions/API_Entities_UserPublic" + tags: + - groups + operationId: getApiV4GroupsIdSamlUsers "/api/v4/groups/{id}/provisioned_users": get: description: Get a list of users provisioned by the group diff --git a/doc/user/project/milestones/_index.md b/doc/user/project/milestones/_index.md index ab360e779c8..6dea61073fc 100644 --- a/doc/user/project/milestones/_index.md +++ b/doc/user/project/milestones/_index.md @@ -186,11 +186,15 @@ To edit a milestone: {{< history >}} -- [Changed](https://gitlab.com/gitlab-org/gitlab/-/issues/343889) the minimum user role from Developer to Reporter in GitLab 15.0. - [Changed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/169256) the minimum user role from Reporter to Planner in GitLab 17.7. {{< /history >}} +A milestone closes after its due date. +You can also close a milestone manually. + +When a milestone is closed, its open issues remain open. + Prerequisites: - You must have at least the Planner role for the project or group the milestone belongs to. diff --git a/lib/tasks/tokens.rake b/lib/tasks/tokens.rake index 37f4e590514..8b57fda1642 100644 --- a/lib/tasks/tokens.rake +++ b/lib/tasks/tokens.rake @@ -36,6 +36,6 @@ class TmpUser < ActiveRecord::Base # rubocop:disable Rails/ApplicationRecord add_authentication_token_field :feed_token, insecure: true, format_with_prefix: :prefix_for_feed_token def prefix_for_feed_token - User::FEED_TOKEN_PREFIX + User.prefix_for_feed_token end end diff --git a/spec/tasks/tokens_rake_spec.rb b/spec/tasks/tokens_rake_spec.rb index 82fe065cb52..35f23cc03d9 100644 --- a/spec/tasks/tokens_rake_spec.rb +++ b/spec/tasks/tokens_rake_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe 'tokens rake tasks', :silence_stdout do +RSpec.describe 'tokens rake tasks', :silence_stdout, feature_category: :tooling do let!(:user) { create(:user) } before do @@ -19,5 +19,31 @@ RSpec.describe 'tokens rake tasks', :silence_stdout do it 'changes the feed token for the user' do expect { run_rake_task('tokens:reset_all_feed') }.to change { user.reload.feed_token } end + + context 'with configured instance prefix', :aggregate_failures do + subject(:reset_all_feed_tokens) { run_rake_task('tokens:reset_all_feed') } + + let(:instance_prefix) { 'instanceprefix' } + + it 'includes the prefix after configuration has changed and task is run' do + expect(user.feed_token).to start_with(User::FEED_TOKEN_PREFIX) + stub_application_setting(instance_token_prefix: instance_prefix) + reset_all_feed_tokens + expect(user.reload.feed_token).to start_with(instance_prefix) + end + + context 'with feature flag custom_prefix_for_all_token_types disabled' do + before do + stub_feature_flags(custom_prefix_for_all_token_types: false) + end + + it 'does not include the prefix' do + expect(user.feed_token).to start_with(User::FEED_TOKEN_PREFIX) + stub_application_setting(instance_token_prefix: instance_prefix) + reset_all_feed_tokens + expect(user.reload.feed_token).to start_with(User::FEED_TOKEN_PREFIX) + end + end + end end end