Class: ForemanPipeline::Api::JenkinsInstancesController
- Inherits:
-
Katello::Api::V2::ApiController
- Object
- Katello::Api::V2::ApiController
- ForemanPipeline::Api::JenkinsInstancesController
- Includes:
- Rendering, Concerns::ApiControllerExtensions
- Defined in:
- app/controllers/foreman_pipeline/api/jenkins_instances_controller.rb
Instance Method Summary collapse
- #check_jenkins ⇒ Object
- #create ⇒ Object
- #destroy ⇒ Object
- #index ⇒ Object
- #index_relation ⇒ Object
- #set_jenkins_user ⇒ Object
- #show ⇒ Object
- #update ⇒ Object
Methods included from Concerns::ApiControllerExtensions
Methods included from Rendering
Instance Method Details
#check_jenkins ⇒ Object
95 96 97 98 99 100 101 |
# File 'app/controllers/foreman_pipeline/api/jenkins_instances_controller.rb', line 95 def check_jenkins task = sync_task(::Actions::ForemanPipeline::Jenkins::GetVersion, :id => @jenkins_instance.id, :name => @jenkins_instance.name) @jenkins_instance.server_version = task.output[:version] respond_for_show end |
#create ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'app/controllers/foreman_pipeline/api/jenkins_instances_controller.rb', line 42 def create @jenkins_instance = JenkinsInstance.new(jenkins_instance_params) @jenkins_instance.organization = @organization rollback = false JenkinsInstance.transaction do @jenkins_instance.save! task = sync_task(::Actions::ForemanPipeline::JenkinsInstance::CreateJenkinsInstanceKeys, :jenkins_url => jenkins_instance_params[:url], :cert_path => @jenkins_instance.cert_path, :jenkins_home => jenkins_instance_params[:jenkins_home]) @jenkins_instance.pubkey = task.output.fetch(:pubkey) @jenkins_instance.save! if task.output.fetch(:status) == 1 raise ActiveRecord::Rollback rollback = true end end if rollback fail ::Katello::HttpErrors::Conflict, "Could not access Jenkins server, are you sure you set up certificates?" else respond_for_show(:resource => @jenkins_instance) end end |
#destroy ⇒ Object
88 89 90 91 |
# File 'app/controllers/foreman_pipeline/api/jenkins_instances_controller.rb', line 88 def destroy @jenkins_instance.destroy respond_for_show(:resource => @jenkins_instance) end |
#index ⇒ Object
26 27 28 29 30 31 |
# File 'app/controllers/foreman_pipeline/api/jenkins_instances_controller.rb', line 26 def index respond_for_index(:collection => scoped_search(index_relation.uniq, params[:sort_by], params[:sort_order], :includes => jenkins_instance_includes)) end |
#index_relation ⇒ Object
33 34 35 36 37 |
# File 'app/controllers/foreman_pipeline/api/jenkins_instances_controller.rb', line 33 def index_relation query = JenkinsInstance.where(:organization_id => @organization.id) query = query.where(:name => params[:name]) if params[:name] query end |
#set_jenkins_user ⇒ Object
106 107 108 109 110 |
# File 'app/controllers/foreman_pipeline/api/jenkins_instances_controller.rb', line 106 def set_jenkins_user @jenkins_instance.jenkins_user = JenkinsUser.find(params[:jenkins_user_id]) @jenkins_instance.save! respond_for_show end |
#show ⇒ Object
82 83 84 |
# File 'app/controllers/foreman_pipeline/api/jenkins_instances_controller.rb', line 82 def show respond_for_show(:resource => @jenkins_instance) end |
#update ⇒ Object
73 74 75 76 77 78 |
# File 'app/controllers/foreman_pipeline/api/jenkins_instances_controller.rb', line 73 def update @jenkins_instance.update_attributes!(jenkins_instance_params.except(:url).except(:jenkins_home)) @jenkins_instance.save! respond_for_show(:resource => @jenkins_instance) end |