Module: Jenkins

Defined in:
lib/jenkins-rails.rb,
lib/jenkins-rails/railtie.rb,
lib/jenkins-rails/version.rb,
lib/jenkins-rails/configuration.rb

Defined Under Namespace

Classes: Configuration, Railtie

Constant Summary collapse

GEM_ROOT =
File.join(File.dirname(__FILE__), '..')
VERSION =
"0.0.2"

Class Method Summary collapse

Class Method Details

.clientObject



28
29
30
# File 'lib/jenkins-rails.rb', line 28

def self.client
  @client
end

.configurationObject



32
33
34
# File 'lib/jenkins-rails.rb', line 32

def self.configuration
  @configuration
end

.configure(options) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/jenkins-rails.rb', line 9

def self.configure(options)
  @configuration ||= Configuration.new(options[:config_file] || Rails.root.join('config', 'jenkins.yml'))
  jobs_params      = @configuration.params

  @client = JenkinsApi::Client.new(
    :server_ip   => @configuration.host,
    :server_port => @configuration.port,
    :username    => options[:username] || @configuration.username,
    :password    => options[:password] || @configuration.password
  )

  jobs_params.each do |job_params|
    client.job.fast_configure(job_params.merge(
                                                :name     => URI::encode(job_params[:name]),
                                                :username => @configuration.username
                                              ))
  end
end