diff --git a/Gemfile b/Gemfile index fa62a395a..c791291a1 100644 --- a/Gemfile +++ b/Gemfile @@ -141,4 +141,4 @@ gem 'doorkeeper' gem 'doorkeeper-jwt' -gem 'gitea-client', '~> 1.5.7' +gem 'gitea-client', '~> 1.5.8' diff --git a/app/controllers/api/v1/projects/actions/runs_controller.rb b/app/controllers/api/v1/projects/actions/runs_controller.rb index ff7c28e85..9d0cdb8b0 100644 --- a/app/controllers/api/v1/projects/actions/runs_controller.rb +++ b/app/controllers/api/v1/projects/actions/runs_controller.rb @@ -5,6 +5,17 @@ class Api::V1::Projects::Actions::RunsController < Api::V1::Projects::Actions::B puts @result_object end + def create + return render_error("请输入正确的流水线文件!") if params[:workflow].blank? + return render_error("请输入正确的分支!") if params[:ref].blank? + gitea_result = $gitea_hat_client.post_repos_actions_runs_by_owner_repo(@project&.owner&.login, @project&.identifier, {query: {workflow: params[:workflow], ref: params[:ref]}}) + if gitea_result + render_ok + else + ender_error("启动流水线任务失败") + end + end + def rerun return render_error("请输入正确的流水线记录ID!") if params[:run_id].blank? gitea_result = $gitea_hat_client.post_repos_actions_runs_rerun_by_owner_repo_run(@project&.owner&.login, @project&.identifier, params[:run_id]) rescue nil diff --git a/config/routes/api.rb b/config/routes/api.rb index 4254d4ce6..6d5aded88 100644 --- a/config/routes/api.rb +++ b/config/routes/api.rb @@ -140,7 +140,7 @@ defaults format: :json do collection do post :disable post :enable - resources :runs, only: [:index] do + resources :runs, only: [:index, :create] do post '/jobs/:job', to: 'runs#job_show' post '/rerun', to: 'runs#rerun' post '/jobs/:job/rerun', to: 'runs#job_rerun'