Project

General

Profile

Download (1.38 KB) Statistics
| Branch: | Tag: | Revision:

foreman_pipeline / app / controllers / foreman_pipeline / api / jenkins_project_params_controller.rb @ 937eb715

1
module ForemanPipeline
2
  class Api::JenkinsProjectParamsController < Katello::Api::V2::ApiController
3
    respond_to :json
4

    
5
    include Api::Rendering
6

    
7
    before_filter :find_jenkins_project_param, :only => [:update]
8

    
9
    api :PUT, "/organizations/:organization_id/jenkins_project_params/:id", N_("Update jenkins project param")
10
    param :organization_id, :number, :desc => N_("Organization identifier"), :required => true
11
    param :id, :number, :desc => N_("Jenkins project parameter identifier")
12
    param :name, String, :desc => N_("Parameter's name")
13
    param :type, ["boolean", "string", "text"], :desc => N_("Parameter's type")
14
    param :value, String, :desc => N_("Parameter's value")
15
    param :description, String, :desc => N_("Parameter's description")
16
    def update
17
      @jenkins_project_param.update_attributes!(jenkins_project_param_params)
18
      @jenkins_project_param.save!
19
      respond_for_show(:resource => @jenkins_project_param)
20
    end
21

    
22
    private
23
    
24
    def find_jenkins_project_param
25
      @jenkins_project_param = JenkinsProjectParam.find_by_id(params[:id])
26
      fail ::Katello::HttpErrors::NotFound, "Could not find Jenkins Project Param with id: #{params[:id]}" if @jenkins_project_param.nil?
27
      @jenkins_project_param
28
    end
29

    
30
    def jenkins_project_param_params
31
      params.require(:jenkins_project_param).permit(:name, :type, :value, :description)
32
    end
33
  end
34
end