diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-09-20 13:18:24 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-09-20 13:18:24 +0000 |
commit | 0653e08efd039a5905f3fa4f6e9cef9f5d2f799c (patch) | |
tree | 4dcc884cf6d81db44adae4aa99f8ec1233a41f55 /lib/api/ci | |
parent | 744144d28e3e7fddc117924fef88de5d9674fe4c (diff) | |
download | gitlab-ce-0653e08efd039a5905f3fa4f6e9cef9f5d2f799c.tar.gz |
Add latest changes from gitlab-org/gitlab@14-3-stable-eev14.3.0-rc42
Diffstat (limited to 'lib/api/ci')
-rw-r--r-- | lib/api/ci/pipelines.rb | 27 | ||||
-rw-r--r-- | lib/api/ci/runners.rb | 50 |
2 files changed, 62 insertions, 15 deletions
diff --git a/lib/api/ci/pipelines.rb b/lib/api/ci/pipelines.rb index 4d6d38f2dce..03b59e7e6ad 100644 --- a/lib/api/ci/pipelines.rb +++ b/lib/api/ci/pipelines.rb @@ -7,8 +7,6 @@ module API before { authenticate_non_get! } - feature_category :continuous_integration - params do requires :id, type: String, desc: 'The project ID' end @@ -44,7 +42,6 @@ module API optional :ref, type: String, desc: 'The ref of pipelines' optional :sha, type: String, desc: 'The sha of pipelines' optional :yaml_errors, type: Boolean, desc: 'Returns pipelines with invalid configurations' - optional :name, type: String, desc: '(deprecated) The name of the user who triggered pipelines' optional :username, type: String, desc: 'The username of the user who triggered pipelines' optional :updated_before, type: DateTime, desc: 'Return pipelines updated before the specified datetime. Format: ISO 8601 YYYY-MM-DDTHH:MM:SSZ' optional :updated_after, type: DateTime, desc: 'Return pipelines updated after the specified datetime. Format: ISO 8601 YYYY-MM-DDTHH:MM:SSZ' @@ -54,7 +51,7 @@ module API desc: 'Sort pipelines' optional :source, type: String, values: ::Ci::Pipeline.sources.keys end - get ':id/pipelines' do + get ':id/pipelines', feature_category: :continuous_integration do authorize! :read_pipeline, user_project authorize! :read_build, user_project @@ -70,7 +67,7 @@ module API requires :ref, type: String, desc: 'Reference' optional :variables, Array, desc: 'Array of variables available in the pipeline' end - post ':id/pipeline' do + post ':id/pipeline', feature_category: :continuous_integration do Gitlab::QueryLimiting.disable!('https://gitlab.com/gitlab-org/gitlab/-/issues/20711') authorize! :create_pipeline, user_project @@ -97,7 +94,7 @@ module API params do optional :ref, type: String, desc: 'branch ref of pipeline' end - get ':id/pipelines/latest' do + get ':id/pipelines/latest', feature_category: :continuous_integration do authorize! :read_pipeline, latest_pipeline present latest_pipeline, with: Entities::Ci::Pipeline @@ -110,7 +107,7 @@ module API params do requires :pipeline_id, type: Integer, desc: 'The pipeline ID' end - get ':id/pipelines/:pipeline_id' do + get ':id/pipelines/:pipeline_id', feature_category: :continuous_integration do authorize! :read_pipeline, pipeline present pipeline, with: Entities::Ci::Pipeline @@ -126,7 +123,7 @@ module API use :pagination end - get ':id/pipelines/:pipeline_id/jobs' do + get ':id/pipelines/:pipeline_id/jobs', feature_category: :continuous_integration do authorize!(:read_pipeline, user_project) pipeline = user_project.all_pipelines.find(params[:pipeline_id]) @@ -149,7 +146,7 @@ module API use :pagination end - get ':id/pipelines/:pipeline_id/bridges' do + get ':id/pipelines/:pipeline_id/bridges', feature_category: :pipeline_authoring do authorize!(:read_build, user_project) pipeline = user_project.all_pipelines.find(params[:pipeline_id]) @@ -169,7 +166,7 @@ module API params do requires :pipeline_id, type: Integer, desc: 'The pipeline ID' end - get ':id/pipelines/:pipeline_id/variables' do + get ':id/pipelines/:pipeline_id/variables', feature_category: :pipeline_authoring do authorize! :read_pipeline_variable, pipeline present pipeline.variables, with: Entities::Ci::Variable @@ -182,7 +179,7 @@ module API params do requires :pipeline_id, type: Integer, desc: 'The pipeline ID' end - get ':id/pipelines/:pipeline_id/test_report' do + get ':id/pipelines/:pipeline_id/test_report', feature_category: :code_testing do authorize! :read_build, pipeline present pipeline.test_reports, with: TestReportEntity, details: true @@ -195,7 +192,7 @@ module API params do requires :pipeline_id, type: Integer, desc: 'The pipeline ID' end - get ':id/pipelines/:pipeline_id/test_report_summary' do + get ':id/pipelines/:pipeline_id/test_report_summary', feature_category: :code_testing do authorize! :read_build, pipeline present pipeline.test_report_summary, with: TestReportSummaryEntity @@ -208,7 +205,7 @@ module API params do requires :pipeline_id, type: Integer, desc: 'The pipeline ID' end - delete ':id/pipelines/:pipeline_id' do + delete ':id/pipelines/:pipeline_id', feature_category: :continuous_integration do authorize! :destroy_pipeline, pipeline destroy_conditionally!(pipeline) do @@ -223,7 +220,7 @@ module API params do requires :pipeline_id, type: Integer, desc: 'The pipeline ID' end - post ':id/pipelines/:pipeline_id/retry' do + post ':id/pipelines/:pipeline_id/retry', feature_category: :continuous_integration do authorize! :update_pipeline, pipeline pipeline.retry_failed(current_user) @@ -238,7 +235,7 @@ module API params do requires :pipeline_id, type: Integer, desc: 'The pipeline ID' end - post ':id/pipelines/:pipeline_id/cancel' do + post ':id/pipelines/:pipeline_id/cancel', feature_category: :continuous_integration do authorize! :update_pipeline, pipeline pipeline.cancel_running diff --git a/lib/api/ci/runners.rb b/lib/api/ci/runners.rb index 7f755b1a4d4..93a40925c21 100644 --- a/lib/api/ci/runners.rb +++ b/lib/api/ci/runners.rb @@ -222,6 +222,56 @@ module API end end + resource :runners do + before { authenticate_non_get! } + + desc 'Resets runner registration token' do + success Entities::Ci::ResetRegistrationTokenResult + end + post 'reset_registration_token' do + authorize! :update_runners_registration_token + + ApplicationSetting.current.reset_runners_registration_token! + present ApplicationSetting.current_without_cache.runners_registration_token, with: Entities::Ci::ResetRegistrationTokenResult + end + end + + params do + requires :id, type: String, desc: 'The ID of a project' + end + resource :projects, requirements: API::NAMESPACE_OR_PROJECT_REQUIREMENTS do + before { authenticate_non_get! } + + desc 'Resets runner registration token' do + success Entities::Ci::ResetRegistrationTokenResult + end + post ':id/runners/reset_registration_token' do + project = find_project! user_project.id + authorize! :update_runners_registration_token, project + + project.reset_runners_token! + present project.runners_token, with: Entities::Ci::ResetRegistrationTokenResult + end + end + + params do + requires :id, type: String, desc: 'The ID of a group' + end + resource :groups, requirements: API::NAMESPACE_OR_PROJECT_REQUIREMENTS do + before { authenticate_non_get! } + + desc 'Resets runner registration token' do + success Entities::Ci::ResetRegistrationTokenResult + end + post ':id/runners/reset_registration_token' do + group = find_group! user_group.id + authorize! :update_runners_registration_token, group + + group.reset_runners_token! + present group.runners_token, with: Entities::Ci::ResetRegistrationTokenResult + end + end + helpers do def filter_runners(runners, scope, allowed_scopes: ::Ci::Runner::AVAILABLE_SCOPES) return runners unless scope.present? |